Chapitre 2 : Le Shell Unix et la gestion des processus PLAN DU COURS 2.1 Instal

Chapitre 2 : Le Shell Unix et la gestion des processus PLAN DU COURS 2.1 Installation de GNU/linux 2.2 Les mécanismes de résolution des problèmes 2.3 Le Shell BASH 2.4 Les commandes de base 2.5 Les éditeurs de textes 2.6 Les redirections 2.7 Les filtres et utilitaires 2.8 La gestion des processus 2.9 Travaux Pratiques 2.10 Travaux Dirigés 2.1 Installation de GNU/linux A- Installation de ubuntu server 17.04 ou 16.04 LTS, (mais cela dépend de l’enseignant, néanmoins il doit utiliser une distribution de la famille DEBIAN avec le gestionnaire de paquet APT). B- Installation de fedora server 25 ou 26 (mais cela dépend de l’enseignant, néanmoins il doit utiliser une distribution de la famille REDHAT « scientific linux, opensuse, fedora desktop, CentOS avec le gestionnaire de paquet YUM et/ou DNF) 2.2 Les mécanismes de résolution des problèmes Il n’est pas possible de connaitre par cœur toutes les commandes GNU/Linux et tous les arguments d’une commande pour cela GNU/linux un ensemble de mécanismes permettant d’aider l’utilisateur à trouver des références sur la commande recherchée. A- L’aide propre aux commandes Certain programmes GNU/Linux ont intégrés leur propre aide, il s’agit de l’aide propre aux commandes, elle s’obtient en tapant le commande : Commande --help Figure : résultat de la commande date –help B- L’aide interne au shell Le Shell dispose de commandes et des programmes internes pour obtenir la liste de ces commandes on renseigne sur le Shell la commande help Figure : résultat de la commande help Pour obtenir l’aide d’une commande interne au Shell on tape la commande suivante : $ help commande Exemple: help type ; help unset; help pwd ; help echo Figure : résultat de la commande help type C- Le manuel en ligne Le manuel est commun à tous les systèmes UNIX, c’est un standard POSIX (Portable Operating System Interface) il est accessible par la commande man Figure : man date La capture précédente nous présente le résultat de la commande man date pour le quitter on tape le lettre q. Le manuelle possède neuf (9) sections, la commande man man permet de connaitre les différentes sections du manuel Figure : les différentes sections du manuel GNU/Linux. Par défaut le manuel recherche les pages correspondantes à une commande à la première section de celui-ci. Figure : passwd(1) Pour obtenir l’aide de passwd on tape la commande man 1 passwd Figure : ifconfig(8) Pour obtenir le manuel de ifconfig il faut appeler la huitième section du manuel man 8 ifconfig On quitte le manuel d’une commande avec la touche q, on y recherche des mots clés avec la touche slash (/) et n recherche l’occurrence suivante du mot tandis que Shift n recherche l’occurrence précédente. D- La recherche par correspondance (apropos) Il s’obtient lorsque vous avez un doute sur la commande à utiliser, ou que vous avez perdu son nom, ou encore vous voulez connaitre toutes les commandes liées à un mot. On l’obtient avec le paramètre –k de man : $ man –k commande Figure : résultat de la commande man –k passwd Ici on nous liste toutes les commandes liées à passwd. E- La commande info Permet de lire les pages de manuel au format info, le manuel info est similaire au manuel mais les pages sont structurés, organisés et hiérarchisés avec des index. Le manuel info s’obtient avec la commande : info commande. Figure : le manuel au format info de la commande passwd. 2.3 Le shell BASH Un système d’exploitation permet d’offrir aux utilisateurs une abstraction leurs permettant d’utiliser les ressources matérielles de l’ordinateur et d’exécuter des tâches. Pour pouvoir travailler un utilisateur possède une interface utilisateur qui peut être une interface en ligne de commande où une interface graphique. La théorie des interfaces graphiques n’est pas traitée dans les livres des systèmes d’exploitation, elle n’en fait pas partie. Unix est un système d’exploitation en ligne de commande possédant un terminal qui reçoit des commandes saisies au clavier et renvoie les résultats à l’écran. Il est inenvisageable pour un professionnel de GNU/Linux de ne pas connaitre la ligne de commande et les interpréteurs de commandes ainsi que les commandes qui leurs sont associées. L’interpréteur de commande ou interprète permet d’exécuter des instructions que vous saisissez au clavier ou au sein d’un script et vous retourne des résultats. Cet interpréteur est un programme dénommé Shell. Il existe plusieurs Shells chacun disposants des spécificités qui lui sont propres.  Sh : Thompson SHell ;  Sh : Bourne SHell ;  Bash : Bourne Again SHell ;  Ksh : Korn SHell ;  Csh : C SHell ;  Dash : Debian Almquist SHell. La liste des Shells de votre distribution se trouve dans le fichier /etc/shells. Figure : Liste des Shells dans une Ubuntu server Le Shell par défaut des distribution GNU/Linux est le Shell BASH ( Bourne Again SHell) de son créateur Bourne il est une amélioration du Bourne Shell de Ken Thompson, il est un mélange du C Shell et du Korn Shell, c’est le Shell du projet GNU, il a été créé le 08 juin 1989, c’est aussi le Shell par défaut des MAC OS X, il existe aussi une version pour le système d’exploitation Windows. Le Shell fonctionne au sein d’un terminal, il attend des commandes saisit au clavier. Il existe deux types de terminaux dans le monde de GNU/Linux :  Les terminaux graphiques, comme xterm, eterm, konsole, gnome-terminal ;  Les consoles virtuelles textes, qui est le mode par défaut des distributions Gnu/Linux. Figure : console virtuelle texte Le Shell attend des commandes sur une ligne appelé invite de commande ou prompt. Cette ligne a pour signification ceci, l’utilisateur abanda sur la machine ubuntu-server sans privilège particulier se trouve dans le répertoire tilde (/home/abanda/) Il existe deux types de privilège : le mode super utilisateur (#), et le mode utilisateur simple marqué par le symbole ($). Plusieurs raccourcis clavier peuvent être utilisés :  Ctrl A : aller au début de la ligne ;  Ctrl E : aller en fin de ligne ;  Ctrl L : effacer le contenu du terminal ;  Ctrl U : efface la ligne jusqu’au début ;  Ctrl K : effacer la ligne jusqu’à la fin. A- La programmation Shell Le hell est aussi un langage de programmation permettant d’écrire des scripts et de les faire interpréter par le système. Un script est un ensemble de commande regroupées dans un fichier pour être exécuter simultanément. Un script peut se composer de commande internes ou externes, de commentaires ou être vide. Par convention un script se termine avec l’extension du shell qui va exécuter le script :  .sh : pour le Bourne shell et le Bourne Again Shell.  .ksh : pour le Korn Shell.  .csh : pour le C Shell. Pour qu’un script s’exécute, il doit avoir le droit d’exécution. Pour l’attribuer à un fichier on exécute la commande suivante : # chmod u+x fichier Pour exécuter un script on tape devant l’invite de commande la commande suivante : # ./monscript.sh Elaboration du script Pour élaborer un script la première ligne renseignée doit être la ligne shabang, elle permet de renseigner le Shell sur lequel va s’exécuter le script. # ! /bin/bash # ! /bin/dash On peut commenter un script pour une meilleur édification lors de la lecture de celui-ci, on fait cela avec un (#) devant le texte. Voici un exemple de script. 2.4 Les commandes de base A- Notion de chemin absolu et relatif Un chemin est la liste des répertoires et sous répertoires empruntés pour atteindre un fichier ou un endroit dans le système de fichier. Point clé Un chemin absolu est celui commençant par la racine du système de fichier jusqu’à la destination il commence par un / (/home/abanda/desktop). Un chemin relatif décrit une position relative à la position courante de l’utilisateur ; la notion de chemin relatif implique deux notions :  (.) qui représente de répertoire courant.  (..) qui représente le répertoire parent. ./desktop/film, document/root Les opérations suivantes sont faites sur un répertoire : création, suppression, navigation, modification. B- Syntaxe générale d’une commande Les commandes ou, instructions GNU/Linux ont la syntaxe suivante : Commande [paramètres] [argument] Les crochets veulent dire ici que les paramètres et les arguments ne sont pas obligatoires, une commande peut avoir ni paramètres ni arguments. Un paramètre est une option de la commande les deux mots sont synonymes, c’est souvent une simple lettre précédée d’un tiret ( -l , -p , -s ,-i, -h), une commande peut accepter plusieurs paramètres les un à la suite des autres (-l –p –h) ou en écrivant avec un seul tiret et en mettant tous les paramètres à la suite de ce tiret (-lph), les deux syntaxes sont équivalentes. Il est possible dans GNU/Linux de chainer les commandes les unes à la suite des autres en utilisant le séparateur (;) : $ date ; cal ; ls ;man Il existe deux types de commandes les commandes externes et les commandes uploads/Industriel/ 1-cours-systeme.pdf

  • 20
  • 0
  • 0
Afficher les détails des licences
Licence et utilisation
Gratuit pour un usage personnel Attribution requise
Partager