Cet article fait partie de notre série Linux Tricks and Tips, dans cet article, nous couvrirons une utilisation de base de cat command (commande la plus fréquemment utilisée sous Linux) et tac (commande inverse de cat - imprimer les fichiers dans l'ordre inverse) avec quelques exemples pratiques.
Lire aussi : 13 exemples de commandes "cat" utiles sous Linux
Utilisation de base de la commande Cat sous Linux
Chat commande, acronyme de Concaténation , 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 du chat La commande consiste à 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 le “>”
Opérateur de redirection Linux.
# cat file1.txt file2.txt file3.txt > file-all.txt
En utilisant le redirecteur d'ajout, vous pouvez ajouter le contenu d'un nouveau fichier au bas du file-all.txt
avec la syntaxe suivante.
# cat file4.txt >> file-all.txt
Le chat La commande peut être utilisée pour copier le contenu du fichier dans un nouveau fichier. Le nouveau fichier peut être renommé arbitrairement. Par exemple, copiez le fichier de l'emplacement actuel vers /tmp/
répertoire.
# cat file1.txt > /tmp/file1.txt
Copiez le fichier de l'emplacement actuel vers /tmp/
répertoire et changez son nom.
# cat file1.txt > /tmp/newfile.cfg
Une moindre utilisation du chat La commande consiste à créer un nouveau fichier avec la syntaxe ci-dessous. Lorsque vous avez terminé d'éditer le fichier, appuyez sur CTRL+D
pour enregistrer et quitter le nouveau fichier.
# cat > new_file.txt
Pour numéroter toutes les lignes de sortie d'un fichier, y compris les lignes vides, utilisez le -n
commutateur.
# cat -n file-all.txt
Pour afficher uniquement le numéro de chaque ligne non vide, utilisez le -b
commutateur.
# cat -b file-all.txt
Vous voulez en savoir plus sur la commande Linux cat ? puis lisez notre article sur 13 exemples de commandes "cat" utiles sous Linux.
Apprenez à utiliser la commande Tac sous Linux
D'autre part, une commande moins connue et moins utilisée dans les systèmes *nix est tac
commande. Tac est pratiquement la version inverse de cat
commande (également orthographiée à l'envers) qui imprime chaque ligne d'un fichier en commençant par la ligne du bas et en terminant par la ligne du haut sur la sortie standard de votre machine.
# tac file-all.txt
L'une des options les plus importantes de la commande est représentée par le -s
commutateur, 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 tac La commande est qu'elle peut fournir une aide précieuse pour déboguer les fichiers journaux, en inversant l'ordre chronologique du contenu des journaux.
$ tac /var/log/auth.log Or to display the last lines $ tail /var/log/auth.log | tac
Exemple de sortie
[email protected] ~ $ 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 ....
[email protected] ~ $ 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 ...
Identique à cat
commande, tac
fait un excellent travail dans la manipulation de fichiers texte, mais cela devrait être évité dans d'autres types de fichiers, en particulier les fichiers binaires ou les fichiers où la première ligne indique le programme qui l'exécutera.