Comme nous avons vu dans l’article Compression sous linux, Nous utilisons les deux outils tar et gzip2 pour effectuer l’archivage et la compression pour faire du backup ou pour gagner de l’espace. Avec le temps vous risquez d’oublier le contenu ce qui a été archivé.
Pour voir alors le contenu des fichiers archivés et compressés, vous pouvez désarchiver et décompresser les fichiers ce qui semble assez simple pour les fichiers de petits tailles par contre ce n’est pas le cas pour ceux avec de grandes taille. Heureusement c’est n’est pas la seule moyen pour voir le contenu des fichiers compressés et archivés. Il existe aussi des commandes qui nous facilitent cette tâche.
C’est ce que nous allons découvrir au cours de ce tutoriel.
Voir le contenu d’un dossier archivé/compressé sans extraction :
Pour voir le contenu d’un répertoire archivé ayant comme extension .tar, utiliser la commande ci-dessous :
$ tar -tvf Repertoir_Archive.tar
Vous pouvez utiliser la même commande si le répertoire archivé est compressé :
$ tar -tvf Repertoir_Archive.tar.gz
$ tar -tvf Repertoir_Archive.tgz
Autre moyen pour voir le contenu d’archive est l’éditeur vim :
[root@srv ~]# vim Archive.tar
" tar.vim version v29 " Browsing tarfile /root/Archive.tar " Select a file with cursor and press ENTER Document/ Document/file1 Document/file2 Document/file3
Si vous souhaitez voir le contenu d’un fichier alors il suffit de le sélectionner avec le curseur et appuyer sur la touche Entrer
Vous pouvez aussi vous servir de la commande less :
[root@srv ~]# less archive_rep.tar
drwxr-xr-x root/root 0 2020-07-09 23:03 Document/ -rw-r--r-- root/root 0 2020-07-09 23:03 Document/file1 -rw-r--r-- root/root 0 2020-07-09 23:03 Document/file1 -rw-r--r-- root/root 0 2020-07-09 23:03 Document/file1
Voir le contenu d’un fichier compressé sans extraction :
Vous pouvez voir lire le contenu d’un fichier compressé avec des commande que vous connaissez probablement déja en ajoutant la lettre « z » au début.
La commande zcat :
C’est similaire à la commande cat mais pour les fichiers compressés. Dans l’exemple ci-dessous je souhaite jeter un coup d’œil sur un ancien fichier log compressé et au lieu de le décompresser, il suffit que j’utilise la commande zcat :
[root@srv log]# zcat secure-20200526.gz | more Mar 22 16:48:46 http1 sshd[7923]: Accepted password for root from 192.168.162.139 port 48192 ssh2 Mar 22 16:48:47 http1 sshd[7923]: pam_unix(sshd:session): session opened for user root by (uid=0) Mar 22 16:48:47 http1 useradd[7959]: new group: name=user-ansible, GID=1000 Mar 22 16:48:47 http1 useradd[7959]: new user: name=user-ansible, UID=1000, GID=1000, home=/home/user-ansible, shell=/bin/bash Mar 22 16:49:43 http1 sshd[7923]: Received disconnect from 192.168.162.139 port 48192:11: disconnected by user Mar 22 16:49:43 http1 sshd[7923]: Disconnected from 192.168.162.139 port 48192 Mar 22 16:49:43 http1 sshd[7923]: pam_unix(sshd:session): session closed for user root Mar 22 17:21:40 http1 sshd[8107]: Accepted password for user-ansible from 192.168.162.139 port 48198 ssh2 Mar 22 17:21:41 http1 sshd[8107]: pam_unix(sshd:session): session opened for user user-ansible by (uid=0) Mar 22 17:21:41 http1 sudo: user-ansible : user NOT in sudoers ; TTY=pts/1 ; PWD=/home/user-ansible ; USER=root ; COMMAND=/bin/sh -c echo BECOME-SUCCESS-wrlpqxfekgkrumwi ynlaewemnkbsdako; /usr/bin/python /home/user-ansible/.ansible/tmp/ansible-tmp-1584832186.16-6680655076530/AnsiballZ_user.py
zmore & zless :
Comme vous l’avez remarqué dans l’exemple précédent de zcat, j’ai utilisé la commande more avec pipe ( | ) vu que le fichier de log contient plusieurs ligne, à la place je peux la remplacer avec les deux commandes zmore & zless :
[root@srv log]# zmore secure-20200526.gz ------> secure-20200526.gz <------ Mar 22 16:48:46 http1 sshd[7923]: Accepted password for root from 192.168.162.139 port 48192 ssh2 Mar 22 16:48:47 http1 sshd[7923]: pam_unix(sshd:session): session opened for user root by (uid=0) Mar 22 16:48:47 http1 useradd[7959]: new group: name=user-ansible, GID=1000 Mar 22 16:48:47 http1 useradd[7959]: new user: name=user-ansible, UID=1000, GID=1000, home=/home/user-ansible, shell=/bin/bash Mar 22 16:49:43 http1 sshd[7923]: Received disconnect from 192.168.162.139 port 48192:11: disconnected by user Mar 22 16:49:43 http1 sshd[7923]: Disconnected from 192.168.162.139 port 48192 Mar 22 16:49:43 http1 sshd[7923]: pam_unix(sshd:session): session closed for user root Mar 22 17:21:40 http1 sshd[8107]: Accepted password for user-ansible from 192.168.162.139 port 48198 ssh2 Mar 22 17:21:41 http1 sshd[8107]: pam_unix(sshd:session): session opened for user user-ansible by (uid=0) Mar 22 17:21:41 http1 sudo: user-ansible : user NOT in sudoers ; TTY=pts/1 ; PWD=/home/user-ansible ; USER=root ; COMMAND=/bin/sh -c echo BECOME-SUCCESS-wrlpqxfekgkrumwi ynlaewemnkbsdako; /usr/bin/python /home/user-ansible/.ansible/tmp/ansible-tmp-1584832186.16-6680655076530/AnsiballZ_user.py . . . Mar 22 17:26:52 http1 sshd[8396]: Disconnected from 192.168.162.139 port 48212 Mar 22 17:26:52 http1 sshd[8392]: pam_unix(sshd:session): session closed for user user-ansible --Plus--
La commande zgrep :
la commande zgrep est similaire à celle de grep mais sur les fichiers compressés, vous pouvez donc chercher un mot directement sur les fichiers compressés sans avoir besoin de les décompresser, cool pas vrais !!
[root@srv log]# zgrep "authentication failure" secure-20200526.gz Mar 22 17:23:30 http1 sshd[7212]: pam_unix(sshd:auth): authentication failure; logname= uid=0 euid=0 tty=ssh ruser= rhost=192.168.162.139 user=user-ansible Mar 22 17:23:48 http1 sshd[7212]: pam_unix(sshd:auth): authentication failure; logname= uid=0 euid=0 tty=ssh ruser= rhost=192.168.162.139 user=user-ansible Mar 22 17:25:37 http1 sshd[7212]: pam_unix(sshd:auth): authentication failure; logname= uid=0 euid=0 tty=ssh ruser= rhost=192.168.162.139 user=user-ansible
Voilà j’espère que ce tuto vous a été utils, vous pouvez maintenant savoir ce qui est dans vos archive compressés sans avoir à les désarchiver/décompresser.
nmap : les 12 commandes que vous devez connaître
Protocole du routage
Netstat : Les 14 commandes les plus utilisées
Migration de CentOS 7 vers CentOS Stream
Fail2Ban : How to protect Linux services