GNU/Linux >> Tutoriels Linux >  >> Linux

Premiers pas avec la commande Linux cat

Chat est un outil assez simple conçu pour concaténer et écrire des fichiers sur votre écran, connu sous le nom de sortie standard (stdout). Il fait partie de GNU Core Utils publié sous la licence GPLv3+. Vous pouvez vous attendre à le trouver dans à peu près n'importe quelle distribution Linux ou autre environnement d'exploitation Unix, tel que FreeBSD ou Solaris. L'utilisation la plus simple de chat est d'afficher le contenu d'un fichier. Voici un exemple avec un fichier nommé hello.world :

$ ls
hello.world
$ cat hello.world
Hello World !

$

Le Terminal Linux

  • Les 7 meilleurs émulateurs de terminaux pour Linux
  • 10 outils de ligne de commande pour l'analyse de données sous Linux
  • Télécharger maintenant :Aide-mémoire SSH
  • Aide-mémoire des commandes Linux avancées
  • Tutoriels de ligne de commande Linux

La façon la plus courante d'utiliser le chat La commande sert à afficher les fichiers de configuration, tels que ceux de /etc annuaire. Le chat La commande affichera un fichier sans risquer de l'endommager. Si j'ouvre un fichier de configuration critique à l'aide d'un éditeur tel que Vi ou Nano, je pourrais par inadvertance apporter des modifications indésirables au fichier. Le chat command n'est pas un éditeur et ne présente donc aucun risque d'apporter des modifications au contenu d'un fichier.

Si j'ai besoin d'afficher un fichier plus long, je peux utiliser un tuyau avec le more commande :

$ cat <somelongfile> | more 

Chat peut afficher plusieurs fichiers en même temps. Si nous voulons voir deux fichiers—hello.world et au revoir.monde —nous inclurions les deux noms de fichiers comme arguments dans la commande :

$ chat bonjour.monde au revoir.monde
Bonjour le monde !

Au revoir le monde !

$

Chat peut également numéroter les lignes d'un fichier lors de la sortie. Il existe deux commandes pour ce faire, comme indiqué dans la documentation d'aide :

-b, --number-nonblank    nombre de lignes de sortie non vides, remplace -n
-n, --number             numérote toutes les lignes de sortie

Si j'utilise le -b commande avec hello.world fichier, la sortie sera numérotée comme ceci :

$ cat -b hello.world
     1  Hello World !

$

Dans l'exemple ci-dessus, il y a une ligne vide. Nous pouvons déterminer pourquoi cette ligne vide apparaît en utilisant le -n argument :

$ cat -n hello.world
     1  Hello World !
     2
$

Nous voyons maintenant qu'il y a une ligne vide supplémentaire. Ces deux arguments fonctionnent sur la sortie finale plutôt que sur le contenu du fichier, donc si nous devions utiliser le -n avec les deux fichiers, la numérotation comptera les lignes comme suit :

$ cat -n hello.world goodbye.world
     1  Hello World !
     2 
     3  Good Bye World !
     4
$

Une autre option qui peut être utile est -s pour squeeze-blank . Cet argument indique à chat pour réduire la sortie de lignes vides répétées à une seule ligne. Ceci est utile lors de la révision de fichiers contenant de nombreuses lignes vides, car cela permet d'afficher plus de texte à l'écran. Supposons que j'ai un fichier avec trois lignes espacées de plusieurs lignes vides, comme dans cet exemple, greetings.world :

$ cat greetings.world
Salutations monde !




Emmenez-moi voir votre chef !




Nous venons en paix !
$

Utilisation du -s l'option économise de l'espace à l'écran :

$ cat -s greetings.world
Salutations Monde !

Emmenez-moi voir votre chef !

Nous venons en paix !
$

Chat est souvent utilisé pour copier le contenu d'un fichier dans un autre fichier. Vous vous demandez peut-être : " Pourquoi ne pas simplement utiliser cp ? ?" Voici comment je pourrais créer un nouveau fichier, appelé both.files , qui contient le contenu du hello et au revoir fichiers :

$ cat hello.world goodbye.world> les deux.fichiers
$ cat les deux.fichiers
Bonjour le monde !

Au revoir le monde !

$

zcat

Il existe une autre variante du chat commande appelée zcat . Cette commande est capable d'afficher les fichiers qui ont été compressés avec Gzip sans avoir besoin de décompresser les fichiers avec le gunzip commande. Soit dit en passant, cela préserve également l'espace disque, qui est la seule raison pour laquelle les fichiers sont compressés !

Le zcat La commande est un peu plus excitante car elle peut faire gagner un temps considérable aux administrateurs système qui passent beaucoup de temps à examiner les fichiers journaux du système. Où pouvons-nous trouver des fichiers journaux compressés ? Jetez un œil à /var/log sur la plupart des systèmes Linux. Sur mon système, /var/log contient plusieurs fichiers, tels que syslog.2.gz et syslog.3.gz . Ces fichiers sont le résultat du système de gestion des journaux, qui fait pivoter et compresse les fichiers journaux pour économiser de l'espace disque et empêcher les journaux d'atteindre des tailles de fichiers ingérables. Sans zcat , je devrais décompresser ces fichiers avec le gunzip commande avant de les visualiser. Heureusement, je peux utiliser zcat :

$ cd /var/log
$ ls *.gz
syslog.2.gz  syslog.3.gz
$
$ zcat syslog.2.gz |plus
30 janvier 00:02:26 poste de travail systemd[1850] :Démarrage de GNOME Terminal Server...
30 janvier 00:02:26 poste de travail dbus-daemon[1920] :[session uid=2112 pid=1920] Service
activé avec succès 'org.gnome.Terminal'
30 janvier 00:02:26 poste de travail systemd[1850] :démarrage de GNOME Terminal Server.
30 janvier 00:02:26 poste de travail org.gnome.Terminal.desktop[2059] :# watch_fast :"/org/gno
me/terminal/legacy/" (établissement :0, actif :0)
30 janvier 00:02 :26 poste de travail org.gnome.Terminal.desktop[2059] :# unwatch_fast :"/org/g
nome/terminal/legacy/" (actif : 0, établissement :1)
30 janvier 00:02 :26 poste de travail org.gnome.Terminal.desktop[2059] :# watch_established :"/
org/gnome/terminal/legacy/" (établissement :0)
--Plus--

Nous pouvons également transmettre les deux fichiers à zcat si nous voulons passer en revue les deux sans interruption. En raison du fonctionnement de la rotation des journaux, vous devez passer les noms de fichiers dans l'ordre inverse pour préserver l'ordre chronologique du contenu du journal :

$ ls -l *.gz
-rw-r----- 1 adm syslog  196383 31 janvier 00:00 syslog.2.gz
-rw-r----- 1 adm syslog 1137176 30 janvier 00:00 syslog.3.gz
$ zcat syslog.3.gz syslog.2.gz |plus

Le chat La commande semble simple mais est très utile. Je l'utilise régulièrement. Vous n'avez pas non plus besoin de le nourrir ou de le caresser comme un vrai chat. Comme toujours, je vous suggère de revoir les pages de manuel (man cat ) pour le chat et zcat commandes pour en savoir plus sur son utilisation. Vous pouvez également utiliser le --help argument pour un résumé rapide des arguments de la ligne de commande.


Linux
  1. Planification des tâches avec la commande Linux cron

  2. Planifier une tâche avec la commande Linux at

  3. Premiers pas avec les pare-feux Linux

  4. Premiers pas avec la commande Linux tac

  5. Premiers pas avec PostgreSQL sous Linux

Utilisation de la commande Cat sous Linux avec des exemples

Premiers pas avec le système d'exploitation Linux

Tutoriel Vagrant - Premiers pas avec Vagrant sous Linux

Premiers pas avec VirtualBox sous Linux - Partie 1

Premiers pas avec les exemples de commandes Alpine Linux Apk

Premiers pas avec la commande Tar