Afficher la liste des fichiers de l’archive ZIP sous Linux

407

Comment visualiser la liste des fichiers d'une archive ZIP sans la décompresser?

Danidacar
la source
Est-il possible de faire la même chose pour une archive Unix normale? (tar / gzip / bz2 / etc)
ThorSummoner
tar tvf. si .gz, ajoutez un z. Pour bz2, ajoutez j. Beaucoup plus, consultez la page de manuel.
UtahJarhead

Réponses:

470

L' lessutilitaire est capable de jeter un coup d'oeil dans une ziparchive. En fait, si vous regardez les résultats de unzip -l zipfileet less zipfile, vous constaterez qu’ils sont identiques.

Ayaz
la source
98
Notez que less zipfilesur MacOS-X, le contenu du fichier binaire est affiché, de sorte que vous voyez beaucoup de déchets au lieu du contenu du fichier zip. Alors vous devriez opter pour le `` ùnzip -l zipfile```
heiglandreas
10
@ayaz Dans quel système moins les fichiers zip sont-ils listés? Je vois des commentaires indiquant que cela ne fonctionne pas sur MAC, Ubuntu et ici j'utilise Debian. Debian affiche également des déchets binaires.
Dr Beco
12
Dans Ubuntu, essayez view [zipfile].
Samuel Lampa
4
FAUX. unzip -l fonctionne bien pour afficher les fichiers dans une archive zip, mais moins de contenus binaires sont souvent générés, ce qui est bien sûr désastreux.
Arturas M
17
Vous devez lesspipeinstaller l' assistant pour activer la prise en charge des fichiers zip à moindre coût. Il est standard sur de nombreux systèmes Linux mais pas sur OSX, mais vous pouvez l'installer avec Brew.
Pimlottc
112

Essayer unzip -l files.zip | less

Voir aussi man unzippour plus d'options

Ken Ratanachai S.
la source
6
Vous pouvez ignorer le tuyau à lesscommander. C'est une excellente idée dans une grande collection de fichiers, cependant.
Omar
65

Pour lister le contenu du zip:

zipinfo -1 myzipfile.zip

Pour une sortie détaillée:

zipinfo myzipfile.zip
kinornirvana
la source
7
Bonne réponse, vous n'avez pas à analyser la sortie uniquement pour obtenir les noms de fichiers.
Antoine Pelisse
34

Veuillez utiliser

vim ZIP_FILE_NAME

pour le même. C’est un moyen simple et facile à retenir.

Rajasekhar Tolety
la source
5
Nice, cela permet également d'ouvrir des fichiers individuels dans les archives sans le décompresser.
user3885927
Assez inattendu et extrêmement pratique! Merci!
Pierre
En fait: cela ne fonctionnera pas si unzipn’est pas installé sur le système. En plus de ça, génial!
Sjas
13

Vous pouvez faire le zip apparaître comme un répertoire (dans lequel vous utilisez cd, lsetc.) par le montage avec le fusible zip système de fichiers virtuel.

mkdir foo.d
fuse-zip foo.zip foo.d
ls foo.d
cat foo.d/README
...
fusermount -u foo.d
rmdir foo.d

AVFS est un autre système de fichiers FUSE pertinent . Il crée une vue de la totalité de la hiérarchie de vos répertoires, où toutes les archives ont un répertoire associé (le même nom est ajouté à la fin) qui semble contenir le contenu de l'archive.#

mountavfs
ls ~/.avfs/$PWD/foo.zip\#
cat ~/.avfs/$PWD/foo.zip\#/README
...
umountavfs

De nombreux gestionnaires de fichiers modernes (par exemple, Nautilus, Dolphin) affichent le contenu des archives de manière transparente.

AVFS est en lecture seule. Fuse-zip est en lecture-écriture, mais sachez que les modifications ne sont écrites dans le fichier zip qu'au moment du démontage. Ne commencez donc pas à lire l'archive car elle ne sera pas modifiée avant son fusermount -uretour.

Gilles
la source
Nice, Giles. Merci. Juste un rapide: peut-on ajouter des fichiers en tapant "cp" dans le répertoire?
Dr Beco
@DrBeco Avec fuse-zip, oui. Avec avfs, non.
Gilles
9

Au moins dans Ubuntu, la commande la plus simple est probablement la suivante:

view [zipfile]

Cela ouvrira la liste des fichiers dans votre éditeur de texte standard (nano, vim, etc.).

Samuel Lampa
la source
2

C'est en fait unzip -l file.zip | grep "search"ou si vous avez beaucoup de fichiers

for i in `ls *zip`; do 
  unzip -l $i | grep "search"; 
done

Mise à jour: changé de '-p' en '-l' afin de rechercher des fichiers.

Rob
la source
2

Si vous êtes plus orienté graphiquement, Midnight Commander peut également parcourir les fichiers zip comme s'il s'agissait de répertoires classiques.

Charles Burge
la source
1

Une solution plus complète: vim || Emacs

La réponse précédente de @kinORnirvana est ma préférée pour produire un fichier avec le contenu d’une archive zip.

zipinfo [-1] archive.zip > archive_content.txt

Cependant, je recommande vim ou emacs (pas nano) si vous avez besoin de naviguer dans un fichier d’archive ou même d’afficher le contenu d’un fichier qu’il contient.

vim archive.zip

Cette approche fonctionne également avec d'autres formats d'archives:

vim file.tar
vim file.tar.gz
vim file.tar.bz2

Avec vim ou emacs, vous pouvez:

  • parcourir la structure de répertoire du fichier archive.
  • voir le contenu de n'importe quel fichier à l'intérieur du fichier archive.

entrez la description de l'image ici

ePi272314
la source
0

(yaa) Encore une autre réponse:

Alias ​​cette commande:

alias vless='/usr/share/vim/vim73/macros/less.sh'

et vous pouvez utiliser vless file.zippour tirer parti de vi(ou vim) moins de script.

(bon aussi pour substituer moins, afin que vous puissiez avoir des couleurs)

Dr Beco
la source
1
less -R ne soutenir couleurs ANSI.
Sylvain Leroux