Vous êtes sur la page 1sur 48

Les alias sous Unix

La plupart des Shells permettent l'utilisation d'alias qui sont des


'raccourcis' de commandes, avec leurs arguments.
La commande « alias » est utilisée pour créer, modifier un alias ou de
lister tous les alias.
La commande « unalias » permet de supprimer un alias.

149
Les alias sous Unix

150
Les alias sous Unix

151
Les expressions régulières
Il s'agit d'un mécanisme qui permet de décrire des ensembles de
caractères dans le cadre d'une recherche ou d'un remplacement de
texte. Sans les expressions rationnelles, la manipulation des fichiers
texte en ligne de commande sera très délicate.
Les expressions rationnelles sont extrêmement utiles sous UNIX,
étant donné que tous les fichiers de configuration et de journalisation
(logs) sont des fichiers texte.

152
Les expressions régulières
 À l’aide des expressions régulières, on recherche alors non pas un mot
ou une simple chaîne de caractères mais une suite de caractères qui
correspondent au critères énoncés par la formule .
 Certains opérateurs doivent être précédés d'un \ pour ne pas entrer
en conflit avec le Shell, ainsi : {, }, , (, ) et | seront écrits \{, \}, \, \(, \)
et \|.

153
Les expressions régulières
Caractère(s) Interprétation
[abc] Caractère a ou b ou c
[a-zA-Z] Une lettre non accentuée
() Groupement de caractères
Ch1|Ch2 Ou logique, Ch1 ou Ch2
^ Deux interprétations possibles :
 Début de ligne s’il est au début de l’expression régulière
 Négation (complément) de l’ensemble de caractères s’il est
juste après le caractère [
$ Fin de ligne s’il est en fin de l’expression régulière 154
Les expressions régulières
Caractère(s) Interprétation
. Désigne n’importe quel caractère

* Remplace 0 ou n fois le caractère ou l’ensemble qui le précède

+ Remplace 1 ou n fois le caractère ou l’ensemble qui le précède

? Remplace 0 ou 1 fois le caractère ou l’ensemble qui le précède

{m} Exactement m fois le caractère ou l’ensemble qui le précède

{m,} Au moins m fois le caractère ou l’ensemble qui le précède

{m, n} Au moins m fois et au plus n fois le caractère ou l’ensemble qui le


précède
155
Les expressions régulières
Exemple
Expression régulière Chaines reconnues

ab*c ac, abc, abbc, abbbc,…..


ab.c abdc, abac, ab+c, ab.c, ……
ab\{2,\}c abbc, abbbc, abbbbc,….
ab\{1,3\}c abc, abbc, abbbc
^abc" La chaine "abc" doit être recherchée
uniquement au début de la ligne.
xyz$ La chaine "xyz" est recherchée à la fin de la
ligne.
156
Les expressions régulières
Exemple

Expression régulière Chaines reconnues

^$ Recherche d'une ligne vide.


[02-57] 0, 2, 3, 4, 5 ou 7
[a-d5-8X-Z] a, b, c, d, 5, 6, 7, 8, X, Y ou Z
[0-5-] 0, 1, 2, 3, 4, 5 ou -
[A-Z]\{4\}[0-9]\{8\} Chaine composée de quatre lettres majuscules
suivies de huit chiffres
[A-Z0-9]\{12\} Chaine composée de 12 caractères sélectionnés
parmi les lettres majuscules et les chiffres
157
Les expressions régulières
Exercice1:

Donner l’expression régulière à utiliser pour vérifier si une chaîne


représente une adresse mail valide.
On considère qu’une adresse mail comporte une ou deux chaînes
alphanumériques ; dans ce dernier cas, un « . » les sépare. Le caractère
« @ » suit la(les) chaines, la seconde partie est constituée d'une suite
d'au moins de deux chaînes alphanumériques séparées par un point.

158
Les expressions régulières

Modifier l’expression précédente de telle sorte à ne pas accepter les


adresses qui commencent par un chiffre.

159
La recherche d’un mot : grep

La commande « grep » est utilisée pour rechercher, dans un ou


plusieurs fichiers, toutes les lignes qui contiennent une chaîne de
caractères donnée ou exprimée sous forme d’une expression régulière.
grep option(s) expression fichier(s)

160
La recherche d’un mot : grep
Plusieurs options peuvent être utilisées:
 -n : Fait précéder chaque ligne affichée par son numéro de ligne dans
le fichier source
 -v : Affiche toutes les lignes sauf celles contenant l’expression
 -l : N’affiche que les noms des fichiers dont au moins une ligne
satisfait à la recherche
 -i : Ne fait aucune distinction entre les majuscules et les minuscules
 -c : Affiche le nombre de lignes qui contiennent l’expression

161
La recherche d’un mot : grep
Exemple:
grep read programme.c
Affiche toutes les lignes du fichier programme.c contenant read

grep -n read programme.c


Affiche avec la numérotation toutes les lignes du fichier programme.c contenant read

grep -i ‘else do’ programme.c


Affiche toutes les lignes du fichier programme.c contenant la chaîne de caractères ‘else
do’ en majuscules ou minuscules

grep -l read *
Recherche les noms de tous les fichiers contenant le mot read 162
La recherche d’un mot : grep

163
La recherche d’un mot : grep

164
La recherche d’un mot : grep

165
Gestion de flux

Tout processus Unix/Linux démarre avec 3 flux déjà ouverts :

 un pour l’entrée des données (canal 0)

 un pour la sortie des données (canal 1)

 un pour les messages d’erreur (canal 2)

N.B : un processus (identifié par un PID) est un programme en cours


d’exécution.

166
Gestion de flux

Par défaut :
 0 : le clavier : (stdin : standard input)
 1 : l’écran : (stdout : standard output)
 2 : l’écran : (stderr : standard error)

167
Gestion de flux

Il est possible de rediriger ces flux vers des fichiers (en utilisant les
opérateurs <, >, << et >>) ou vers des processus en utilisant un
tube (pipe). Un tube (|) est un canal entre deux processus
(redirection de la sortie d’un processus vers l’entrée d’un autre
processus).

168
Gestion de flux

> et >> : rediriger le résultat dans un fichier

> : Redirige dans un fichier et l'écrase s'il existe déjà ;

>> : Redirige à la fin d'un fichier et le crée s'il n'existe

pas.

169
Gestion de flux
> et >> : rediriger le résultat dans un fichier

170
Gestion de flux
> et >> : rediriger le résultat dans un fichier
Commande « paste »

La commande « paste » est utilisée pour fusionner les lignes de même


niveau des fichiers.

Options:

 -s : Regrouper toutes les lignes sur une même ligne

 -d : Concaténation en séparant les champs par un séparateur


171
Gestion de flux
> et >> : rediriger le résultat dans un fichier
Commande « paste »

172
Gestion de flux
> et >> : rediriger le résultat dans un fichier
Commande « paste »

173
Gestion de flux
> et >> : rediriger le résultat dans un fichier
Commande « paste »

174
Gestion de flux
2>, 2>> et 2>&1 : rediriger les erreurs
2>, 2>> et 2>&1 : rediriger les erreurs

 2> : redirige les erreurs dans un fichier (s'il existe déjà, il sera
écrasé) ;
 2>> : redirige les erreurs à la fin d'un fichier (s'il n'existe pas, il sera
créé) ;
 2>&1 : redirige les erreurs au même endroit et de la même façon
que la sortie standard.
175
Gestion de flux
2>, 2>> et 2>&1 : rediriger les erreurs

On peut choisir de rediriger les erreurs dans un fichier à part (avec 2>)
ou bien de les rediriger au même endroit que la sortie standard
(avec 2>&1). 176
Gestion de flux
2>, 2>> et 2>&1 : rediriger les erreurs

177
Gestion de flux
2>, 2>> et 2>&1 : rediriger les erreurs

178
Gestion de flux
2>, 2>> et 2>&1 : rediriger les erreurs

179
Gestion de flux
< et << : lire depuis un fichier ou le clavier
< : Envoie le contenu d'un fichier à une commande ;

<< : Passe la console en mode saisie au clavier, ligne


par ligne. Toutes ces lignes seront envoyées à la
commande lorsque le mot-clé de fin aura été écrit.

180
Gestion de flux
< et << : lire depuis un fichier ou le clavier

181
Gestion de flux
< et << : lire depuis un fichier ou le clavier

182
Gestion de flux
< et << : lire depuis un fichier ou le clavier
Commande « sort »

La commande « sort » est utilisée pour trier les lignes d’un fichier.

183
Gestion de flux
< et << : lire depuis un fichier ou le clavier

184
Gestion de flux
< et << : lire depuis un fichier ou le clavier

185
Gestion de flux
< et << : lire depuis un fichier ou le clavier
Commande « wc »

La commande « wc » est utilisée pour compter le nombre de ligne d'un


fichier, ainsi le nombre de mot ou de caractères.

186
Gestion de flux
| : enchaîner les commandes
«Enchaîner des commandes» est le fait de connecter la sortie d'une commande
à l'entrée d'une autre commande. Pour cela, on utilise le symbole tube ou pipe
« | ».

187
Gestion de flux
| : enchaîner les commandes

188
Gestion de flux
| : enchaîner les commandes

189
Gestion de flux
| : enchaîner les commandes

Commande « tr »

La commande « tr » est utilisée pour transposer ou éliminer des


caractères dans un fichier ou un flux de données. Autrement dit, un
caractère appartenant à chaine1 est remplacé par le caractère de
même position dans chaine2
tr [options] chaine1 chaine2

190
Gestion de flux
| : enchaîner les commandes
tr [options] chaine1 chaine2
Options:

 -c : Tous les caractères qui ne sont pas spécifiés dans la première


chaîne sont convertis selon les caractères de la seconde.

 -d : Efface le caractère spécifié.

 -s : Si le caractère spécifié se répète plusieurs fois de suite, il est


réduit à une seule unité.
191
Gestion de flux
| : enchaîner les commandes

192
Gestion de flux
| : enchaîner les commandes
La commande cut
La commande « cut » est utilisée pour afficher des zones spécifiques
d'un fichier.

Options:
-c : Permet de sélectionner les colonnes.
-d : Permet de spécifier un séparateur de champs
-f : Indique le numéro d’un (des) champs à couper
-s(avec –f) : Supprime les lignes vides
Gestion de flux
| : enchaîner les commandes
La commande cut

194
Gestion de flux
| : enchaîner les commandes
La commande cut

195
Gestion de flux
| : enchaîner les commandes

196

Vous aimerez peut-être aussi