République Algérienne Démocratique et Populaire Ministère de l’Enseignement Sup

République Algérienne Démocratique et Populaire Ministère de l’Enseignement Supérieur et de la Recherche Scientifique Université des Sciences et de la Technologie d’Oran Mohamed Boudiaf Faculté de Mathématiques et Informatique Département d’informatique Polycopié TP Système d’exploitation Unix Exercices et Quelques Corrigés Sous RedHat Linux/Unix Dr. Djamila BENHADDOUCHE « Ceux qui sont férus de pratique sans posséder la science sont comme le pilote qui s’embarquerait sans timon, ni boussole et ne saurait jamais où il va » (Léonard de Vinci 1452 – 1519) « Unix est simple. Il faut juste être un génie pour comprendre sa simplicité. » (Dennis Ritchie 1941 – 2011) Je conseille donc ce polycopié à toutes les personnes qui souhaiteraient mettre leur deuxième pied dans le monde d’Unix/Linux. « Tout le monde peut réussir, la seule façon de faire un excellent travail est d’aimer ce que vous faites. » -Steve Jobs, le créateur d’Apple (1955-2011)- AVANT PROPOS : Ce polycopie a pour objectifs de : ➢ Justifier l'emploi du système Unix; ➢ Faire découvrir le système d'exploitation Unix; ➢ Former le lecteur à sa pratique; ➢ Permettre à chacun d'être plus efficace dans son travail sous Unix en utilisant les commandes appropriées. ➢ A la fin le lecteur pourra être considéré comme un utilisateur averti. Douglas McIlroy, l'inventeur des tuyaux Unix (Unix pipes en anglais) et l’un des fondateurs de la tradition d'Unix, résume la philosophie comme suit : « Voici la philosophie d'Unix : Écrivez des programmes qui effectuent une seule chose et qui le font bien. Écrivez des programmes qui collaborent. Écrivez des programmes pour gérer des flux de texte [en pratique des flux d'octets], car c'est une interface universelle. » Ce qui est souvent résumé par : « Ne faire qu'une seule chose, et la faire bien. ».  Aussi ce polycopié généralement sur les scripts shell s'adresse aux utilisateurs des systèmes Unix/Linux souhaitant s'entraîner à l'écriture de scripts shell.  Les fonctionnalités des cinq shells couramment utilisés (Bourne Shell, Korn Shell, Bourne again Shell, Cshell, Tcshell ) sont exploitées dans une succession d'exercices de difficulté progressive.  Les premiers chapitres vous permettront de manipuler des variables, de rédiger des scripts Shell en utilisant des structures de contrôle et de savoir déboguer un script. Vous vous exercerez à définir des variables de type tableau, des fonctions, à concevoir des menus ou encore à gérer les entrées et sorties d'un script.  Quelques exercices en langage C, traduits du compilateur C vers l’interpréteur Shell et vice versa. Enfin ce polycopié est le fruit de plusieurs années dans le monde de différents UNIX (Ultrix Digital, Solaris Sun, et enfin Red Hat Entreprise Linux 5 sous Dell). Toutes ces séries de travaux pratiques durant mes années d’enseignement ont donné des apports dans les deux sens que ce soit du mien comme ceux de mes étudiants. Exemple : un de nos anciens étudiants l’un des meilleurs de sa promotion a eu l’opportunité d’enseigner le système Unix dans la plus prestigieuse université du monde MIT (Massachusetts Institute of Technology USA) SOMMAIRE I/ Quelques bonnes raisons pour se mettre à Unix. 01 II/ Description et caractéristiques d'Unix. 03 III/ Le démarrage. 04 IV/ Où trouver de l'information sur Unix? 05 V/ Tout faire avec et grâce aux fichiers. 05 VI/ Des éditeurs de textes et le contrôle de la ligne de commande. 06 VII/ Les principales commandes d'Unix. 09 VIII/ Faire Connaissance avec le Shell. 15 a. Introduction au Shell. 15 b. Mécanismes essentiels du Shell. 17 c. Quelques commandes Unix pour écrire des scripts. 18 d. L’interpréteur de commandes ou Shell bash. 20 e. Manipulation des variables. 22 f. Les structures de contrôles : 22 f.1 Les boucles conditionnelles while et until. 25 f.2 Le choix Case. 26 f.3 Le test if. 27 g. Quelques commandes supplémentaires. 30 g.1 set. 30 g.2 Manipulation des expressions arithmétiques avec expr. 31 g.3 exit. 32 g.4 shift. 32 g.5 time. 32 g.6 Tableaux. 33 g.7 eval. 34 g.8 Fonctions. 34 g.9 La commande awk. 34 IX/ Les redirections: gestion des flux et des processus. 37 a. Série d'exemples. 37 b. Caractéristiques de processus. 39 c. Processus exécutés en avant ou arrière-plan. 41 d. Ecriture de quelques scripts simples en Shell (bourne –shell).43 e. Ecriture de quelques scripts traduits en différents shell (bourne - shell, korn –shell, C-shell, T-Cshell). 45 X/ Langage C sous Unix. 50 a. Rappel du langage C avec quelques exemples. 50 b. Traductions de quelques exemples du compilateur langage C vers l’interpréteur Shell. 58 XI/ Conclusion. 63 XII/ Références. 64 1 « Unix n'a pas été conçu pour empêcher ses utilisateurs de commettre des actes stupides, car cela les empêcherait aussi de réaliser des actes ingénieux. » – Doug Gwyn- I/ Quelques bonnes raisons pour se mettre à Unix a. Unix système universel: Dans toute entreprise, tout laboratoire, toute université, les stations de travail ou de calcul sont sous Unix et le nombre de PC sous Linux est croissant. En sachant utiliser Unix, on peut travailler de manière identique et efficace sur toutes les plates-formes non Windows. b. Unix système stable. c. Certaines utilisations nécessitent des contraintes de production fortes telles que: a. la disponibilité (pas de reboot, pas d'arrêt), b. la performance en charge (nombre d'utilisateurs, de processus), c. la pérennité (car Unix est basé sur des standards), d. et la stabilité (pas ou peu de bogue système). d. Interfaces d'Unix frustres (mais efficaces) ou riches : Une des principales difficultés d'Unix reste son abord par ligne de commande, un peu démodé demandant un minimum d'investissement avant de pouvoir faire la moindre tâche. Ce type d'interface frustre reste pourtant inégalé en efficacité depuis 30 ans ! Par ailleurs, il existe depuis plus de dix ans des interfaces graphiques comparables à ceux du système Windows et maintenant les environnements graphiques sous Linux, par exemple KDE, qui n'ont plus rien à envier à celui des systèmes Microsoft. 2 e. Devenez votre propre ingénieur-système : Sur un système d'exploitation, on ignore en général souvent ce qui se passe "derrière" chacune des actions effectuées. Si ça marche, tout va bien. Pourquoi chercher plus ? Cette ignorance peut être sans conséquence sur le travail quotidien jusqu'au jour où l'ingénieur système change une brique du système (via un service pack ou une mise à jour), modifie un logiciel, ajoute une fonctionnalité ; jusqu'au jour où un disque dur de votre station se "crashe" et que vous devez en quelques heures changer d'ordinateur et/ou de compte et surtout continuer à travailler. f. Ecriture de scripts de commandes : Autre exemple, vous avez l'habitude de rajouter/supprimer quelque chose à la main dans un ou deux fichiers chaque jour, aucun problème ! Comment faire si, pour une raison ou une autre, vous avez 500 fichiers à traiter et que la situation soit urgente (fin de thèse, papier/rapport à renvoyer rapidement etc.) ? Ecrivez un script de commandes Unix! g. Unix répond à vos besoins : Unix est un des rares systèmes permettant de résoudre l'ensemble des problèmes cités plus haut. Vous avez la possibilité d'installer, de tester, d'utiliser sur de multiples plateformes un système pérenne, ouvert et sans réelle limitation. 3 II/ Description et caractéristiques d'Unix a. Système ouvert (pas de code propriétaire ; seules certaines implémentations sont propriétaires). b. Multitâches (plusieurs programmes peuvent s'exécuter en même temps, sans blocage). c. Mémoire protégée (pas d'interaction entre les programmes) et virtuelle (le système peut utiliser plus de mémoire que la mémoire physique disponible). d. Multi-utilisateurs (plusieurs utilisateurs travaillent sur la même machine en même temps), gestion des droits. e. Interactif et batch. f. Interface graphique X et shell (interpréteur de commandes). g. Plusieurs centaines d'outils (manipulation de texte, développement de logiciels, communication etc.). Sur un système unix, on trouve deux types de personnes, celles qui vont utiliser le système (user utilisateur) et celles qui vont l'administrer (root administrateur). Les premières ont le droit d'exécuter certaines commandes propres à leur environnement et leur travail, quelques commandes liées au système leur sont 4 interdites. Seuls les administrateurs peuvent installer et configurer. Ils sont chargés de la bonne marche de la machine. III/ Le démarrage. Donc, vous voilà connecté à une machine Unix sous X (en fait X11-windows). Sachez d'abord que vous êtes sous votre répertoire HOME. C'est un espace disque qui vous appartient, à vous et à vous seul. Normalement vous pouvez écrire et lire tous les fichiers qui s'y trouvent. Unix est un système d'exploitation robuste. Il est impossible à un utilisateur d'arrêter involontairement un ordinateur au point que le seul remède soit un reboot. Si tout parait bloqué, on peut souvent s'en tirer avec un Ctrl-c (touche Ctrl maintenue enfoncée pendant qu'on tape le c) ou avec un des boutons de la souris qui fait apparaître un menu : au pire, se déconnecter suffit à remettre tout en place 5 Unix est convivial. Cependant Unix ne précise pas vraiment avec qui. » – Steven King- IV/ Où trouver de l'information sur Unix? Trouver l'information n'est pas un problème, le plus dur est de se poser la ou les bonnes uploads/Science et Technologie/ fmi-seu.pdf

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