Dans le monde Linux (qui est un clone d'UNIX système V) SHELL est un interpréteur en ligne de commandes. Il permet
de naviguer dans le système, exécuter des commandes, de gérer des processus et un ensemble de variables paramètrisant
votre environnement et de programmer des tâches relativement complexes (fichier ou script contenant un ensemble de
commandes Unix).
Aujourd'hui, les interfaces graphiques facilitent grandement l'utilisation, la configuration et l'administration des
ordinateurs basés sur Linux et la plupart des utilisateurs ne se servent pas de la ligne de commande.
Cependant la connaissance du langage SHELL peut être d'un grand secours en cas de problème, par ailleurs l'interface
graphique a ses limites et certaines actions doivent être réalisées en ligne de commande. Souvent le recours à la
ligne de commande est beaucoup plus rapide que l'interface graphique.
SHELL signifie coquille, c'est donc ce qui entoure le noyau Linux. SHELL est donc une interface fonctionnant en mode
texte entre noyau Linux, l'utilisateur et les applications.
Le SHELL fonctionne au moyen d'un terminal composé du clavier pour saisir les instructions et de l'écran pour afficher
les résultats. Les distributions Linux proposent en plus des consoles ou terminaux graphiques.
L'utilisation de SHELL implique des connaissances concernant:
On entend souvent dire à juste raison, "avec Linux, tout est fichier". Effectivement, Linux peut se
résumer à une organisation ou arborescence de répertoires et fichiers.
La base du système de fichiers est la racine / (slash). La structure n'est pas rigoureusement identique pour toutes les
distributions GNU-Linux, cependant depuis 2004 l'harmonisation est en cours.
Le tableau suivant présente la structure du système:
/bin | contient les fichiers binaires exécutables employés par tous les utilisateurs: on y trouve en particulier les commandes Shell. |
/boot | contient les fichiers nécessaires au démarrage de Linux. |
/dev | contient les fichiers spéciaux descripteurs de périphériques: ce sont les points d'entrée des périphériques. Il est souvent nécessaire d'utiliser des programmes pour interpréter ces contenus qui sont sous forme de "données brutes". |
/etc | contient les fichiers de configuration utilisés par les programmes.
|
/home | contient le répertoire personnel et les données des utilisateurs |
/lib | contient les biliothèques partagées essentielles au système lors du démarrage |
/lost+found | contient les fichiers orphelins ou endommagés après une vérification |
/media | répertoire de montage des périphériques temporaires (amovibles): cd-rom, clé USB etc...) |
/mnt | sert d'espace de montage de test pour l'administrateur |
/opt | contient les paquetages logiciels particuliers nécessitant un espace d'installation différent |
/proc | répertoire virtuel pour les informations concernant le noyau et les processus |
/root | répertoire spécifique et séparé de l'administrateur |
/sbin | contient les fichiers binaires exécutables de l'administrateur |
/srv | contient les données de services offertes par le système |
/sys | contient les informations concernant les périphériques |
/tmp | stockage des fichiers temporaires |
/usr | contient les données statiques exploitées par les utilisateurs: sources, exécutables, documentation, bibliothèques etc...). Ce répertoire contient les applications usuelles des utilisateurs et leurs fichiers |
/var | contient les données variables: journaux, bases de données etc... |
Plusieurs consoles sont disponibles pour accéder au Shell. Elles sont accessibles en mode texte. Ce sont des consoles
virtuelles que l'on ouvre par les combinaisons CTRL+ALT+F1 pour la première console jusqu'à CTRL+ALT+F6 pour la 6ème
console. Pour passer d'une console à l'autre => ALT+F1 à ALT+F6. Pour chaque console, on peut se connecter avec une identité différente ou plusieurs fois la même identité avec des
applications différentes.
Retour au mode graphique: CTRL+ALT+F7 ou ALT+F7
Les interfaces graphiques proposent également l'émulation de consoles virtuelles.
A l'ouverture d'une console, il faut entrer son identifiant puis mot de passe pour avoir accès au "pompt". Le promt
est représenté par le nom de la machine suivi généralement du caractère "$" ce qui signifie que le système est dans
l'attente d'une commande de l'utilisateur. Nota: lorsqu'une console est ouverte via l'interface graphique, il est
généralement inutile d'entrer son identifiant et mot de passe.
Le Shell via la console attent une commande sur l'entrée standard (stdin) qui est en général le clavier. Le shell
interprète et exécute la commande et envoie le résultat sur la sortie standard (stdout) qui est en principe l'écran.
Des commandes spéciales permettent de rediriger la sortie vers un fichier ou l'entrée d'une autre commande. En cas
d'erreur, le résultat est redirigé vers la sortie stderr (affichage sur l'écran).