Home

5 Le syst`eme d`exploitation Unix/Linux - storage.neros.fr2015-10

image

Contents

1. Les commandes Unix offrent une palette int ressante de logiciels qui per mettent des manipulations simples les scriptes shell vont permettre d agencer ces appels de commandes et nous sauver du temps On peut penser aux scriptes shell comme des programmes en toute lettre puisqu il ex cutent un algorithme Ce qui suit est une pr sentation sommaire de quelques scriptes shell l objec tif est de permettre ceux que cela peut int resser de construire leurs propres scriptes une recherche sur internet permettra rapidement de parfaire ses connais sances en la mati re Les quelques ouvrages cit s dans la bibliographie touchent tous aux scriptes shell et vont beaucoup plus loin Pour la suite le shell de travail est pr sum tre CSH ou encore TCSH Voir ce propos le commentaire la fin de cette section 5 11 1 Set echo cat Avant de d buter il est bon de se rappeler que le shell admet des d finitions de variables avec la commande Unix SET Par exemple commande unix gt set toto 1 d finit une variable toto reconnue par le shell de travail commande unix gt echo toto 1 commande unix gt La commande ECHO permet de lire le contenu d une variable Notons que les va leurs num riques peuvent tre quelconques des entiers ou des flottants toutefois le C shell n admet que l arithm tique des entiers Ainsi commande unix gt set toto 1 commande unix gt toto toto 1 commande uni
2. logiciell logiciel erreur 1 erreur2 En proc dant ainsi avec 2 3 4 logiciels on construira une cha ne de plus en plus longue o le r sultat d une commande devient le param tre saisie par la commande suivante et ainsi de suite Sous Unix cette op ration de briquetage se fait avec l op rateur Exemple combiner les commande cat et grep La commande cat demande un nom de fichier saisie puis renvoie tout le fichier l cran en r sultat La com mande grep cherche une chaine de caract res dans un flot de texte Une mani re quivalente de faire cette recherche serait d crire cat fichier grep i prof On imagine alors le flot de texte r sultat de cat fichier tre bifurqu vers l entr e standard de grep laquelle recherche dans ce flot le mot prof Si ce mot est trouv alors comme r sultat la ligne o il apparait sera reproduite l cran r sultat de notre sch ma ci haut 5 11 Les scriptes shell Les commandes Unix peuvent se lancer l une apr s l autre Dans la pratique une cha ne de travail peut amener plusieurs t ches diff rentes chacune ex cut e 5 11 LES SCRIPTES SHELL 59 par un logiciel diff rent C est souvent le cas lorsque nous avons manipuler des fichiers par exemples compter le nombre de ligne de tous les fichiers textes d un r pertoire s lectionner les 10 plus petits ensuite concat ner les cinq premiers etc
3. pouvoir r p ter une cha ne de commandes souhait Pour cela il suffit diter un fichier de texte et d y recopier notre scripte shell Ensuite il faudra donner les droits d ex cution avec CHMOD pour pouvoir lancer le scripte qui agit alors comme une nouvelle commande Unix Pour isoler le scripte on cherchera lui accorder son propre shell de travail La premi re ligne du texte suivant fait exactement cela donc lorsque la commande EXIT est ex cut e le scripte quitte le shell ici un csh et nous lib re la ligne de commandes bin csh f Les commentaires sont maintenant precedes du diese Creer la liste de tous les fichiers f set liste ls x Pour chaque fichier changer la fin f gt F foreach i liste En utilisant le point comme separateur imprimer le champ 1 qui le precede puis ajouter F set fic echo i cut d SELYF echo i Sfic Deplacer le fichier vers le nouveau nom fic cree mv Si Sfic 62 CHAPITRE 5 LE SYST ME D EXPLOITATION UNIX LINUX compiler le nouveau fichier grl SEC lancer l executable etc etc end exit Le scripte C shell ci dessus permet de faire une gestion efficace de fichiers et de les manipuler pour ensuite lancer un calcul s il s agit de fichiers sources de programmation Les scriptes shell permettent beaucoup de flexibilit toutefois chaque type de shell aura une syntaxe qui lui sera particuli re Ainsi l
4. CHAPITRE 5 Le syst me d exploitation Unix Linux Les syst mes et r seaux informatiques sont g r s par un syst me d exploi tation SE qui cherche coordonner les op rations d ex cution de logiciels et d entr es sorties de sauvegarde de communication etc Le SE Unix nous int ressera davantage il a t r dig en C donc int gre parfaitement la fonctionalit de ce langage Il d finit par ailleurs l environnement de travail de plusieurs utilisateurs travaillant en parall le simultan ment Le but ici est de faire un survol de ce SE pour en saisir l esprit et nous per mettre de travailler efficacement en TP 5 1 Un A N Caract ristiques principales d Unix configuration libre l utilisateur est libre d adapter son environnement de travail ses propres besoins multi t ches temps partag entre utilisateurs multi utilisateurs protocole de gestion de comptes individuels mode interactif ou dormant Stable 51 52 CHAPITRE 5 LE SYST ME D EXPLOITATION UNIX LINUX 6 versions p rennes Linux solaris etc Unix permet la fois une interactivit par interface graphique surtout Xwin dows mais aussi un environnement de langage de commandes crites et lanc es par l utilisateur il s agit de travailler sous un logiciel dit interpr teur de com mandes ou shell Il existe diff rents shell donc l interpr tation et la syntaxe des commandes vari
5. S 53 Le i node contient les informations essentielles d un fichier son nom son volume droits d acc s date de cr ation propri taire etc Le nom d un fichier pointe vers le i node de ce fichier Les fichiers ordinaires flot de caract res cod s 8 ou 16 bits Les fichiers texte ASCII sont un cas particulier dont le flot contient le caract re de format tage carriage return r pour retour de chariot qui s pare les lignes de texte 5 4 Fichiers et r pertoires L utilisateur qui acc de au syst me Unix fait partie d une arborescence repr sentant tout le syst me La position absolue d un utilisateur dans cette arborescence se d finie partir du r pertoire qu il elle occupe par d faut Le r pertoire courant marque la position actuelle partir de laquelle s ef fectue toute op ration de manipulation ou recherche de fichiers le chemin absolu d un fichier se lit partir d un point de r f rence universel du SE soit la racine du syst me symbolis e par le caract re s pare diff rents r pertoires de l arborescence par exemple home boily Cours STUSM fichier tex indique la localisation exacte universelle de fichier tex sur l ordinateur le chemin relatif indique un chemin d fini partir de la position courante Les fichiers majuscules et minuscules sont distingu es pour les noms tous les caract res sont permis s
6. auf amp par de contrainte pratique sur la longueur permise des noms de fichiers 5 5 Les utilisateurs Chaque utilisateur du SE poss de 1 Un nom et un mot de passe code secret gestion des login 2 un identifiant num rique uid et groupe gid 3 un r pertoire de travail 4 un shell langage de commandes e g tcsh Toutes ces informations stock es dans la base de donn es du logiciel passwd qui permet l utilisateur de changer son mot de passe La notion de groupe permet l utilisateur de partager certains fichiers avec d autres membres du m me groupe Le super utilisateur root g re tout le syst me a des droits d acc s interdits aux utilisateurs normaux C est l ing nieur de tout le syst me informatique 54 CHAPITRE 5 LE SYST ME D EXPLOITATION UNIX LINUX 5 6 Les droits d acc s Il y a trois cat gories d utilisateurs le propri taire le groupe les autres tous owm et trois types de droits d acc s lecture r criture w ex cution x De plus il faut reconnaitre le type du fichier ordinaire r pertoire d lien symbolique 1 ou sp cial c ou b Donc il faut au total 3 x 3 1 10 caract res pour identifier tous les droits d acc s d un fichier On repr sentera ces droits par la cha ne tuuugggooo o tour tour apparaissent le type t les droits de propri taire u etc 5 7 Visualiser l info sur
7. de unix gt csh commande unix gt set toto cat csh commande unix gt set N 0 commande unix gt foreach t Stoto CNE N 1 if SN gt 100 then echo Grand fichier exit else endif end commande unix gt Grand fichier commande unix gt Dans cet exemple nous avons utilis la construction FOREACH END Ici nous avons cr er un compteur N et nous cherchons d terminer si les fichiers csh tous ensembles contiennent plus de cent mots Il y aurait une fa on plus simple de faire avec WC La d claration de toto contient tous les mots s par s d un 5 11 LES SCRIPTES SHELL 61 espace blanc L argument de la boucle FOREACH t accepte tour tour les mots contenu dans toto La construction IF ELSE ENDIF ressemble beacoup celle du langage C sans lui tre identique Ainsi l utilisation des points virgules n est maintenant plus n cessaire il n est pas faux de les utiliser par contre Remarque la commande EXIT agit comme en C Elle va causer la fin du pro cessus shell C est pour cela que nous avons d abord lancer un cshell commande CSH avant l ex cution de la boucle par anticipation En cr ant puis en arr tant un processus csh nous revenons au shell de d part qui pouvait tre un csh tesh ou autre 5 11 3 Exemple d un C shell Jusqu pr sent nous avons travaill la ligne de commandes Il est bien en tendu que le but des scriptes est de
8. e l utilisateur Autres arguments utiles de cd on retourne au r pertoire pr c dent avec cd cd suivit de moins on remonte d une unit relative dans l arborescence avec ca de deux unit s avec cd etc 3 Recherche et comparaison de fichiers S1 on d sire comparer le contenu de deux fichiers par exemple pour v rifier 5 10 ENCHA NEMENT DES COMMANDES 57 les diff rences apport es lors d une dition on peut utiliser la commande diff ainsi diff n fichier1 fichier2 ce qui aura pour r sultat d afficher l cran les lignes de chaque fichier si elles diff rent entre elles Si l option n est donn e alors le num ro de ces lignes apparait en premi re colonne On peut recherche une variable voire une phrase dans un ou plusieurs fi chiers l aide de la commande grep Ainsi grep i nom toto tex chapli tex aurait pour effet de fouiller chacun des fichiers nomm s et imprimer l cran chaque occurrence du mot nom Avec l option 1 ignore les ma juscules 4 Contenu d un fichier commandes more et less renvoient l cran le contenu d un fichier une page la fois En pressant la barre du clavier on passe la page suivante 5 Tout le fichier on peut envoyer l cran un fichier entier avec la commande cat Ceci est utile avec de petits fichiers mais pas pratique sinon Finalement on obtiendra une liste de toutes les options ainsi
9. ent en fonction du shell utilis Bourne shell Bourne Again Shell ou bash Korn Shell C shell logiciel csh TC shell logiciel tesh Les deux derniers shells incorporent plusieurs op rations de contr le du C d o il tirent leur nom Par exemple les structures if else On peut ainsi presque composer un programme sans compilation on parlera de scripts du shell 5 2 Outils de travail logiciels Les principaux outils que nous utiliserons sous Unix seront par exemple Editeurs de texte nedit vi emacs sed awk Compilateurs pour le d veloppement de logiciels gcc g cc autres Services r seaux navigateurs web courriel transfert de fichiers Documentation pour se d panner le manuel en ligne man et bien d autres 5 3 Syst me de fichiers D finition le fichier est un volume d informations sauvegard sur un m dium non volatile identifi par une structure ou i node sur ce m dium Sous Unix tout est fichier c est dire un volume de donn es On reconnaitra quatre types de fichiers 1 ordinaires par exemple un programme des donn es num riques 2 r pertoires ils contiennent des fichiers ordinaires ou des sous r pertoires 3 lien symbolique pointe vers un fichier sans le dupliquer 4 sp ciaux ils permettent l acc s un p riph rique imprimante modem souris ou un r seau 5 4 FICHIERS ET R PERTOIRE
10. es instructions de branche ment sous un C shell n acceptent pas les m mes instructions que sous un shell Bourne bash ou encore zsh Lorsque les scriptes sont courts il peut tre tr s avantageux de les adapter ses besoins et d apprendre en composer un minimum Toutefois dans les cas o les scriptes demandent des op rations complexes il est pr f rable de se tourner vers des langages de programmation interpr t s comme PERL ou encore PYTHON En particulier PERL est un langage interm diaire entre les commandes Unix et la programmation proprement dite pour cette rai son c est un des langages de choix pour la mise en place de cha ne d analyse et de manipulation de donn es post processing
11. les fichiers La commande Unix 1s permet d obtenir l information de base sur un ou des fichiers Par exemple Is I chemin nom s de fichier s est la commande Unix permettant d obtenir l cran des informations tel rw rw 1 boily stusm 18 Nov 15 12 30 toto tex propos du fichier toto tex Notons que l est une option de la commande unix ls Ici le r sultat indique que toto tex est un fichier ordinaire son pro pri taire est boily l utilisateur auquel appartient le shell pas le fichier a les droits de lire r et crire w et enfin que les membres du groupe stusm ont ces droits galement Tout autre utilisateur n a aucun droit d acc s au fichier toto tex repr sent par les trois dernier traits La date de cr ation est galement in diqu e de m me que l heure 5 8 CHANGER LES DROITS D ACC S 55 5 8 Changer les droits d acc s Pour changer les droits d acc s un fichier ou r pertoire il faut voquer la com mande Unix chmod La syntaxe de cette commande est chmod u g o a r w x nom de fichier o le s parateur indique une alternative le premier groupe indique le choix d utilisateur vis le deuxi me ajoute ou soustrait le ou les droits r w ou x au fichier nomm Par exemple la commande chmod a rwx toto x permettrait d un seul coup de soustraire les droits de lecture criture et ex cution tous les utilisateurs a
12. p comme ceci cp i nom fichier1 chemin_absolu ou relatiffnom fichier2 56 CHAPITRE 5 LE SYST ME D EXPLOITATION UNIX LINUX root etc home bin ee NS Tony Jane FIG 5 1 Diagramme montrant une partie de l arborescence d un syst me Unix permet une copie conforme dans le r pertorie courant si le chemin est omis sinon dans le r pertoire indiqu par le chemin au nom choisi nom fichier2 2 Les r pertoires Pour se faire une id e de la disposition des fichiers il est utile de consulter le diagramme de la Fig 5 1 Ici Tony et Jane repr senteront deux utlisa teurs qui ont des r pertoires sp cifiques dans l arborescence du syst me repr sent e par le diagramme Ainsi apr s s tre logg connect Tony se retrouve au point lhome Tony du syst me c est dire dans un r pertoire appel Tony lui m me sous r pertoire du r pertoire home son tour sous r pertoire de la racine root soit Si Tony veut connaitre son r pertoire actuel il lance la commande pwd qui lui affichera le chemin absolu o il se trouve S il d sire changer de r pertoire par exemple pour se retrouver sous bin il fait cd bin et s il d sire revenir son r pertoire d origine il lance cd ou encore cd home Tony qui donne le m me r sultat le symbole repr sente le chemin absolu de l espace de travail de l utilisateur on r f re souvent cet espace somme le r pertoire home d
13. que la syntaxe en consultant le mode d emploi d Unix au moyen de la commande man man k nom commande ou th me placera l utilisateur la page pertinente du manuel o la d finition et l utli sation de la commande nom commande apparait L option K permet de faire la recherche d un th me dans le manuel d Unix 5 10 Encha nement des commandes Une propri t int ressante Unix est la gestion de flot de donn es par l entre mise de fichiers standards d finie pour tout logiciel y compris ceux que nous d velopperons Il s agit de fichiers standard d entr e stdin de sortie stdout et d erreur stderr 58 CHAPITRE 5 LE SYST ME D EXPLOITATION UNIX LINUX On peut se repr senter l ex cution d un logiciel sous Unix comme un flot de donn es comme ceci de gauche droite saisie de donn es sortie r sultat logiciel erreur La saisie de donn es est fonction du logiciel par exemple il peut tre n cessaire d initialiser une variable du programme La sortie est le r sultat attendu il est envoy l cran par d faut Il est clair que les commandes Unix suivent ce sch ma nous avons vu com ment leur passer des param tres en entr e voire des options donc il y a un flot de donn es saisies Il est alors possible d imaginer une cha ne de logiciels ou commandes Unix s emboitant l une l autre comme ceci saisie r sultat1 r sultat
14. u g et o ensembles pour tout fichier dont le nom d bute par la cha ne toto Le caract re sp cial x est un caract re d chappement il remplace toutes les combinaisons possibles de caract res et symboles c est dire qu il compl te la suite toto par tout symbole ascii permis 5 9 Les commandes les plus courantes Sous Unix les commandes acceptent la syntaxe g n rale nom commande option1 option2 variables nom fichier ou r pertoire et nous en avons vu des exemples avec chmod et ls d options et de variables pass es en arguments la commande Les crochets indiquent des arguments qui peuvent tre facultatifs l ex cution de la commande Deux types de commandes vont nous int resser davantage celles se rapportant la gestion des fichiers et celles relatives la gestion de notre compte 1 Les fichiers les cr er les nommer etc On connait d j les 2 commandes les plus importantes se rapportant aux fichiers soit ls et chmod Pour d placer un fichier n importe o sur le syst me on peut utiliser mv pour move comme ceci mv i nom fichier chemin_absolu nom fichier2 Ici le fichier peut tre un r pertoire entier l option i force une interroga tion si nom fichier existe d j pratique pour viter les pertes de donn es On utilise mv pour renommer un fichier par exemple Pour faire une copie conforme d un fichier il suffit d voquer c
15. x gt echo toto 2 commande unix gt va permettre de cr er un compteur ou plus g n ralement d effectuer des op rations arithm tiques simples L affectation d une valeur une variable shell ne se limite pas aux nombres simples Par exemple la s rie de commandes suivantes cr e un tableau de valeurs 60 CHAPITRE 5 LE SYST ME D EXPLOITATION UNIX LINUX commande unix gt set toto wc x csh commande unix gt echo toto 34 145 765 reshuffle csh commande unix gt echo totol 1 34 commande unix gt Ici toto est affect du r sultat de la commande WC CSH qui fait le d compte de tous les fichiers d extension csh Il n y en a qu un dans cet exemple Le r sultat est quatre valeurs nombre de lignes mots et caract res dans le fichier puis son nom Chaque valeur est lu de toto comme pour la lecture d un tableau dans un programme C Toutefois les indices courent de 1 N pour une variable de N dimensions Il est possible d affecter l ensemble d un fichier son contenu en entier une variable comme toto dans l exemple pr c dant il suffirait de remplacer la com mande WC par CAT La variable toto contient maintenant tous les mots du fichier reshuffle csh 5 11 2 Branchement conditionnel foreach while Comme pour le langage C les scriptes C shell admettent des constructions de branchement avec conditions Etudions l exemple suivant comman

Download Pdf Manuals

image

Related Search

Related Contents

Lenovo THINKPAD G40 User's Manual  Sunbeam SNM1502RAS Microwave Oven User Manual  Emerson CS400 Data Sheet  Samsung SGH-E730 Bruksanvisning  Samsung Galaxy  Scosche CBHV2 car kit  サイバーショットで 撮った画像を パソコンに取り込んで 楽しもう!  Port Designs 110267 backpack  Manual de taller 910  Electrolux 1554-6 iU Refrigerator User Manual  

Copyright © All rights reserved.
Failed to retrieve file