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 ?
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 ?
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.
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.
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.
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.