Quero ver o conteúdo (lista de arquivos e pastas) de um arquivo, por exemplo, um tar.gz
arquivo sem extraí- lo.
Existem métodos para fazer isso?
command-line
Avinash Raj
fonte
fonte
tar -tvf xxx.tgz
isso também mostraria propriedades detalhadas dos arquivos.tree
ver uma exibição de árvoretar -tf filename.tar.gz | tree
unzip -l
/unrar -l
Você também pode usar o vim
fonte
ex +%p foo.tar.gz
.vim file.tar.gz
), ele diz "Selecione um arquivo com o cursor e pressione ENTER". Você faz exatamente isso, mova o cursor sobre um arquivo e pressione ENTER.less
também pode abrir arquivosgz
compactados e descompactadostar
. Também oferece umals -l
saída de estilo adorável :E como é
less
, você pode rolar, pesquisar, etc. No entanto, falha miseravelmente com outros algoritmos de compactação (na minha experiência).fonte
alias
opções especiais para oless
que não está sendo exibido aqui? Eu apenas tentei ver isso, mas não funcionou. Não tenho aliases configurados paraless
.Você pode usar o comando z:
zcat
,zless
,zgrep
.Para visualizar o conteúdo de um arquivo, use:
Para grep algo, use:
Para verificar a diferença entre os arquivos, use:
Estes são apenas alguns exemplos, existem muitos mais.
fonte
tar
A-t
bandeira de listará o conteúdo para você. Adicione isso aos seus outros sinalizadores (-tvfz
para atar.gz
,-tvfj
para atar.bz2
, etc) e você poderá navegar sem extrair. De lá, você pode extrair arquivos únicos com bastante facilidadeO grande problema
tar
é lembrar todas as outras bandeiras . Por isso, costumo confiar em7z
(dop7zip-full
pacote) para fazer todo o meu arquivamento. Não vou afirmar que é totalmente melhor, mas suporta quase tudo (sem precisar especificar o tipo de compactação) e os argumentos são lógicos.É certamente menos capaz, mas você não precisa da página de manual para usá-lo.
Há também Midnight Commander (
mc
). Este é um assunto geral para gerenciamento de arquivos quase gráfico baseado em terminal e, com alguns testes leves, permite navegar nos arquivos.tar.gz
e nos.7z
arquivos. Não tenho certeza de quantos outros ele suporta.fonte
Bem, isso depende do arquivo. A maioria dos programas de (des) compactação possui um sinalizador que lista o conteúdo de um arquivo.
tar
/tar.gz
/tgz
/tar.xz
/tar.bz2
/tbz
arquivoszip
arquivos7zip
arquivosrar
arquivosEsses são os formatos de arquivo mais populares. Com tudo isso em mente, você pode escrever um pequeno script que usa o comando apropriado, dependendo da extensão do arquivo que você atribui a ele:
Salve esse script no seu
PATH
e torne-o executável. Você pode listar o conteúdo de qualquer arquivo:E como alguém mencionou esse editor menor, naturalmente, o emacs também pode fazer isso:
fonte
Por que não usar
vim
para procurar seu arquivo morto e abrir arquivos (pelo menos arquivos semelhantes a texto):Pressione as teclas de seta para rolar e Enterabrir um arquivo.
fonte
O Midnight Commander (
mc
) também possui um bom visualizador de arquivos compactados, embora eu considere isso meio trapaceiro, já que o mc é um gerenciador de arquivos, embora seja baseado em texto.Além disso, se tudo o que você deseja é ver o que há dentro dos arquivos compactados, você pode aprender o comando "view" para cada compressor.
tar tzvf
mostrará o conteúdo de um arquivo tar,unzip -l
fará isso para um arquivo zip e assim por diante.fonte
Usar
view filename.tar.gz
também funcionará. da mesma maneira que o vim, mas sem permissões de gravação.fonte
lesspipe
é um script de shell instalado por padrão como parte doless
pacote que pode listar o conteúdo de umtar.gz
arquivo morto, além de vários outros formatos comuns de arquivo morto.É chamado pelo
less
comando ( consulte a resposta de Oli ) como um pré-processador de entrada se a$LESSOPEN
variável de ambiente estiver configurada adequadamente.Se estiver se aventurando, dê uma olhada em
vi /usr/bin/lesspipe
quais comandos ele usa. Para arquivos que correspondem àtar.gz
extensão, podemos ver que ele é usadotar tzvf
sob o capô, juntamente com a--force-local
opção de desativar um recurso obscurotar
que, de outra forma, confundir dois pontos no nome do arquivo com um comando para usar uma unidade de fita remota:Observe que, como foi desenvolvido principalmente como pré-processador
less
, não produzirá nada se não reconhecer o tipo de arquivo. Notei que alguns.tar.gz
arquivos que baixei não funcionavam porque na verdade não usavam a compactação gzip, apesar do nome do arquivo.fonte
Se você deseja visualizar o conteúdo de um arquivo específico dentro de um archive sem extrair o archive ou gravar no disco de qualquer forma, use o sinalizador -O (capital o) para gravar no stdout em vez de em um arquivo.
Verifique se o O vem antes do f ou ele tenta analisar o O como um nome de arquivo.
fonte