Misfu, le site des cours Informatique/Bureautique/Mathematiques


 

Aide mémoire des commandes Bash

Jokers


?

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 []


Groupement de commandes


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`
$(commande)

Substitution de commandes :


Les redirections


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


Les Tests


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


Les variables de paramètres


$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


Les substitutions de variables


$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


Structures de controles


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



www.misfu.com