351 votes

Comment puis-je visualiser le contenu d'un fichier tar.gz sans l'extraire à partir de la ligne de commande ?

Je souhaite voir le contenu (liste des fichiers et des dossiers) d'une archive, par exemple une tar.gz fichier sans extraire il.

Existe-t-il des méthodes pour y parvenir ?

9voto

Mufaka Points 54

tar 's -t Le drapeau énumérera le contenu pour vous. Ajoutez cela à vos autres drapeaux (ainsi -tvfz pour un tar.gz , -tvfj pour un tar.bz2 etc) et vous pouvez naviguer sans extraire. À partir de là, vous pouvez extraire des fichiers individuels assez facilement.

tar -xvfz mybackup.tar.gz path/to/file

Le gros problème avec tar es en se souvenant de tous les autres drapeaux . Donc je me fie habituellement à 7z (de la p7zip-full ) pour faire tout mon archivage. Je ne prétends pas qu'il est entièrement meilleur, mais il supporte presque tout (sans avoir à spécifier le type de compression) et les arguments sont logiques.

7z l archive.ext
7z e archive.ext path/to/file

Il est certainement moins performant, mais vous n'avez pas besoin de la page de manuel pour l'utiliser.

Il y a aussi Midnight Commander ( mc ). Il s'agit d'une solution complète pour la gestion de fichiers basée sur un terminal quasi-graphique et, après quelques tests légers, elle vous permet de naviguer dans les deux environnements suivants .tar.gz y .7z archives. Je ne suis pas sûr du nombre d'autres qu'il prend en charge.

7voto

Sylvain Pineau Points 59212

Pourquoi ne pas utiliser vim pour parcourir votre archive et ouvrir des fichiers (au moins des fichiers de type texte) :

vim archive.tar.gz

enter image description here

Appuyez sur les touches fléchées pour faire défiler et Enter pour ouvrir un fichier.

5voto

roadmr Points 32606

Midnight Commander ( mc ) dispose également d'une bonne visionneuse de fichiers compressés, bien que je considère cela comme un peu de triche puisque mc es un gestionnaire de fichiers, bien qu'il soit basé sur le texte.

De plus, si tout ce que vous voulez est de voir ce que contiennent les archives compressées, vous pouvez apprendre la commande "view" pour chaque compresseur. tar tzvf vous montrera le contenu d'un fichier tar, unzip -l le fera pour un fichier zip, et ainsi de suite.

5voto

anjsimmo Points 151

lesspipe est un Shell Shell installé par défaut en tant que partie intégrante de l'environnement de l'utilisateur. less qui peut lister le contenu d'un tar.gz ainsi qu'une série d'autres formats de fichiers d'archives courants.

$ lesspipe example.tar.gz
drwxrwxr-x ubuntu/ubuntu     0 2018-11-16 05:32 example/
-rw-rw-r-- ubuntu/ubuntu     7 2018-11-16 05:32 example/ask.txt
-rw-rw-r-- ubuntu/ubuntu     7 2018-11-16 05:32 example/ubuntu.txt

Il est appelé par le less ( voir la réponse d'Oli ) en tant que préprocesseur d'entrée si l'option $LESSOPEN est définie de manière appropriée.

Si vous vous sentez l'âme d'un aventurier, jetez un coup d'oeil à vi /usr/bin/lesspipe pour voir quelles commandes il utilise. Pour les fichiers correspondant à l'option tar.gz on peut voir qu'il utilise tar tzvf sous le capot, ainsi que le --force-local option pour désactiver une fonction obscure de tar qui seraient autrement confuses les deux points dans le nom du fichier avec une commande pour utiliser un lecteur de bande distant :

*.tar.gz|*.tgz|*.tar.z|*.tar.dz)
        tar tzvf "$1" --force-local

Notez que parce qu'il est principalement conçu comme un préprocesseur pour less il ne produira rien s'il ne reconnaît pas le type de fichier. J'ai remarqué que certains .tar.gz Les fichiers que j'ai téléchargés ne fonctionnaient pas parce qu'ils n'utilisaient pas réellement la compression gzip malgré le nom du fichier.

3voto

Jeff Points 1446

Utilisation de view filename.tar.gz fonctionnera également, de la même manière que vim, mais sans droits d'écriture.

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X