web-dev-qa-db-fra.com

À quoi sert 'chat'?

J'ai vu la commande cat apparaître dans certains éléments en ligne et j'étais curieux de savoir ce que cata fait et ce qu'il en est dans le contexte de quelqu'un qui ne fait que de simples éléments en ligne de commande.

9
cosmoflop12

Le but principal de cat est de con cat enate fichiers. cat file1 file2 ... montrera le contenu de file, file2 et les autres les uns après les autres, comme si le contenu était dans un seul fichier. Voir le manpage :

NAME
       cat - concatenate and print files

Il est destiné à une utilisation où soit:

  • une commande cible ne peut pas lire à partir de fichiers et vous devez lui transmettre plusieurs fichiers. Un exemple est l'utilitaire tr . Ordinairement, avec un fichier, vous feriez:

    tr < file
    

    Mais avec plusieurs fichiers, la redirection ne peut pas être utilisée, vous devez donc faire:

    cat file1 file2 ... | tr
    
  • une commande cible peut lire à partir de plusieurs fichiers, mais son comportement peut changer si plusieurs fichiers lui sont attribués. Un exemple est wc , qui imprime les comptes de chaque fichier, ainsi que les noms de fichiers, où vous auriez peut-être voulu le total, sans nom de fichier.

N'oubliez pas que la plupart des commandes que vous rencontrez (grep, sed, awk, sort, ...) permettent de lire des fichiers parfaitement.

Si vous voulez voir le contenu d'un fichier, utilisez un pager - less et more sont tous deux éminemment capables de présenter des fichiers pour les visualiser, et sont beaucoup plus pratiques à utiliser.

10
muru

cat est l'une des commandes les plus fréquemment utilisées sur les systèmes d'exploitation de type Unix. Il a trois fonctions liées en ce qui concerne les fichiers texte:

  1. les afficher
  2. en combinant des copies
  3. en créer de nouveaux.
  4. Copier des fichiers

la syntaxe générale de cat est la suivante:

cat [options] [filenames] [-] [filenames]

Lecture de fichiers

L'utilisation la plus courante de cat est de lire le contenu des fichiers, et cat est souvent le programme le plus pratique à cette fin. Pour ouvrir un fichier texte afin de le visualiser sur l’écran d’affichage, il suffit de taper le mot cat, suivi d’un espace et du nom du fichier, puis d’appuyer sur la touche Entrée. Par exemple, ce qui suit affichera le contenu d’un fichier nommé fichier1:

cat file1

Enchaînement

Le deuxième rôle du chat est la concaténation. (C'est la source du nom curieux du chat.) Il n'y a aucun effet sur les fichiers originaux.

Par exemple, la commande suivante concaténera des copies du contenu des trois fichiers fichier1, fichier2 et fichier3:

cat file1 file2 file3

Le contenu de chaque fichier sera affiché sur l'écran du moniteur. Cette sortie pourrait tout aussi facilement être redirigée à l'aide de l'opérateur de redirection de sortie vers un autre fichier, tel que fichier4, à l'aide des éléments suivants:

cat file1 file2 file3 > file4

Création de fichier

Merci à @ mur commentaire: cat est capable de créer de nouveaux fichiers en fonction de la fonctionnalité de redirection du shell et non de lui-même

Pour les petits fichiers, cela est souvent plus facile que d'utiliser vi, gedit ou d'autres éditeurs de texte. Pour ce faire, tapez cat suivi de l’opérateur de redirection de sortie et du nom du fichier à créer, puis appuyez sur ENTER et enfin en appuyant simultanément sur la Ctrl Et d clés.

Par exemple, un nouveau fichier nommé file1 peut être créé en tapant

cat > file1

puis appuyez ENTER et appuyez simultanément sur la Ctrl Et d clés.

PS1: Si un fichier nommé fichier1 existe déjà, il sera écrasé

PS2: vous pouvez ajouter un fichier au fichier sortant à l'aide de l'opérateur opérateur >> exemple cat >> fichier1 .

Copier des fichiers

La commande cat peut également être utilisée ( en fonction de sur la fonction de redirection de shell) pour créer un nouveau fichier et lui transférer les données à partir d'un fichier existant. Exemple: faire une copie du fichier oldfile.txt:

cat oldfile.txt > newfile.txt

Références:

8
Maythux

Il peut être utilisé pour afficher le contenu d'un fichier. Exemple: cat "my file.txt". Vous pouvez également faire man cat pour vous montrer les détails de ce que cat peut être utilisé.

1
Puneet Gill

Voici autre moyen pour la création de fichiers à l'aide de la redirection Shell (ou de la tuyauterie) et de catname__:

cat << EOF > foo.sh
#!/bin/sh
echo 'Hello World!'
EOF

cat << EOF affichera les lignes suivantes jusqu'à ce que la chaîne EOFsoit retrouvée. Ensuite, > (>>) redirigera la sortie vers le fichier foo.sh. Si vous devez créer un fichier en tant que root, vous pouvez également diriger la sortie vers la commande tee(tee -a), exécutée par la commande Sudoname__:

cat << EOF | Sudo tee foo.sh && Sudo chmod +x foo.sh
#!/bin/sh
HELLO='Hello World!'
echo "\$HELLO"
EOF
  • Ce qui précède rendra le fichier exécutable (chmod +x) s'il a été créé avec succès (&&).
  • La signification particulière de certains caractères (tels que $) devrait être évitée (avec \) dans la sortie de catname__.
0
pa4080