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) :
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 > :
echo "Ciao a tutti" > saluti.txtCette commande exécute echo et redirige sa sortie vers le fichier saluti.txt.
[!IMPORTANT] Si le fichier
saluti.txtn'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) :
cat saluti.txtAjouter à 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 >> :
echo "Nuova riga di testo" >> saluti.txtMaintenant, 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) :
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 > :
cat notes.txt info.txt > combined.txtSi vous essayez de lire un fichier qui n'existe pas, cat affichera un message d'erreur :
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
Créez un fichier nommé 'hello.txt' contenant exactement le texte 'Hello World' en utilisant la commande echo et l'opérateur >.
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
Ajoutez la ligne 'Linux is fun' à la fin du fichier existant 'notes.txt' sans effacer son contenu actuel.
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
Concaténez les contenus des fichiers 'notes.txt' et 'info.txt' et enregistrez le résultat combiné dans un nouveau fichier nommé 'combined.txt'.
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