Passer au contenu principal
eLearner.app
Module 3 · Leçon 1 sur 26/11 dans le cours~15 min
Leçons du module (1/2)

Flux de sortie et redirections (echo, cat, >)

Sous Linux, presque toutes les commandes lisent des données depuis un canal d'entrée et écrivent les résultats sur un canal de sortie. Ces canaux sont appelés des flux standards (streams) :

  • Standard Input (stdin) : Le canal depuis lequel la commande lit l'entrée (par défaut, le clavier).
  • Standard Output (stdout) : Le canal sur lequel la commande écrit sa sortie en cas de succès (par défaut, l'écran du terminal).
  • Standard Error (stderr) : Le canal sur lequel la commande écrit les messages d'erreur (par défaut, l'écran).

Grâce à la ligne de commande, nous pouvons rediriger ces flux pour enregistrer les résultats dans des fichiers.


Afficher du texte : echo

La commande echo écrit simplement les paramètres que vous lui passez sur sa sortie standard (l'écran) :

Bash
echo "Ciao a tutti"

Rediriger la sortie (Écraser) : >

Si vous souhaitez enregistrer la sortie d'une commande dans un fichier au lieu de l'afficher à l'écran, vous pouvez utiliser l'operateur de redirection supérieur > :

Bash
echo "Ciao a tutti" > saluti.txt

Cette commande exécute echo et redirige sa sortie vers le fichier saluti.txt.

[!IMPORTANT] Si le fichier saluti.txt n'existe pas, il est créé. S'il existe déjà, son contenu est complètement effacé et écrasé par la nouvelle sortie.


Lire le contenu : cat

Pour afficher rapidement le contenu d'un ou de plusieurs fichiers texte, on utilise la commande cat (abréviation de concatenate) :

Bash
cat saluti.txt

Ajouter à la fin (Ajouter) : >>

Si au lieu d'écraser un fichier vous souhaitez ajouter de nouvelles lignes à la fin du contenu existant, vous devez utiliser l'opérateur d'ajout >> :

Bash
echo "Nuova riga di testo" >> saluti.txt

Maintenant, en lisant le fichier avec cat saluti.txt, vous verrez à la fois la première et la deuxième ligne.


Exemples d'utilisation et erreurs courantes

Vous pouvez passer plusieurs fichiers à cat en même temps pour les afficher à la suite (concaténés) :

Bash
cat notes.txt info.txt
# Output:
# Keep learning Linux!
# Linux is awesome.

Vous pouvez rediriger la sortie combinée vers un troisième fichier à l'aide de l'opérateur > :

Bash
cat notes.txt info.txt > combined.txt

Si vous essayez de lire un fichier qui n'existe pas, cat affichera un message d'erreur :

Bash
cat file_inesistente.txt
# Output:
# cat: file_inesistente.txt: No such file or directory

À vous de jouer

Ejercicio 1: Crea un file con un saluto

Exercice#linux.m3.l1.e1
Tentatives : 0Chargement…

Créez un fichier nommé 'hello.txt' contenant exactement le texte 'Hello World' en utilisant la commande echo et l'opérateur >.

Chargement de l'éditeur…
Afficher l'indice

Utilisez echo suivi de la chaîne entre guillemets, de l'opérateur > et de hello.txt.

Solution disponible après 3 tentatives

Ejercicio 2: Aggiungi note ad un file

Exercice#linux.m3.l1.e2
Tentatives : 0Chargement…

Ajoutez la ligne 'Linux is fun' à la fin du fichier existant 'notes.txt' sans effacer son contenu actuel.

Chargement de l'éditeur…
Afficher l'indice

Utilisez l'opérateur >> pour ajouter du texte au fichier notes.txt.

Solution disponible après 3 tentatives

Ejercicio 3: Concatena file

Exercice#linux.m3.l1.e3
Tentatives : 0Chargement…

Concaténez les contenus des fichiers 'notes.txt' et 'info.txt' et enregistrez le résultat combiné dans un nouveau fichier nommé 'combined.txt'.

Chargement de l'éditeur…
Afficher l'indice

Utilisez cat suivi des noms des deux fichiers sources et redirigez la sortie avec > vers le fichier de destination.

Solution disponible après 3 tentatives