You are on page 1of 2

Universit Cady AYYAD ENSA -SAFINom Prnom

Gnie Informatique

TP N3 : Les mta caractres

Les mta caractres sont des caractres qui possdent une signification particulire pour le shell et qui permettent de crer des noms gnriques. Puisque ces caractres ont un rle particulier, il est peu recommand de les utiliser dans les noms de fichiers, au risque de compliquer le dialogue avec le SHELL.
Mta Caractre * ? [abc...] [!abc...] ; Description remplace n'importe quelle chane de caractres (mme vide). Exemple : cp * DATA copie tous les fichiers dans le rpertoire DATA. remplace un caractre quelconque. Correspond un des caractres spcifis dans la liste. Correspond tout caractre non spcifi dans la liste. Permet de sparer plusieurs commandes crites sur une mme ligne. Exemple : cp *.c DATA; tar cvf data.tar DATA copie tous les fichiers d'extention .c dans le rpertoire DATA et les archive dans le fichier data.tar. Regroupe des commandes. Exemple :(echo "Liste :"; ls ) > liste.txt crit la chane Liste : et la liste des fichiers du rpertoire courant dans le fichier liste.txt. Permet le lancement d'un processus en arrire plan. Cela permet d'excuter d'autres commandes pendant qu'un processus est en marche. Exemple : gedit & Permet la communication par tube entre deux commandes. Exemple : ls -1 | file la commande de listage des fichiers du rpertoire (ls) envoie chacun d'eux la commande qui permet de connatre le type d'un fichier (file). Introduit un commentaire. Donc tout ce qui suit ce caractre dans une ligne est ignor par le Shell. Exemple : # ceci est un commentaire. Dspcialise le caractre qui suit. C'est--dire que si le caractre qui suit celui l est un caractre spcial alors le Shell l'ignorera. Exemple : echo Bon\*jour affiche bon*jour l'cran. Dfini une chane de caractres qui ne sera pas value par le Shell. Exemple : echo '*?&' affiche sur la sortie standard les caractres spciaux *?& sans les interprter. Dfini une chane de caractres dont les variables seront values par le Shell. Exemple : echo "Vous tes $USER." affiche Vous tes + la valeur de la variable $USER. Dfini une chane de caractres qui sera interprte comme une commande et remplace par la chane qui serait renvoye sur la sortie standard l'excution de la dite commande. Exemple : echo `pwd` >> liste.txt crit la fin du fichier le chemin et le nom du rpertoire courant. Le caractre spcial utilis s'obtient par la combinaison de touche : AltGr + 7 (c'est l'accent grave)

()

& |

''

"..."

`...`

> et <

Pour les redirections (voir TP n5) Tab.1 tableau rcapitulatif des mtacaractres

Ing.L.BERAMDAN

1/2

Universit Cady AYYAD ENSA -SAFI-

Gnie Informatique

Exercice 1 : Crez les fichiers : suj1, suj2, suj3, suj12, suj17, suj21, suj4, suj30, suj32, sujet201, sujet dans le rpertoire TP_Linux qui se trouve dans votre rpertoire personnel. Testez les commandes : ls s* ls s? ls suj? ls suj[0-9] ls suj[0-9]* ls suj[0-9]? ls [a-z][a-z]?[0-9] 1. Effacez en une seule commande les fichiers suj3, suj30 et suj32 puis supprimez tous les fichiers dont le nom contient un numro compris entre 20 et 99. 2. Effacez en une seule commande le rpertoire TP_Linux Introduction l'expansion le mcanisme de remplacement des caractres gnriques (jokers = wildcards) par une valeur se nomme en jargon (anglais) Unix : pathname expansion ou globbing. Comme nous lavons vu prcdemment, certains caractres ont une signification particulire pour le shell. Lorsquon veut utiliser ces caractres autrement que pour leur signification spciale, il faut gnralement utiliser le caractre backslash (\) : $ echo \* * # Sans le backslash, le * aurait t remplac par tous les fichiers du rpertoire courant. Un moyen couramment utilis avec le shell pour protger les caractres spciaux est dutiliser les caractres quote et double quote ". Le premier vite lexpansion de tout caractre : $ echo $HOME # $HOME # Le deuxime permet au caractre $ de conserver sa signification : $ echo "$HOME #" /home/user #

Ing.L.BERAMDAN

2/2

You might also like