Je souhaite voir le contenu (liste de fichiers et de dossiers) d'une archive, par exemple un tar.gz
fichier sans l'extraire .
Y a-t-il des méthodes pour le faire?
command-line
Avinash Raj
la source
la source
tar -tvf xxx.tgz
cela montrerait aussi les propriétés de détail des fichiers.tree
voir une vue d'arbretar -tf filename.tar.gz | tree
unzip -l
/unrar -l
Vous pouvez aussi utiliser vim
la source
ex +%p foo.tar.gz
.vim file.tar.gz
), il indique "Sélectionnez un fichier avec le curseur et appuyez sur ENTREE". Pour ce faire, déplacez le curseur sur un fichier et appuyez sur ENTREE.less
peut également ouvrir des archivesgz
compressées et non compresséestar
. Cela vous donne aussi une bellels -l
sortie de style:Et parce que c'est possible
less
, vous pouvez le parcourir, le rechercher, etc. Cependant, il échoue lamentablement avec d'autres algorithmes de compression (selon mon expérience).la source
alias
d’options spéciales pourless
ce que vous n’affichez pas ici? J'ai juste essayé de voir ça, mais ça n'a pas marché. Je n'ai aucun alias configuré pourless
.Vous pouvez utiliser la commande z:
zcat
,zless
,zgrep
.Pour afficher un contenu de fichiers, utilisez:
Pour utiliser quelque chose, utilisez:
Pour vérifier la différence entre les fichiers, utilisez:
Ce ne sont que quelques exemples, il y en a beaucoup plus.
la source
tar
Le-t
drapeau de ' listera le contenu pour vous. Ajoutez-le à vos autres drapeaux (donc-tvfz
pour untar.gz
,-tvfj
pour untar.bz2
, etc.) et vous pourrez naviguer sans extraire. De là, vous pouvez extraire des fichiers simples assez facilementLe gros problème avec
tar
se souvenir de tous les autres drapeaux . Donc, je compte habituellement sur7z
(dup7zip-full
paquet) pour faire tout mon archivage. Je ne prétends pas que c'est tout à fait meilleur, mais il supporte presque tout (sans avoir à spécifier le type de compression) et les arguments sont logiques.C'est certainement moins capable, 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 polyvalente pour la gestion de fichiers quasi-graphique basée sur un terminal et, avec quelques essais, elle vous permet simplement de naviguer dans les deux.tar.gz
et dans les.7z
archives. Je ne suis pas sûr de combien d'autres il prend en charge.la source
Cela dépend du fichier. La plupart des programmes de (dé) compression ont un indicateur qui répertorie le contenu d'une archive.
tar
/tar.gz
/tgz
/tar.xz
/tar.bz2
/tbz
fichierszip
des dossiers7zip
des dossiersrar
des dossiersC'est la plupart des formats d'archives les plus populaires. En gardant tout cela à l’esprit, vous pourriez écrire un petit script qui utilise la commande appropriée en fonction de l’extension du fichier que vous lui donnez:
Enregistrez ce script dans votre
PATH
et le rendre exécutable. Vous pouvez ensuite lister le contenu de n'importe quelle archive:Et puisque quelqu'un a mentionné que l'éditeur inférieur, naturellement, emacs peut aussi le faire:
la source
Pourquoi ne pas utiliser
vim
pour parcourir vos archives et ouvrir des fichiers (au moins des fichiers de type texte):Appuyez sur les touches fléchées pour faire défiler et Enterouvrir un fichier.
la source
Midnight Commander (
mc
) a également une bonne visionneuse de fichiers compressés, même si j’estime qu’il faut tricher, car mc est un gestionnaire de fichiers, même s'il est basé sur du texte.De plus, si tout ce que vous voulez, c'est voir ce qu'il y a dans les archives compressées, vous pouvez apprendre la commande "view" pour chaque compresseur.
tar tzvf
vous montrera le contenu d'un fichier tar, leunzip -l
fera pour un fichier zip, etc.la source
L'utilisation
view filename.tar.gz
fonctionnera également. de la même manière que vim, mais sans les permissions d’écriture.la source
lesspipe
est un script shell installé par défaut dans leless
package permettant de répertorier le contenu d'unetar.gz
archive, ainsi que de nombreux autres formats de fichiers d'archives courants.Il est appelé par la
less
commande ( voir la réponse d'Oli ) en tant que préprocesseur d'entrée si la$LESSOPEN
variable d'environnement est définie correctement.Si vous vous sentez aventureux, surveillez de près
vi /usr/bin/lesspipe
les commandes qu'il utilise. Pour les fichiers correspondant à l'tar.gz
extension, nous pouvons voir qu'il utilisetar tzvf
sous le capot avec la--force-local
possibilité de désactiver une fonctionnalité obscure detar
celle-ci qui confondrait les deux points du nom du fichier avec une commande permettant d'utiliser un lecteur de bande distant:Notez qu’étant donné qu’il est principalement conçu comme un préprocesseur
less
, il n’affiche rien s’il ne reconnaît pas le type de fichier. J'ai remarqué que certains.tar.gz
fichiers que j'avais téléchargés ne fonctionnaient pas car ils n'utilisaient pas la compression gzip malgré le nom du fichier.la source
Si vous souhaitez afficher le contenu d'un fichier spécifique dans une archive sans extraire l'archive ni écrire sur le disque, utilisez l'indicateur -O (capital o) pour écrire sur stdout au lieu d'un fichier.
Assurez-vous que le O vient avant le f ou il essaiera d'analyser le O comme un nom de fichier.
la source