?  | 
	
remplace un seul caractère  | 
*  | 
	
remplace 0 ou plusieurs caractères  | 
[]  | 
	
remplace par n'importe quel caractère situé à l'interieur des crochets  | 
[ - ]  | 
	
remplace par un caractère qui se situe dans la suite ( 0-9 de 0 à 9, a-z de a à z)  | 
[!]  | 
	
le contraire de []  | 
commande1 ; commande2  | 
   
Lance commande2 apres commande 1  | 
 |
commande1 | commande2  | 
  
Renvoie le résultat de commande1 à commande2  | 
 |
commande &  | 
  
Lance commande en arrière-plan  | 
 |
commande1 || commande2  | 
  
SINON : ne lance commande2 que si commande1 echoue  | 
  | 
commande2 && commande2  | 
  
ET : Lance commande1 si commande1 réussi  | 
 |
( liste )  | 
  
Groupe de commandes  | 
 |
{ liste; }  | 
  
Groupe de commandes  | 
 |
 `Commande`   | 
   
Substitution de commandes :  | 
 
Entree/Sortie standart ( E/S )  | 
 |
0  | 
  
Entree Standart ( clavier )  | 
 
1  | 
  
Sortie Standart ( ecran )  | 
 
2  | 
  
Erreur Standart ( ecran )  | 
 
Entree/Sortie standart  | 
 |
> fichier  | 
  
Redirection en sortie vers un fichier, écrase le fichier si le fichier existe  | 
 
< fichier  | 
  
L'entrée standart est un fichier  | 
 
>> fichier  | 
  
Redirection en sortie vers un fichier, sans écrasement de fichiers  | 
 
<< mot  | 
  
Lecture au clavier jusqu'a 'mot'  | 
 
<> fichier  | 
  
L'entrée et la sortie standart est un fichier  | 
 
Attributs de fichiers  | 
 |
-b fichier  | 
  
Vrai si le fichier existe et est un fichier en mode bloc  | 
 
-c fichier  | 
  
Vrai si le fichier existe et est un fichier en mode caractère  | 
 
-d fichier  | 
  
Vrai si le fichier existe et est un répertroie  | 
 
-e fichier  | 
  
Vrai si le fichier existe  | 
 
-f fichier  | 
  
Vrai si le fichier est un fichier ordinaire  | 
 
-g fichier  | 
  
Vrai si le fichier existe et est grouo sid ( sgid )  | 
-h fichier  | 
  
Vrai si le fichier existe et est un lien symbolique  | 
 
-k fichier  | 
  
Vrai si le fichier existe et est sticky bit  | 
 
-p fichier  | 
  
Vrai si le fichier existe et est une pipe nommé ( FIFO )  | 
 
-r fichier  | 
  
Vrai si le fichier existe et si l'utilisateur à le droit de le lire  | 
 
-s fichier  | 
  
Vrai si le fichier existe et à une taille supérieure à 0 ( non-vide )  | 
 
-t fd  | 
  
True if fichier descriptor fd is open and refers to a terminal.  | 
 
-u fichier  | 
  
Vrai si le fichier existe et est suid  | 
 
-w fichier  | 
  
Vrai le fichier existe et si l'utilisateur à le droit d'y écrire  | 
 
-x fichier  | 
  
Vrai si le fichier existe et peut etre executé par l'utilisateur  | 
 
-O fichier  | 
  
Vrai si le fichier existe et possède meme id que l'utilisateur  | 
 
-G file  | 
  
Vrai si le fichier existe et possède le meme gid que l'utilisateur  | 
 
-L file  | 
  
Vrai si le fichier existe et est un lien symbolique  | 
 
-S file  | 
  
Vrai si le fichier existe est un Socket  | 
 
Comparaison de fichiers  | 
 |
FICHIER1 -ef FICHIER2  | 
  
Vrai si les deux fichiers ont le meme device et numéro d'inode  | 
 
FICHIER1 -nt FICHIER2  | 
  
Vrai si FICHIER1 est plus récent ( par rapport à la date de modification ) que FICHIER2  | 
 
FICHIER1 -ot FICHIER2  | 
  
Vrai si FICHIER1 est plus vieux ( par rapport à la date de modification ) que FICHIER2  | 
 
Chaines de caractères  | 
 |
[-n] CHAINE_DE_CHARACTERES  | 
  
Vrai si la chaine n'est pas vide  | 
 
-z CHAINE_DE_CHARACTERES  | 
  
Vrai si le chaine est vide  | 
 
CHAINE1 = CHAINE2  | 
  
Vrai si les deux chaines sont identiques  | 
 
CHAINE1 != CHAINE2  | 
  
Vrai si les deux chaines sont différentes  | 
 
Sur les nombres entiers  | 
 |
ENTIER1 -eq ENTIER2  | 
  
Vrai si ENTIER1 est égal à ENTIER2  | 
 
ENTIER1 -ge ENTIER2  | 
  
Vrai si ENTIER1 est plus grand ou égal à ENTIER2  | 
 
ENTIER1 -gt ENTIER2  | 
  
Vrai si ENTIER1 est supérieur à ENTIER2  | 
 
ENTIER1 -le ENTIER2  | 
  
Vrai si ENTIER1 est plus petit ou égal à ENTIER2  | 
 
ENTIER1 -lt ENTIER2  | 
  
Vrai si ENTIER1 est plus petit que ENTIER2  | 
ENTIER1 -ne ENTIER2  | 
  
Vrai si ENTIER1 est différent de ENTIER2  | 
 
$0  | 
 
Nom du script en cours  | 
$1, $2, $3 ...  | 
Argument du script en cours  | 
$#  | 
 
Nombre d'arguments  | 
$*  | 
 
Tous les paramètres ( espace se séparation dépent de $IFS )  | 
$@  | 
 
Idem $* mais ne dépent pas d'$IFS  | 
$$  | 
 
PID du script  | 
$!  | 
 
PID du dernier processus shell lancé en arrière-plan  | 
$?  | 
 
Code retour de la derniere commande  | 
$variable ou ${variable}  | 
 
valeur de $variable  | 
${#variable}  | 
 
Nombre de caractères de la variable $variable  | 
${variable:-mot}  | 
 
Renvoie $variable si elle est existe est non nulle, sinon renvoie ' mot '  | 
${variable:+mot}  | 
 
Renvoie ' mot ' si la variable $variable existe et est non nulle, sinon elle retourne 0  | 
${variable:=mot}  | 
 
Affecte ' mot ' à $variable si elle est nulle  | 
${variable:?mot}  | 
 
Affiche ' mot ' si la $variable n'existe pas, et termine la commande ou le script  | 
${variable#expression}  | 
 
Si expression = debut de variable -> supprime la plus partie reconnue et retourne le reste  | 
${variable##expression}  | 
 
Si expression = debut de variable -> supprime la plus grande partie reconnue et retourne le reste  | 
${variable%expression}  | 
 
Si expression = fin de variable -> supprime la plus partie reconnue et retourne le reste  | 
${variable%%expression}  | 
 
Si expression = fin de variable -> supprime la plus grande partie reconnue et retourne le reste  | 
if condition then commandes1 commandes2 ; ... else autrecommande1; autrecommande2 fi  | 
 
SI condition ALORS ... SINON ... FIN_SI  | 
for i in liste do commande1 ; commande2 ... done  | 
 
POUR i DANS la_liste FAIT .... FIN_FAIT  | 
until condition do commande1; commande2 ... done  | 
 
JUSQUACEQUE condition FAIT ... FIN_FAIT  | 
 
while condition do commande1; commande2 ... done  | 
 
TANTQUE condition FAIT ... FIN_FAIT  |