Vous êtes sur la page 1sur 8

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 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.

Introduction à l’Administration des systèmes LINUX/UNIX – M. DIOKH 1


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 y a 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é.

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 y a 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.

Introduction à l’Administration des systèmes LINUX/UNIX – M. DIOKH 3


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

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.

Introduction à l’Administration des systèmes LINUX/UNIX – M. DIOKH 4


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 :

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


❖ Groupement de commandes : ";" - "( )" - "{ }"

cmdA; cmdB; ….

{ cmdA ; cmdB; }

(cmdA ; cmdB )

❖ Liaison et exécution conditionnelle : && - ||

Les commandes peuvent être liées et exécutées de façon conditionnelle.

commandeA && commandeB : la commande située après « && » sera exécutée uniquement
si la commande précédente a retourné 0 (réussite).

commandeA || commandeB: La commande située après « || » ne sera exécutée que si la


commande précédente a retourné autre chose que 0 (échec).

❖ 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 ba
sh.
▪ 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 raccourcis de commandes ou groupes de commandes.

Introduction à l’Administration des systèmes LINUX/UNIX – M. DIOKH 6


❖ 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:

Tous les fichiers commençant par t :

Introduction à l’Administration des systèmes LINUX/UNIX – M. DIOKH 7


❖ 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 8

Vous aimerez peut-être aussi