22 Jan2016
Les pipes et les redirections
Objectif:
Utilisation de la redirection de commandes et utilisation des tubes.
Énoncé:
- écrire le message « bonjour tout le monde » dans un fichier appelé « test » en redirigeant la sortie de la commande echo.
- écrire le message « au revoir » dans le même fichier « test » en redirigeant la sortie de la commande echo et sans écraser le contenu de « test » vérifier avec cat
- exécuter la commande find /etc -name hosts,y a t-il des messages d'erreurs qui sont affichés?rediriger les messages d'erreur de la commande précédente vers le fichier « err.txt »
- rediriger maintenant la sortie standard et la sortie d'erreur de la commande find /etc -name hosts vers deux fichiers différents (std.out et std.err)
- à présent exécuter les deux commandes suivantes:
user@localhost:~$find /etc -name hosts >find1.out 2>&1 user@localhost:~$find /etc -name hosts 2>find2.out >&2
2>&1 signifie rediriger la sortie d'erreur vers le même emplacement que la sortie standard
comparer le contenu des deux fichiers find1.out et find2.out,quelles sont vos remarques
- exécuter la commande tr 'a-z' 'A-Z' ,une fois exécutée la commande tr attend du texte à partir de l'entrée standard saisissez 3 lignes de textes à faire passer comme argument à tr
pour arrêter la saisie pressez ctrl+d
- rediriger l'entrée de tr 'a-z' 'A-Z' depuis le fichier « test » de la question 2.
- en utilisant la commande tr 'a-z' 'A-Z' convertir le contenu de « find1.out » en majuscule puis le placer dans un fichier « FIND1.out » ,vérifier avec cat.
- en utilisant un pipe rediriger la sortie de la commande ls -l /etc vers l'entrée de la commande more.
- le fichier /etc/passwd contient les informations sur tous les comptes utilisateurs du système
afficher le contenu de /etc/passwd avec more.
/etc/passwd contient plusieurs champs,le premier champ représente le nom de l'utilisateur,quel est le délimiteur qui sépare ces champs
- en utilisant la commande cut extraire depuis /etc/passwd les noms des utilisateurs
- en utilisant un pipe trier la sortie de la commande cut précédente par ordre alphabétique puis afficher le résultat avec more
- numéroter les lignes de /etc/passwd avec nl
- en utilisant la commande nl précédente et les commande head et tail afficher les lignes de /etc/passwd comprises entre la ligne 7 et la ligne 12