suivant: Historique, complétion, variables
d'environnement, monter: L'interface de commande
(shell) précédent: Choix du shell présenté
Table des matières
Le shell définit les notions suivantes:
-
répertoire par défaut
- il s'agit du répertoire appartenant à l'utilisateur,
accessible en tapant cd
.
Il correspond à la variable d'environnement
$HOME
et à l'abréviation
~
/. Un tel répertoire est
une propriété d'un utilisateur.
-
répertoire courant
- le répertoire courant correspond à un dossier ouvert sur
votre bureau. Pour connaître le répertoire courant, il faut
taper pwd
. Pour changer
de répertoire courant, on utilise cd
. Un répertoire courant est une propriété d'un
processus.
-
variables
- Les variables d'environnement
contiennent des informations comme le type de
terminal et sont modifiables avec env
, set
et
peuvent être exportées aux sous-processus du shell à l'aide de
export
. On obtient la
valeur d'une variable en la précédant d'un dollar
($
). Les variables
d'environnement sont une propriété du processus.
-
historique
-
Il est possible de voir les commandes tapées dans le passé
avec la commande history
. De plus les touches du curseur haut et bas
permettent de se promener dans l'historique des commandes
introduites. On peut également faire des recherches dans
l'historique: par exemple à l'aide de CTRL-R puis en
entrant du texte on fait une recherche inverse dans
l'historique.
On peut rejouer de l'historique facilement à l'aide de
!!
pour répéter la
dernière commande, !23
pour la 23
commande ou
!mor
pour la dernière
commande débutant par mor.
-
motifs du shell
- Il est possible d'utiliser * et ?, entre
autres, comme jokers remplaçant respectivement une suite de
caractères quelconque ou un caractère. Enfin le caractère
~ sera remplacé par votre répertoire par défaut
(typiquement:
/users/loginname
où loginname est votre nom d'utilisateur). De même
~user sera remplacé par le répertoire par défaut de
l'utilisateur user, bien souvent
/users/user
23
. Notons que ces motifs,
jokers ou anglais: wildcard
s du shell ne sont pas exactement ce que l'on
nomme souvent sous UNIX les expressions régulières,
regexp
s. Celles-ci sont
plus complexes mais également plus puissantes.
-
complétion
- La touche TAB permet de compléter le nom d'une
commande ou d'un fichier en cours de saisie s'il n'y a pas de
possibilité de confusion et que le répertoire courant est
lisible.
-
raccourcis
- La commande alias permet de définir des équivalents de
commandes. Par exemple alias dir ls permet de taper
dir à la place de ls
. Pour supprimer un alias, on utilise
unalias
. On peut aussi
précéder la commande dont on veut utiliser la version originale
par un
(ou par le sentier absolu,
p.ex. /bin/ls).
-
scripts
- Il est possible de créer des fichiers de texte contenant
une suite de commandes que l'on veut appeler (exécuter) de
manière répétitive. On appelle ce genre de fichiers de
commandes également des batch
es.
-
redirections
- Pour sauvegarder la sortie des commandes, il est possible
d'utiliser les symboles de redirection
,
et
,
correspondant respectivement à la création, l'ajout à un
fichier remplaçant la sortie standard écran et la lecture d'un
fichier remplaçant l'entrée standard clavier. La notion de
pipe
(ou tuyau/tube) est
aussi intéressante, permettant de connecter la sortie standard
d'une commande à l'entrée d'une autre commande.
-
correction
- Certains shells peuvent corriger de façon limitée la
syntaxe des commandes et éventuellement des arguments. Il
présente alors une possibilité, et demande
y/n/e
24
-
commandes multiples
- On peut indiquer des séquences de commandes avec le
séparateur ; ou à l'aide de scripts
. On peut également exécuter conditionnellement
des commandes avec les séparateurs
&&
et
||
: dans le premier cas,
on n'exécute la deuxième commande que si la première a réussi.
Dans le second, on n'exécute la deuxième commande que si la
première n'a pas réussi (son code de retour est différent de
zéro).
-
job control
- Il est possible de gérer plus d'un seul processus ou job
dans le même shell
.
-
expansion
- L'expansion des arguments des commandes, particulièrement
en présence d'expressions régulières
(regexp
) est effectuée par
le shell
. Il faut donc
précéder d'un
les éventuels
caractères joker
s à
interpréter par la commande (p.ex. grep
). On peut aussi entourer l'argument par des
guillemets, voir plus bas.
-
code de résultat
- Chaque commande offre un code de résultat qui peut être
traité par l'appelant. Le code de retour est stocké dans la
variable d'environnement spéciale $?
. Lorsque cette valeur vaut zéro, la commande
précédente a réussi.
-
guillemets
- Le rôle des guillemets est multiple: les guillemets doubles
" empêchent l'expansion des jokers et la séparation
d'arguments par des espaces, les guillemets simples '
empêchent en plus les expansions de variables. Enfin, les
guillemets inverses (`, anglais:
backtick
) exécutent la
commande dans les guillemets et retournent la sortie standard
comme expansion.
-
tuyaux
- Les tuyaux (anglais: pipe
s) permettent de connecter la sortie d'un
programme à l'entrée d'un autre, afin d'effectuer une opération
de flot complexe.
suivant: Historique, complétion, variables
d'environnement, monter: L'interface de commande
(shell) précédent: Choix du shell présenté
Table des matières
godrik 2003-02-16