Vous êtes sur la page 1sur 30

+ Module Linux

Equipe Pédagogique
Ilhem Gharbi
K.hawla Ammar
Dhouha Krichen
Faten Benabdallah

Redirections, Tubes et filtres

2018-2019
+ Plan 2

 Commande Linux

 Redirections

 Tubes de communications

 Filtres

2018-2019
+ Commande Linux 3

 Une commande :
Entrée : options et arguments en entrée standard.
Sortie : une réponse en sotie standard
+
une réponse en sortie erreur standard.
+ 4

L’entrée/sortie standard et les


descripteurs de fichiers par défaut
• Standard input (stdin) ou file descriptor 0 :ce descripteur de fichier est
le flux d’entrée de texte. Par défaut, il est attaché au clavier.
• Standard output (stdout) ou file descriptor 1:ce descripteur de fichier
est le flux de sortie de texte. Par défaut, il est attaché au terminal
• Standard error (stderr) ou file descriptor 2 :c’est également un flux de
sortie de texte mais il est utilisé uniquement pour les erreurs
d’exécutions de commandes. Il est également attaché au terminal
+ Redirections des entrées-sorties 5

 Principe

• Le concept de « redirection » permet de gérer l’origine d’un flux d’entrée ainsi


que la destination d’un flux de sortie

• Il s’agit de renvoyer le résultat d’une commande vers une sortie différente de la


sortie standard.

• Valide pour une entrée ou une sortie

• Comment? A l’aide de petits symboles spéciaux, appelés flux de redirection


+ Flux de redirection 6

 > et >> : renvoient le résultat vers un fichier.


 > : rediriger dans un nouveau fichier
Si le fichier n’existe pas, il sera créé. Le contenu de fichier sera
écrasé automatiquement si le fichier existe déjà.
 >> : rediriger à la fin d’un fichier
Si le fichier n’existe pas, il sera créé. Si non, les données seront
ajoutées à la fin.
 < et << : lire depuis un fichier ou le clavier
< permet d’indiquer d’où vient l’entrée qu’on envoie à la
commande.
<< : lire depuis le clavier progressivement
+ Flux de redirection 7

Redirection des erreurs : (2>, 2» et 2>&1)


Pour chaque commande exécutée, il existe deux possibilités :
 Cas 1 : Tout va bien :
Le résultat de la commande sera affiché sur la sortie standard
 Cas 2 : Une erreur se produit
Le résultat de la commande s’affiche dans la sortie d’erreurs.
 Syntaxe

2> : Rediriger les erreurs dans un fichier à part


2» : pour ajouter les erreurs à la fin du fichier.
2>&1 : Fusionner les sorties : Cela a pour effet de rediriger la sortie
d’erreurs et la sortie standard vers le même endroit.
+ 8

Flux de redirection

 Il est parfois utile de rediriger la sortie standard et la sortie


d'erreur vers un même endroit.
+ Redirection des entrées-sorties 9

 Principe :

Redirection vers un fichier Redirection vers des fichiers


+ Succès et erreur 10

 On a parfois besoin de savoir si une commande a réussi ou


non avant d'en lancer une autre.

 Les indicateurs && et || permettent, respectivement, de


lancer une commande si (et seulement si) la précédente a
réussi ou échoué.

 Par exemple, si on a un fichier toto, on obtient :

 Si on n’a pas un fichier foo, on obtient:


+ Tubes de communication 11

 Le symbole |, qui s’appelle ”tube” ou ”pipe”, permet de relier


deux commandes entre elles.
 Il s’agit d’utiliser le premier paramètre à gauche comme entrée de
deuxième paramètre
commande1 | commande2|commande3
 Redirections = assure la communication entre (fichier, processus ).
 Tube = assure la communication entre deux processus.

Exemple : P1 | P2 | P3.
+ Traitement des flux de texte à 12

l’aide des filtres

 Ce sont des programmes traitant des données qui proviennent


de l’entrée standard.

 But: agir sur les flux de texte afin de produire de nouveaux flux

 Très utiles en les combinant avec des tubes (pipes).


+ les commandes filtres courantes 13

 La commande sort
Tri sur des lignes de texte :
 Options
- n : ordre numérique
- s : lexicographique (par défaut)
- d : selon le dictionnaire
- k : Tri d’un champ particulier
- r : Tri en ordre inverse
Req: Les champs sont délimités par défaut par le caractère de tabulation
mais il est possible de spécifier un autre caractère avec l’option ”-t”.
 Exemples
+ La commande grep 14

 La commande grep permet la recherche dans des fichiers d’une


expression particulière.
 Les options basiques sont:
-c donne seulement le nombre de lignes trouvées obéissant au critère
-l donne seulement le nom des fichiers où le critère a été trouvé
-v donne les lignes où le critère n'a pas été trouvé
-i ne pas tenir compte de la casse (ne pas différencier majuscules minuscules)
-n pour n'afficher que les numéros des lignes trouvées
-w pour imposer que le motif corresponde à un mot entier d'une ligne

Exemples
+ La commande grep (suite) 15

 Voici la liste des symboles utilisables par grep : . * [ ] [^ ] ^ $


. signifie un caractère quelconque

* répétition du caractère situé devant

^ début de ligne

$ fin d'une ligne (donc "e$" mots se terminant par e)

[...] contient une liste ou un intervalle de caractères cherchés

[^..] caractères interdits.


+ La commande wc 16

 Cette commande permet de compter le nombre de lignes, de


mots et de caractères dans un fichier.

 Options :

-l : nombre de lignes,

-w : nombre de mots

-m : nombre de caractères.
Exemples

-m
+ La commande cut 17

La commande cut permet d'afficher des zones spécifiques d'un


fichier.

 Options :
- c : extraire des colonnes
- f : extraire des champs
- d : spécifier délimiteur
 Exemples
+ La commande head 18

 Identifie le début d’un fichier (ou de l’entrée standard).


 Options :
- n : nombre de lignes
- c :nombre de caractères.
 Exemples
+ La commande tail 19

 Identifie la fin d’un fichier ou de l’entrée standard.

 Options :

- c : nbre. de caractères

- n : nbre. de lignes

 Exemples
+ La commande tr 20

 Fonction : substituer ou supprimer des arguments


 Arguments : - Deux chaines de caractères
- La 1ère chaine représente les caractères
recherchés
- La 2ème représente le remplacement
 Options :
-c : inverse la recherche
-s : Traitement d’une seule occurrence
-d : suppression
+ 21

Expression régulière (1)

 Les expressions régulières permettent de définir un


langage interprété par le shell
 Les expressions régulières sont le résultat de la combinaison de
patterns (méta-caractères) de Position anchors de Character
sets et de Quantity modifiers
 Méta-caractère= caractère ayant une signification
particulière
 Position anchor= spécifie la position d’un ou plusieurs
caractères par rapport à une ligne entière de texte
 Character set= un jeu de méta-caractères
 Quantity modifiers= suivent un Character set et indiquent le
nombre de fois que ce Character set doit être répété
+ 22

Expression régulière (2)


 Anchors
 ^ : début de ligne,
 $: fin de ligne,
 Exemples:
 $ grep '^Linux' file1
 $ grep 'x$' file1

 Groupes et intervalles
 [abc] ou [a-z]: correspond à n’importe quel caractère de
l’intervalle
 [^ abc] ou [^ a-z]: correspond à n’importe quel caractère autre que
celui de l’intervalle
 Exemples
 $ grep '[Ll]inux' file1
 $ grep '^[^0-9]' file1

 Quantity modifiers
 *: correspond à un nombre inconnu de caractères
 ? : correspond à 0 ou 1 instance de caractère
+ 23

Sed

 sed (Stream EDitor) est un éditeur ligne non interactif,


 Il lit les lignes d'un fichier une à une (ou provenant de
l'entrée standard),
 leur applique un certain nombre de commandes d'édition et
 renvoie les lignes résultantes sur la sortie standard.
 Il ne modifie pas le fichier traité, il écrit tout sur la sortie
standard.

 sed est une évolution de l'éditeur ed (précurseur de vi), mais il


permet de réaliser des commandes complexes sur des gros
fichiers.
+ Sed 24

 Syntaxe

 sed [-n] [-e commande] [-f fichier de commandes] [fichier]

-n : écrit seulement les lignes concernées par le traitement (par l'option /p)
sur la sortie standard
-e : L’argument suivant est une commande. Cette option est utile lorsque
vous appliquez plusieurs commandes sur un fichier. Afin d‘éviter que le
shell interprète certains caractères, il faut mieux encadrer la commande
avec des ' ou des " .
L'option -e n'est pas nécessaire quand vous avez une seule fonction
d'édition.

-f : les commandes sont lu à partir d'un fichier.


+ Sed : fonction de substitution : s 25

 La fonction de substitution s peut être utilisée avec une expression régulière délimitée par

des barres obliques (/ regex /).

 s permet de changer la 1ère ou toutes les occurrences d’une chaîne par une autre.

 Syntaxe :

- sed "s/toto/TOTO/" fichier : va changer la 1ère occurence de la chaîne toto par TOTO

- sed "s/toto/TOTO/3" fichier : va changer la 3ème occurence de la chaîne toto par TOTO

- sed "s/toto/TOTO/g" fichier : va changer toutes les occurrences de la chaîne toto par TOTO

-sed "s/toto/TOTO/p" fichier : en cas de remplacement imprime les lignes concernées

 sed -e "s/[Ff]raise/FRAISE/g" fichier substitue toutes les chaînes Fraise ou fraise par FRAISE
+ Sed : La fonction de suppression : d 26

 La fonction de suppression d supprime les lignes comprises dans


un intervalle donné.
 Syntaxe :
sed "20,30d" fichier
Cette commande va supprimer les lignes 20 à 30 du fichier
 On peut utiliser les expressions régulières :
- sed "/toto/d" fichier : supprime les lignes contenant la chaîne toto
- sed "/toto/!d" fichier : supprime toutes les lignes ne contenant pas la
chaîne toto
En fait les lignes du fichier d’entrée ne sont pas supprimées, elles le
sont au niveau de la sortie standard.
+ Uniq 27

 Prend en paramètre un fichier trié.


 Elle permet d’exclure les lignes en double afin de n’avoir qu’
une seule occurrence de celles-ci.
uniq doubl.txt
 Options :
- d : afficher les lignes en double
- c : nombre d’occurences
+ Find 28

 La commande find permet de retrouver des fichiers à partir de certains critères.

 Syntaxe :

find repertoire de recherche critère de recherche

 Options:

-name : nom du fichier , -perm : droits d’accès

-link : nombre de liens , -user : propriétaire

-group : recherche suivant le groupe , -type : recherche suivant le type

-size : recherche suivant la taille , -atime : date de dernier accès en lecture

-mtime : date de dernière modification du fichier

-ctime : recherche sur la date de création du fichier


+ Locate 29

 la commande locate cherche les fichiers dans


une base de données.
Syntaxe : locate fichier
 Il faut mettre à jour la base de locate mlocate :
Syntaxe : updatedb
+ Diapositive utile pour le TP: 30

La commande PS
 Commande "ps" permet d'afficher les processus actifs ainsi que ces
ressources utilisé à un instant t, par utilisateur, par PID ...
Syntaxe: ps [options]
La commande "ps" de base
Par défault ps affiche les commandes qui son actuellement
utilisé dans cette invité de commande.
Les options
L'option "-x" permet de visualiser tout les processus actifs de l'utilisateur
courant
L'option "-ax" permet de visualiser tous les processus de la machine de tous
les utilisateurs
L'option "-aux" permet de visualiser affiche les utilisateurs associés à chaque
processus
L'option "-u nom_utilisateur" affiche chaque processus associés à utilisateur
L'option "-p PID" affiche les informations sur un processus
L'option "-t" affiche tout les processus liées a un terminal

Vous aimerez peut-être aussi