logo Debian Debian Debian-France Debian-Facile Debian-fr.org Forum-Debian.fr Debian ? Communautés logo inclusivité

Debian-facile

Bienvenue sur Debian-Facile, site d'aide pour les nouveaux utilisateurs de Debian.

Vous n'êtes pas identifié(e).


L'icône rouge permet de télécharger chaque page du wiki visitée au format PDF et la grise au format ODT → ODT PDF Export

cat

  • Objet : cat, commande permettant d'afficher le contenu d'un fichier

Présentation

Cette commande permet d'afficher le contenu d'un ou des fichiers sélectionnés, de plus, comme nous le verrons dans ce tuto, elle reste tellement simple et efficace que son emploi est très large et très étalé dans le temps avec très peu de modification.

Merci à Haricophile pour cette indication ! 8-)

Syntaxe

cat <nom du fichier>

Exemple

cat test.txt

Grâce à cette commande je peux voir le contenu du fichier test.txt

Si vous avez un fichier plus long que la taille de votre écran, alors je vous conseille d'utiliser l'option less, cette option vous permettra de stopper la lecture du fichier dans les limites de votre écran.

Exemple

cat test.txt | less

La commande cat contient d'autres options mais j'ai mis juste l’essentiel.

Vous pouvez aussi obtenir la page de man de la commande avec

man cat

Exemple

cat permet d'afficher le contenu de plusieurs fichiers, les uns à la suite des autres, c'est-à-dire de les concaténer !

Exemple

Créez 3 fichiers avec la Commande Echo.

echo salut > test1.txt
echo mon > test2.txt
echo coco > test3.txt

D'une seule commande cat, vous pouvez afficher le contenu des trois fichiers .txt les uns à la suite des autres ainsi :

cat test1.txt test2.txt test3.txt

Vous obtenez :

retour de la commande
  salut
  mon
  coco

Intéressant ! :-)

Exemples pratiques

cat - recherche dans de multiples fichiers

cat test1.txt test2.txt test3.txt | grep sa

Vous obtenez :

retour de la commande
  salut

cat - édition de fichier

La commande cat, combinée avec la commande Echo et la commande Chevron " > ", permet de créer un seul fichier rassemblant les informations d'un ou de plusieurs fichiers d'informations ou de sécurité.

Exemple :

cat /proc/cpuinfo > info_cpu.txt

Le fichier info_cpu.txt sera créé et rempli des informations concernant le cpu à fin de communication par réseau ou autres utilisations nécessitant de s'y référer.

cat - éditeur de texte

un exemple en user

Ces commandes sont à faire en session user.

On tape :

cat > ~/test4.txt <<EOF
Salut
mon
coco !
EOF
ATTENTION ! Le > (chevron) de début de ligne indique un retour chariot (aller à la ligne).

Nota : À l'intérieur de la ligne de commande cat, EOF est utilisée pour encadrer le début et la fin de “la partie rédactionnelle du texte”.

Les termes EOF (End Of File) sont conventionnels.
Vous pouvez tout aussi bien utiliser n'importe quoi comme chaîne_de_caractère, pourvu qu'elle soit répétée au début et à la fin de l'écrit proprement dit.
FDP par exemple (Fin Du Poteau)… :-)
Mais en ce cas, vous risquez de se faire pas mal interroger sur vos intentions d'écriture une personne contemplant la rédaction d'un de vos script :?: :?: :?:

Toutefois, un peu d'humour ne nuit pas, hein ? ;-)

Le fichier sera créé dans mon /home/user grâce au signe2) ~ placé après le signe3) >.

Voir les tutos tilde et chevron par ces liens :

Nous visionnons le contenu de ce nouveau fichier avec la Commande less :

less test4.txt

On obtient :

retour de la commande
  Salut
  mon
  coco !

Et voilà, magique !

Par la suite, pour rajouter des lignes supplémentaires sans effacer :!: le contenu déjà rédigé, après la commande cat il faut doubler le chevron devant cat comme ceci :

cat >> ~/test4.txt <<EOF
Comment vas-tu
'yau d'poële ?
EOF

Et nous obtenons :

less test4.txt

Donne :

retour de la commande
  Salut
  mon
  coco !
  Comment vas-tu
  'yau d'poële ?

Hop ! :-)

L'exercice fini, la destruction de ce moment de poésie se fera par la Commande rm ainsi :

rm test4.txt

Ouf ! :-D

Un exemple en root

On peut utiliser la commande cat et le chevron pour réécrire son sources.list :

cat > /etc/apt/sources.list.d/test.list <<EOF
# Debian Stretch, dépôt principal + paquets non libres
deb http://deb.debian.org/debian/ stretch main contrib non-free
# Debian Stretch, mises à jour de sécurité + paquets non libres
deb http://security.debian.org/ stretch/updates main contrib non-free
# Debian Stretch, mises à jour "volatiles" + paquets non libres
deb http://deb.debian.org/debian/ stretch-updates main contrib non-free
EOF
Le signe “>” (chevron) indique au shell courant de rediriger la sortie standard de la commande dans un fichier.
Si vous utilisez sudo pour administrer le système la commande :
sudo cat > /etc/apt/sources.list.d/test.list <<EOF
# Debian Stretch, dépôt principal + paquets non libres
deb http://deb.debian.org/debian/ stretch main contrib non-free
# Debian Stretch, mises à jour de sécurité + paquets non libres
deb http://security.debian.org/ stretch/updates main contrib non-free
# Debian Stretch, mises à jour "volatiles" + paquets non libres
deb http://deb.debian.org/debian/ stretch-updates main contrib non-free
EOF

ne fonctionnera pas car le shell courant, c'est celui de l'utilisateur courant, donc sans les droits root. Le moyen le plus simple est d'utiliser d'abord la commande

sudo -i

qui permet de passer en root avec le shell courant de root puis de faire la commande en commençant directement avec cat …

cat - concaténation verticale

“Concaténation verticale” : drôle d'expression, mais c'est facile ! Il s'agit de fusionner le contenu de deux (ou plus) fichiers dans un nouveau fichier.

Reprenons l'exemple précédent :

cat > ~/test4.txt <<EOF
> Salut
> mon
> coco !
> EOF

Faisons de même pour un fichier “test5.txt :

cat > ~/test5.txt <<EOF
> Comment
> ça
> va?
> EOF

Concaténons-les en un fichier “test4-et-5.txt” :

cat ~/test4.txt ~/test5.txt > test4-et-5.txt

Et voilà :

less ~/test4-et-5.txt
retour de la commande
Salut
mon
coco !
Comment
ça
va?

Et Encore Hop ! :-)

cat et video

Combiné avec ffmpeg, cat permet de convertir les fichiers vidéo.

Exemple :

cat fichier video_test.vob | ffmpeg -i - 1.mp4
Bien sûr, la qualité du résultat sera limitée par le fait qu'on ne puisse ajouter des options particulières.

Voir le tuto ffmpeg : encoder-en-mkv

1)
N'hésitez pas à y faire part de vos remarques, succès, améliorations ou échecs !
2)
tilde
3)
chevron
doc/systeme/cat.txt · Dernière modification: 09/06/2020 14:35 par smolski

Pied de page des forums

Propulsé par FluxBB