J'ai vu la commande cat apparaître dans certains éléments en ligne et j'étais curieux de savoir ce que cat
a 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.
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
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.
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:
la syntaxe générale de cat est la suivante:
cat [options] [filenames] [-] [filenames]
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
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
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 .
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:
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é.
Voici autre moyen pour la création de fichiers à l'aide de la redirection Shell (ou de la tuyauterie) et de cat
name__:
cat << EOF > foo.sh
#!/bin/sh
echo 'Hello World!'
EOF
cat << EOF
affichera les lignes suivantes jusqu'à ce que la chaîne EOF
soit 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 Sudo
name__:
cat << EOF | Sudo tee foo.sh && Sudo chmod +x foo.sh
#!/bin/sh
HELLO='Hello World!'
echo "\$HELLO"
EOF
chmod +x
) s'il a été créé avec succès (&&
).$
) devrait être évitée (avec \
) dans la sortie de cat
name__.