Comment afficher le contenu d'une archive en ligne de commande

Bonjour,

Les formats de compressions que je connais sont les suivant :
.tar.gz
.tar.bz
.tar.xz

Si vous en connaissez de nouveau et surtout ceux qui sont les plus utilisés je suis preneur.
Le problème :
Je souhaite afficher le contenu de l’archive sans la décompresser en ligne de commande .
Comment je fais ?
Actuellement la seule solution que j’ai trouvé est :
vim nom-archive
CTRL + C (interruption)
Et ensuive je vois le contenu de l’archive mais je ne comprends pas pourquoi je suis obligé de faire un CTRL + C.
Avez vous une explication ?

Bonjour Tartuff,

Il existe aussi le format de compression ZIP.

L’option -l de la commande unzip te permet de lister les fichiers d’une archive ZIP.

clem@debian:~/Bureau$ unzip -l test.zip
Archive:  test.zip
  Length      Date    Time    Name
---------  ---------- -----   ----
        5  2021-12-04 17:54   test.txt
        5  2021-12-04 17:54   test2.txt
---------                     -------
       10                     2 files

Clément

Pour la commande tar, il y a une option --list :

-t, --list
       List the contents of an archive.  Arguments are optional. 
       When given, they specify the names of the members to list.

Ne sied-elle pas à ton besoin ?

Bonjour @Almtesh ,

C’est une option de la commande tar.
Ainsi je pense que c’est pour lister les fichiers ou répertoires de l’archives au moment ou tu fais l’archive.
Or moi ce que je veux c’est une fois l’archive terminer pouvoir la lire.

Oui, j’ai mis un extrait du manuel de la commande tar.

Non, ça, c’est l’option --verbose :

-v, --verbose
       Verbosely list files processed.  Each instance of this option
       on the command line increases the verbosity level by one.  The
       maximum verbosity level is 3.  For a detailed discussion of
       how various verbosity levels affect tar's output, please
       refer to GNU Tar Manual, subsection 2.5.1  "The
       --verbose Option".

ou, à la limite, l’option --verify :

-W, --verify
       Verify the archive after writing it.

Si tu veux extraire le contenu d’un archive avec tar, c’est l’option --extract :

-x, --extract, --get
       Extract files from an archive.  Arguments are optional.  When given, they specify names of the archive members to be extracted.

mais

du coup, c’est --list.

┌ (almtesh@Thorn + 0) (05/12/21 - 6:55:32) (0.80 - 0%) (~/misc)
└% tar --list -f archive.tar.xz  
archive/
archive/Nouveau dossier/
archive/Nouveau dossier/LibreOffice Calc.ods
archive/Fichier texte.txt
archive/LibreOffice Writer.odt

ok j’ai pas encore testé.
Je verrai cela le week-end prochain.

ou, si tes doigts sont paresseux:
tar tf archive.tar.xz

Il existe aussi un compresseur .7z qui est utilisé pour les fichiers mammouth (par exemple, le format xz est limité à 4GO).
Mais il est préférable de continuer à utiliser .gz ou .xz parce qu’ils sont accompagnés d’outils utiles.
Par exemple, il existe zcat qui combine gunzip et cat. Il n’est pas nécessaire de décompresser sur disque.
Et il y a aussi zgrep qui combine gunzip et grep.
Pour les .xz, il y a xzcat et xzgrep.

Bonjour

Il y a aussi le pager less qui est bien plus pratique que la commande cat avec de gros fichiers, et donc, il existe aussi les commandes zless xzless


Depuis (plus de 20 ans) que j’utilise Midnight Commander (mc),
je n’ai aucun problème pour naviguer dans le contenu des fichiers compressés :
Une fois le fichier sélectionné, il me suffit d’appuyer sur la touche Entrée
c’est aussi facile à faire pour naviguer dans l’arborescence contenue dans un fichiers .iso
comme par exemple debian-11.1.0-amd64-netinst.iso

C’est tellement pratique, que j’en oublie toutes les options de compression/décompression qu’il me faudrait entrer en ligne de commande(s).