Vous êtes sur la page 1sur 13

Connaitre et manipuler les diffrents filtres et utilitaires sur les fichiers classiques et comprendre la

notion de tube (pipe) et comment les processus lutilise pour communiquer entre eux.

Toutes les manipulations suivantes sont effectues en ligne de commande


a) LES FILTRES :
Une famille particulirement importante de commande Linux : les filtres. Un filtre est une commande
qui lit les donnes sur lentre standard, les traite et les crit sur la sortie standard.
Le concept de tube, avec sa simplicit, devient un outil trs puissant dans Linux qui propose un choix
trs vaste de filtres.
Exo 1 : la commande grep :
On copie le fichier stdio.h situ dans /usr/include dans notre rpertoire courant :

A laide de la commande grep, on affiche les lignes du fichier stdio.h qui contiennent la chane
define :

On utilise la commande grep pour isoler la ligne dans le fichier /etc/passwd qui contient nos dtails :

On y trouve :
Lidentifiant de lutilisateur =====youssef_faical
x : est un signe masquant le mot de passe crypt et indiquant que ce dernier se trouve dans le fichier
/etc/passwd
1001 : ce nombre est lUID ou User Identifier de lutilisateur
1001 : ce nombre est lGID ou Group Identifier

Faical_Youssef : est le nom complet de lutilisateur


/home/yousssef_faical : le rpertoire personnel de lutilisateur
/bin/bash : est le Shell dmarrer lors de la connexion de lutilisateur
En plus dautres dtails : N tl, Email,

En utilisant la commande find ainsi que la commande grep, on affiche la liste de tous les fichiers du
rpertoire courant et de ses sous rpertoires qui ont une extension .txt :

Exo 2 : Commande wc :

On compte le nombre de mots du fichier stdio.h :

On applique la commande wc sur le fichier stdio.h sans options :

Affiche le nombre de nouvelles lignes, mots et d'octets pour chaque FICHIER


Exo 3 : Commandes less et more :

On affiche le contenu du fichier stdio.h dans le terminal en utilisant la commande cat :

On affiche avec la commande more :

On affiche avec la commande less :

Les diffrences notables entre ces trois mthodes :


cat : La commande cat permet d'afficher tout le contenu d'un fichier dans la console d'un coup.
Exo 4 : la commande sed :

On affiche le contenu de fichier.txt sur le terminal avec la commande sed :

On crit une commande sed transformant la chaine test en TEST :

On crit une commande sed transformant la chaine texte en TEXTE :

La quatrime ligne qui contient texte deux fois na pas chang en entier (juste le premier mot)
On doit faire le /g pour faire un changement global du mot texte nimporte o dans fichier.txt

Exo 5 : Trier avec sort :

On cre un fichier sortdat qui contient plusieurs lignes (au moins 5 lignes) de la forme : nom prnom
code postal ville numro de tlphone.
On trie ce fichier daprs les prnoms :

On effectue le tri de sortdat sur les codes postaux (tri numrique)

On effectue un tri sur les villes en ordre dcroissant :

On effectue un tri sur les deuximes et troisimes lettres du prnom en ordre dcroissant :

Exo 6 : chercher avec find :

On affiche (avec find) les noms de tous les fichiers du rpertoire /usr ayant une taille suprieure
250ko :

En utilisant la commande find, on liste les noms de :


-Tous les fichiers rguliers qui nous appartient ; on met le rsultat dans le fichier /tmp/findmoi et les
erreurs dans /dev/null :

-Tous les sous-rpertoires de /etc :

-Tous les fichiers rguliers se trouvant sous notre rpertoire daccueil et qui nont pas t modifis
dans les 10 derniers jours :

On affiche les noms de tous les fichiers du rpertoire /var ayant t modifis aprs notre rpertoire de
connexion :

b) LES TUBES :
Un tube (pipe en anglais) est un flot de donns qui permet de relier la sortie standard dune
commande lentre standard dune autre commande sans passer par un fichier temporaire.
Dans une ligne de commande, le tube est formalis par la barre verticale |, que lon place entre deux
commande : P1 | P2 | P3
Exo 1 :
Le rsultat des commandes utilisant le pipe :
ls l | grep rwxr-xr-x

ls l | grep rwxr-xr-x | less

ls | wc -w

Exo 2 :
En utilisant la commande | , on crit une commande qui compte le nombre de ligne contenant le
mot pipe dans le fichier text1 :

En utilisant la commande tee, on modifie le rsultat obtenu auparavant afin de rcuprer dans un
fichier text2 les lignes contenant le mot pipe :

On crit une ligne de commande qui permet de crer un fichier text3 qui contiendra les lignes du
fichier text1 contenant le mot pipe .Ces lignes devront tre tries sur le premier champ de
chaque ligne. Enfin la commande affiche le nombre de ces lignes :

Exo 3 :
Combien le rpertoire /etc a-t-il de fichiers rpertoire (en utilisant les commandes ls ,
grep , wc ) :

On affiche la liste des fichiers du rpertoire courant, trie par ordre de taille des fichiers :

Ce TP nous a permis de se familiariser avec les diffrents filtres et comprendre la notion de tube
(pipe).