Estou rodando em Unix. Eu tenho uma pasta que contém um conjunto de pastas e arquivos de texto. Desejo arquivar isso em um único arquivo compactado.
No entanto, por meio de comandos padrão do Unix, gostaria de ler a árvore de diretórios do arquivo e também ler um arquivo de texto específico desse diretório em tempo real, imprimindo em stdout, espero.
Isso é possível?
Responder1
Você pode usar tar
, por exemplo:
Para listar a árvore:
tar tf foo.tar.gz
(Eu tenho umroteiropara formatar a saída.)
Para extrair um arquivo específico para stdout:
tar xfO file.tar.gz path/to/txt
No Linux você pode usararquivos, um sistema de arquivos baseado em FUSE que permite acessar arquivos diretamente.
(Embora eu não tenha certeza se este é omesmoarchivefs que me lembro do Ubuntu há vários anos, mas também funcionava de maneira semelhante.)