Cet article fait partie de notre série Linux Astuces et Conseils, dans cet article nous couvrirons quelques utilisations de base de la commande cat (commande la plus fréquemment utilisée sous Linux) et de tac (inverse de la commande cat – affiche les fichiers dans l’ordre inverse) avec quelques exemples pratiques.
Lire aussi: 13 Exemples Utiles de la Commande ‘cat’ sous Linux
Utilisation de Base de la Commande Cat sous Linux
La commande cat, acronyme de Concaténer, est l’une des commandes les plus utilisées dans les systèmes *nix. L’utilisation la plus basique de la commande est de lire des fichiers et de les afficher sur stdout, c’est-à-dire afficher le contenu des fichiers sur votre terminal.
# cat file.txt

Une autre utilisation de la commande cat est de lire ou combiner plusieurs fichiers ensemble et envoyer la sortie à un moniteur comme illustré dans les exemples ci-dessous.
# cat file1.txt file2.txt file3.txt

La commande peut également être utilisée pour concaténer (joindre) plusieurs fichiers en un seul fichier en utilisant l’opérateur de redirection Linux “>”
.
# cat file1.txt file2.txt file3.txt > file-all.txt

En utilisant le redirigeur d’ajout, vous pouvez ajouter le contenu d’un nouveau fichier au bas du fichier-all.txt avec la syntaxe suivante.
# cat file4.txt >> file-all.txt

La commande cat peut être utilisée pour copier le contenu d’un fichier vers un nouveau fichier. Le nouveau fichier peut être renommé arbitrairement. Par exemple, copiez le fichier depuis l’emplacement actuel vers le répertoire /tmp/
.
# cat file1.txt > /tmp/file1.txt

Copiez le fichier de l’emplacement actuel vers le répertoire /tmp/
et changez son nom.
# cat file1.txt > /tmp/newfile.cfg

A less usage of the cat command is to create a new file with the below syntax. When finished editing the file hit CTRL+D
to save and exit the new file.
# cat > new_file.txt

Pour numéroter toutes les lignes de sortie d’un fichier, y compris les lignes vides, utilisez l’option -n
.
# cat -n file-all.txt

Pour afficher uniquement le numéro de chaque ligne non vide, utilisez l’option -b
.
# cat -b file-all.txt

Vous voulez en savoir plus sur la commande Linux cat ? alors lisez notre article sur 13 Exemples Utiles de Commande ‘cat’ sous Linux.
Apprenez Comment Utiliser la Commande Tac sous Linux
En revanche, une commande moins connue et moins utilisée dans les systèmes *nix est la commande tac
. Tac est pratiquement la version inverse de la commande cat
(également écrite à l’envers) qui imprime chaque ligne d’un fichier en commençant par la ligne du bas et en finissant par la ligne du haut sur la sortie standard de votre machine.
# tac file-all.txt

Une des options les plus importantes de la commande est représentée par l’option -s
, qui sépare le contenu du fichier en fonction d’une chaîne ou d’un mot-clé du fichier.
# tac file-all.txt --separator "two"

Ensuite, l’utilisation la plus importante de la commande tac est qu’elle peut être d’une grande aide pour déboguer les fichiers journaux, en inversant l’ordre chronologique des contenus des journaux.
$ tac /var/log/auth.log Or to display the last lines $ tail /var/log/auth.log | tac
Exemple de Sortie
tecmint@tecmint ~ $ tac /var/log/auth.log pr 6 16:09:01 tecmint CRON[17714]: pam_unix(cron:session): session closed for user root Apr 6 16:09:01 tecmint CRON[17714]: pam_unix(cron:session): session opened for user root by (uid=0) Apr 6 16:05:01 tecmint CRON[17582]: pam_unix(cron:session): session closed for user root Apr 6 16:05:01 tecmint CRON[17583]: pam_unix(cron:session): session closed for user root Apr 6 16:05:01 tecmint CRON[17583]: pam_unix(cron:session): session opened for user root by (uid=0) Apr 6 16:05:01 tecmint CRON[17582]: pam_unix(cron:session): session opened for user root by (uid=0) Apr 6 16:00:01 tecmint CRON[17434]: pam_unix(cron:session): session closed for user root ....
tecmint@tecmint ~ $ tail /var/log/auth.log | tac Apr 6 16:09:01 tecmint CRON[17714]: pam_unix(cron:session): session closed for user root Apr 6 16:09:01 tecmint CRON[17714]: pam_unix(cron:session): session opened for user root by (uid=0) Apr 6 16:05:01 tecmint CRON[17582]: pam_unix(cron:session): session closed for user root Apr 6 16:05:01 tecmint CRON[17583]: pam_unix(cron:session): session closed for user root Apr 6 16:05:01 tecmint CRON[17583]: pam_unix(cron:session): session opened for user root by (uid=0) Apr 6 16:05:01 tecmint CRON[17582]: pam_unix(cron:session): session opened for user root by (uid=0) Apr 6 16:00:01 tecmint CRON[17434]: pam_unix(cron:session): session closed for user root Apr 6 16:00:01 tecmint CRON[17434]: pam_unix(cron:session): session opened for user root by (uid=0) Apr 6 15:55:02 tecmint CRON[17194]: pam_unix(cron:session): session closed for user root Apr 6 15:55:01 tecmint CRON[17195]: pam_unix(cron:session): session closed for user root ...
Tout comme la commande cat
, la commande tac
fait un excellent travail dans la manipulation de fichiers texte, mais elle devrait être évitée dans d’autres types de fichiers, surtout les fichiers binaires ou les fichiers où la première ligne indique le programme qui l’exécutera.
Source:
https://www.tecmint.com/learn-linux-cat-command-and-tac-command/