0% ont trouvé ce document utile (0 vote)
14 vues30 pages

Chapitre 2

Transféré par

louay ben amara
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd
0% ont trouvé ce document utile (0 vote)
14 vues30 pages

Chapitre 2

Transféré par

louay ben amara
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd
Vous êtes sur la page 1/ 30

+ Module Linux

Enseignante
S. BEN YAALA

Redirections, Tubes et filtres


+ Plan 2

 Redirections

 Tubes de communications

 Filtres
+ Commande Linux 3

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

Les redirections sont le détournement des 3 descripteurs de


fichiers standards :
l'entrée standard (notée 0) : le clavier ;
la sortie standard (notée 1) : la console courante ;
la sortie des erreurs (notée 2) : la console courante
+ Redirections des entrées-sorties 5

 Principe

• Il s’agit de renvoyer le résultat d’une commande vers une


sortie différente de la sortie normale .

• Valide pour une entrée ou une sortie


+ Redirection des entrées-sorties 6

 Principe :

Redirection vers un fichier Redirection vers des fichiers


+ Flux de redirection 7

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


 > : rediriger dans un nouveau fichier

#ls > file1

Le contenu de fichier sera supprimé automatiquement si le fichier existe déjà.


 >> : rediriger à la fin d’un fichier

#ls >> file1


Si le fichier n’existe pas, il sera créé. Sinon, les données seront ajoutées à la fin.
+ Flux de redirection 8

 < et << : lire depuis un fichier ou le clavier

< : permet d’indiquer d’où vient l’entrée qu’on envoie à la commande.


Exemple : Le fichier est lu par la commande cat
#cat < fichier1

<< : lire depuis le clavier progressivement


Exemple : la commande cat lit du clavier jusqu’à ce qu’elle rencontre la chaine
END et redirige le résultat dans le fichier fin
#cat > fin <<END
>je suis dans le fichier fin, l'édition est stoppée lors de la rencontre du mot clé
END

#cat fin
je suis dans le fichier fin, l'édition est stoppée lors de la rencontre du mot clé END
+ Flux de redirection 9

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.
+ Tubes de communication 10

 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.
+ Filtres 11

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


de l’entrée standard.

 Très utiles en les combinant avec des filtres.


+ les commandes filtres courantes 12

 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 13

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


particulière.
 Les options basiques sont:
-n : numéro de ligne.
-i : ignorer majuscules et minuscules
-v : rechercher tout sauf la chaine de caractères dans un fichier.

Exemples
- Rechercher la chaine de caractères dans une arborescence /etc/
grep –r « chaine » /etc/
- Afficher la ligne contenant home sans tenir compte des majuscules et minuscules :
grep -i « home » < /etc/passwd
- Afficher les lignes ne contenant pas home :
grep –v « home » < /etc/passwd
+ La commande grep 14

 Recherche avec des expressions

Caractère spécial Signification

. Caractère quelconque

^ Début de ligne

$ Fin de ligne

[] Un des caractères entre les crochets

L'élément précédent est optionnel (peut être


?
présent 0 ou 1 fois)

L'élément précédent peut être présent 0, 1 ou


*
plusieurs fois

L'élément précédent doit être présent 1 ou


+
plusieurs fois

| Ou

() Groupement d'expressions
+ La commande grep 15

• Rechercher une chaîne de caractères ‘chaine’ en début de ligne dans un fichier

#grep -E ^chaine fichier1

• Rechercher une chaîne de caractères ‘chaine’ en fin de ligne dans un fichier

#grep -E chaine $ fichier1

• Rechercher une chaîne de caractères ‘chaine’ ou ‘Chaine’ dans un fichier

#grep -E [Cc]haine fichier1


+ 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

-c : nombre de caractères.
Exemples
+ La commande cut 17

 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

- b : nbre. de blocs (exemple 512 octets)

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
+ Sed 21

 sed est é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.

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

-n : écrit seulement les lignes spécifiées (par l'option /p) sur la sortie
standard
-e : permet de spécifier les commandes à appliquer sur le fichier. Cette
option est utile lorsque vous appliquez plusieurs commandes. Afin
d’éviter que le shell interprète certains caractères, il faut mieux encadrer
la commande avec des ' ou des " .
-f : les commandes sont lu à partir d'un fichier.
+ Sed : fonction de substitution : s 22

s permet de changer la 1ère ou toutes les


occurrences d’une chaîne par une autre.

Syntaxe :

- sed "s/toto/TOTO/g" fichier : va changer


toutes les occurrences de la chaîne toto par
TOTO
+ Sed : La fonction de suppression : d 23

 La fonction de suppression d supprime les lignes comprises dans


un intervalle donné.
 Syntaxe : sed "20,30d" fichier1
Cette commande va supprimer les lignes 20 à 30 du fichier ‘fichier1’.
 On peut utiliser les expressions régulières :
- sed "/toto/d" fichier1 : 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 24

 Prend en paramètre un fichier trié.


 Elle identifie uniquement identiques qui sont successives.
uniq doubl.txt
 Options :
- d : afficher les lignes en double
- c : nombre d’occurences
+ Find 25

 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


+ Find 26

 Utilisation de la commande find

 La commande find permet de chercher des fichiers, et éventuellement d‘exécuter

une action dessus :

• Rechercher un fichier nommé fichier1 dans le répertoire

/home/ludo #find /home/ludo –name fichier1 –print


+ Find 27

• Rechercher tous les fichiers appartenant a l’utilisateur tekup et les

deplacer dans son répertoire home

# find / -user tekup 2>/dev/null

# find / -user tekup -exec mv {} /home/tekup/ \; 2>/dev/null

• Rechercher tous les fichiers commençant par fichier ET appartenant a


l’utilisateur tekup et les copier dans le répertoire /root

#find / -name "fichier*" -a -user tekup -exec cp {} /root/* \; 2>/dev/null


+ Find 28

Option Signification  Pour les options -size, -atime, -mtime, -


ctime et -links, Il faut spécifier une valeur,
Recherche par nom de fichier.
-name précédée par le signe ``+'' pour
-type Recherche par type de fichier.
``supérieur à'', ``-'' pour ``inférieur à'', ou rien
Recherche par propriétaire.
-user pour ``égal à''. Par exemple :
-group Recherche par appartenance à ungroupe.
find . -mtime -3 -print
-size Recherche par taille de fichier.

-atime Recherche par date de dernier accès.  Cette commande affiche les fichiers dont
Recherche par date de dernière modification.
les dernières modifications remontent à
-mtime
moins de 3 jours (donc tous les fichiers
-ctime Recherche par date de création. modifiés entre aujourd'hui et il y a trois jours
-perm
Recherche par autorisations d'accès. seront affichés).
Recherche par nombre de liens au fichier.
-links  De même, +5 afficherait les fichiers
dont les dernières modifications
remontent à plus de 5 jours.
+ 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 :
Syntaxe : updatedb
+ 30

Merci

Vous aimerez peut-être aussi