Telechargé par b.kebabalde700

5. Le SHELL

publicité
Le SHELL
Un système d'exploitation fournit au moins un shell ou d'une interface; ce qui vous permet
de dire à l'ordinateur ce qu'il doit faire. Un shell est parfois appelé un interpréteur de
commandes ou interprète, permet d’exécuter des instructions que vous saisissez au clavier
ou au sein d’un script et vous en retourne les résultats. Il prend les commandes saisis par
l’utilisateur et les interprète en une forme que le noyau peut exécuter sur le matériel de
l'ordinateur. Les deux types shell les plus distingués sont le Graphical User Interface (GUI) et
Command Line Interface (CLI).
Sous Windows on utilise généralement le shell GUI avec la souris indiquer les actions à faire.
Cela peut être considéré comme facile ; pourtant le CLI donne beaucoup d’avantage :
Flexibilité: Le GUI offre une flexibilité limitée dans la façon dont la commande est exécutée.
Dans une CLI, des options peuvent être associées aux des commandes pour fournir une
interface beaucoup plus flexible et puissante.
Ressources: l’interface graphique utilise généralement une grande quantité de ressources
(RAM, CPU, etc.). En effet, une grande partie de la puissance de traitement et la mémoire est
nécessaire pour afficher des graphiques. En revanche, la CLI utilise très peu de ressources
système, ce qui permet plus de ces ressources à la disposition d'autres programmes.
Répétition: Au niveau de l’interface graphique, il n'y a pas moyen facile de répéter une
action (commande) précédente alors qu’à la ligne de commande, il est facile de répéter et
aussi de modifierune commande précédemment exécutée.
Scripting: Sur l’interface graphique l’exécution de plusieurs tâches nécessite souvent
plusieurs clics de souris. Avec un CLI, un script peut être créé pour exécuter de nombreuses
opérations complexes en tapant un seul "commande": le nom du script. Un script est une
série de commandes placées dans un seul fichier. Lorsqu'il est exécuté, le script exécute
toutes les commandes contenue dans le fichier.
Accès à distance: Bien qu'il soit possible d'exécuter des commandes à distance à partir de
l’interface graphique, cette fonction n’est généralement pas configurée par défaut. Avec le
CLI, l'accès à une machine distante est facile et généralement disponibles par défaut.
Développement: Normalement, un programme basé sur une interface graphique prend plus
de temps pour les développeurs de créer par rapport aux programmes basés sur la CLI. En
conséquence, il ya généralement des milliers de programmes CLI sur un système
d'exploitation Linux typique tandis que seulement quelques centaines de programmes dans
un OS principalement sur interface graphique. Plus de programmes signifie plus de puissance
et de flexibilité.
Introduction à l’Administration des systèmes LINUX/UNIX – M. DIOKH
1
Le système d'exploitation Microsoft Windows a été conçu pour utiliser principalement
l'interface graphique en raison de sa simplicité, bien qu'il existe plusieurs interfaces CLI
disponibles, aussi. Pour les commandes simples, il ya la boîte de dialogue Exécuter, où vous
pouvez taper ou parcourir les commandes que vous souhaitez exécuter. Si vous souhaitez
taper plusieurs commandes ou si vous voulez voir la sortie de la commande, vous pouvez
utiliser l'invite de commande, également appelé le shell DOS. Récemment, Microsoft a
réalisé combien il est important d'avoir un environnement de ligne de commande puissant
et, en conséquence, a introduit le Powershell.
Comme Windows, Linux a aussi à la fois un CLI et GUI. Contrairement à Windows, Linux vous
permet de changer facilement d’'interface graphique (aussi appelé l'environnement de
bureau). Les deux environnements de bureau les plus courants pour Linux sont GNOME et
KDE. Pour accéder à la CLI depuis l'interface graphique, l'utilisateur peut ouvrir un logiciel
appelé un terminal.
Linux peut également être configuré pour ne fonctionner sans l'interface graphique; Ceci est
généralement effectué sur les serveurs qui ne nécessitent pas une interface graphique,
principalement pour libérer des ressources du système
Bien que l’interface graphique, soit aussi un shell, le sens le plus courant associé au mot shell
est la ligne de commande. C’est-à-dire l’interface en mode texte.
Il existe plusieurs shells, chacun disposant de spécificités propres :
 Le Bourne Shell (sh) est le shell le plus connu et le plus courant sur les Unix.
 Le C-Shell (csh) reprend la structure du langage C.
 Le Korn Shell (ksh) est une évolution du Bourne Shell.
 Le Z-Shell (zsh) est lui-même une évolution du Korn Shell.
Le shell de référence sous Linux se nomme le Bourne Again Shell (bash).
Il faut noter que le shell est sensible à la casse. Sauf cas exceptionnel, il faudra respecter les
majuscules et les minuscules. La plupart du temps, les commandes sont en minuscules.
Introduction à l’Administration des systèmes LINUX/UNIX – M. DIOKH
2
 L’invite de commande
Le shell attend des entrées au clavier sur une ligne appelée l’invite de commande ou prompt.
Un curseur clignotant indique la position actuelle de votre saisie.
L’invite (prompt) fournit des informations sur le terminal et votre position dans le système
de fichiers.
tc@box: ~$
tc: c’est le nom de connexion ou le login
box: le nom de la machine
~: le répertoire de travail
$: le caractère de terminaison
Ces informations peuvent être affichées séparément à partir de la ligne de commande avec
les commandes suivantes :
NB : Appuyer sur la touche « Entrez » ou « Valider » après la saisie de la commande.
Cette invite de commande nous informe que c’est l’utilisateur tc sans pouvoirs
d’administration qui est connecté sur la machine box et qu’il actuellement positionné sur le
répertoire /home/tc.
Le caractère de terminaison:
• $ ou > indique que l’utilisateur n’a pas de pouvoirs particuliers ;
• # indique que l’utilisateur est l’administrateur root qui a tous les pouvoirs.
Syntaxe générale des commandes
La ligne de commande s’articule comme une phrase, avec différents types de mots séparés
par des espaces. Les commandes ou instructions ont très souvent une syntaxe reprenant la
même structure :
commande [option(s)] [argument(s)]
Introduction à l’Administration des systèmes LINUX/UNIX – M. DIOKH
3
Une commande peut être exécutée sans options, ni arguments. Raison pour laquelle
"option(s)" et "argument(s)" sont mis entre crochet. Dans ce cas elle exécute l’action par
défaut pour laquelle elle est programmée, ou affiche un message d’erreur si ceux-ci sont
nécessaires.
Le premier mot est la commande, c’est le programme qui va effectuer une certaine action,
par exemple, afficher le contenu d’un fichier.
L’argument, c’est l’objet sur lequel on va effectuer l’action. Par exemple, le nom du fichier
dont on veut afficher le contenu.
Par exemple, avec la commande cat, nous affichons le contenu du fichier dakar
Une commande peut traiter un ou plusieurs arguments. Par exemple, nous affichons le
contenu des deux fichiers dakar et thies.
Les options quant à elles, modifient l’action par défaut pour laquelle la commande est
programmée.
Une option est souvent un caractère, précédé d’un tiret.
Par exemple, l’option -n avec la commande cat affiche les numéros des lignes :
Introduction à l’Administration des systèmes LINUX/UNIX – M. DIOKH
4
Si la commande accepte plusieurs paramètres, vous les saisissez les uns après les autres en
les séparant par des espaces : -l -a, ou en écrivant qu’un seul tiret puis tous les paramètres :
-al. Les deux syntaxes sont acceptées et produisent le même résultat. La seconde est
seulement plus courte.
Certaines commandes supportent les chaines de caractères. Dans ce cas la chaine de
caractère est précédée de deux tirets (--) par exemple, --all
Introduction à l’Administration des systèmes LINUX/UNIX – M. DIOKH
5
 Les types de commandes
Il existe plusieurs types de commandes :



Les commandes internes sont internes au shell et exécutées au sein de celui-ci. Ces
commandes font partie du programme shell, le bash.
Lorsque vous appelez ce type de commandes, vous
faites en réalité appel au shell bash.
Les commandes externes sont des programmes binaires présents en tant que fichiers
sur votre disque dur (ou tout autre support de données). Quand vous exécutez la
commande, ce fichier est chargé en mémoire et lancé en tant que processus.
Les alias : ce sont des alias ou raccourcis de commandes ou groupes de commandes.
 Wildcards : caractères de substitution
Lors de l’utilisation de commandes en rapport avec le système de fichier, il peut devenir
intéressant de filtrer la sortie de noms de fichiers à l’aide de certains critères, par exemple
avec la commande ls. Au lieu d’afficher toute la liste des fichiers, on peut filtrer l’affichage à
l’aide de divers critères et caractères spéciaux.
Caractère(s)
Rôle
*
Remplace une chaîne de longueur variable, même vide.
?
Remplace un caractère unique quelconque.
[...]
Une série ou une plage de caractères.
[a-b]
Un caractère parmi la plage indiquée (de a à b inclus).
[!...]
Inversion de la recherche.
[^...]
Inversion de la recherche.
Soit le contenu suivant :
Vous obtenez tous les fichiers se terminant par bak en faisant:
Introduction à l’Administration des systèmes LINUX/UNIX – M. DIOKH
6
Tous les fichiers commençant par t :
 Verrouillage de caractères
Certains caractères spéciaux doivent être verrouillés, par exemple en cas de caractères peu
courants dans un nom de fichier.



L’antislash \ permet de verrouiller un caractère unique.
Les guillemets "..." permettent l’interprétation des caractères spéciaux, des variables,
au sein d’une chaîne.
Les apostrophes '... ' verrouillent tous les caractères spéciaux dans une chaîne ou un
fichier
Exemple : La commande touch permet de créer un fichier vide.
La syntaxe d’utilisation : touch fichier.
En voulant créer un fichier nommé etudiants de matam, on se rend compte que la
commande crée trois fichier : etudiants, de et matam. A cause des espaces, le système
considère les trois arguments etudiants, de et matam à créer.
Pour régler le problème il faut verrouiller les espaces :
Pour affecter une valeur à une variable on utilise simplement le signe égalité (=) sans espace
de part et d’autre du signe.
La syntaxe de l’affectation est : nom_variable=valeur
Introduction à l’Administration des systèmes LINUX/UNIX – M. DIOKH
7
Téléchargement