Anda di halaman 1dari 24

Prsentation du systme Linux

par PLU Julien (Site) (Blog)


Date de publication : 21 janvier 2011 Dernire mise jour :

Cette srie d'articles parlera de tous les aspects que l'on pourra rencontrer lorsque l'on fait de la programmation systme sous Linux en langage C. On y verra aussi l'utilisation des principales commandes ainsi qu'un petit cours sur le langage C. Ce cours est autant pour ceux qui ne connaissent pas Linux que pour ceux qui le connaissent et ont besoin d'un pense-bte. Le systme d'exploitation utilis sera Ubuntu 10.10 ce qui sous-entend l'utilisation de l'environnement de bureau GNOME. Commentez cet article : Ce premier article consistera juste prsenter le systme d'exploitation Linux. Je tiens dire que je ne ferai nullement ici l'apologie d'un quelconque systme d'exploitation, Linux y compris. Tous les systmes d'exploitation ont leurs qualits et leurs dfauts il faut seulement savoir lequel utiliser en fonction de ce que l'on souhaite faire.

Prsentation du systme Linux par PLU Julien (Site) (Blog)

I - Qu'est-ce que Linux ?............................................................................................................................................. 4 I-A - L'histoire de Linux.......................................................................................................................................... 4 I-B - Vue d'ensemble de Linux.............................................................................................................................. 5 I-C - Quelques caractristiques de Linux.............................................................................................................. 5 I-C-1 - Linux est fiable...................................................................................................................................... 5 I-C-2 - Linux fonctionne partout........................................................................................................................6 I-C-3 - Linux est gratuit.....................................................................................................................................6 I-C-4 - Le support de Linux.............................................................................................................................. 6 I-C-5 - Linux n'a pas de registre...................................................................................................................... 7 I-C-6 - Redmarrage du systme.....................................................................................................................7 I-C-7 - L'interface graphique............................................................................................................................. 7 I-C-8 - La dfragmentation............................................................................................................................... 8 I-D - Comment se connecter..................................................................................................................................8 I-D-1 - Mode graphique.................................................................................................................................... 8 I-D-2 - Mode console........................................................................................................................................ 9 I-E - A quoi ressemblent les commandes Linux ?.................................................................................................9 I-F - Exemples de commandes..............................................................................................................................9 I-F-1 - La commande passwd...........................................................................................................................9 I-F-2 - La commande echo............................................................................................................................. 10 I-F-3 - La commande date..............................................................................................................................10 I-F-4 - La commande who.............................................................................................................................. 10 I-F-5 - La commande tty................................................................................................................................. 10 I-F-6 - La commande stty............................................................................................................................... 10 I-F-7 - Les commandes incorrectes................................................................................................................11 I-G - Comment se dconnecter........................................................................................................................... 11 I-G-1 - Mode graphique.................................................................................................................................. 11 I-G-2 - Mode console......................................................................................................................................12 II - Le systme de fichiers.........................................................................................................................................12 II-A - Qu'est-ce donc ?......................................................................................................................................... 12 II-B - Les fichiers et le rpertoire de travail......................................................................................................... 12 II-C - Les diffrentes sortes de fichiers existants................................................................................................ 14 II-C-1 - Ordinaires........................................................................................................................................... 14 II-C-2 - Spciaux............................................................................................................................................. 14 II-C-3 - Rpertoires......................................................................................................................................... 14 II-D - Les disques logiques.................................................................................................................................. 15 II-E - La protection des fichiers............................................................................................................................15 II-F - Comment manipuler des fichiers ?............................................................................................................. 15 II-F-1 - Connatre le rpertoire de travail : pwd..............................................................................................15 II-F-2 - Changer de rpertoire de travail : cd................................................................................................. 16 II-F-3 - Lister le contenu d'un rpertoire : ls...................................................................................................16 II-F-4 - Afficher le contenu d'un fichier ordinaire : cat.................................................................................... 16 II-F-5 - Copier un fichier : cp.......................................................................................................................... 17 II-F-6 - Crer un lien sur un fichier : ln.......................................................................................................... 17 II-F-7 - Couper ou renommer un fichier : mv................................................................................................. 18 II-F-8 - Supprimer un fichier : rm.................................................................................................................... 18 II-F-9 - Crer un rpertoire : mkdir................................................................................................................. 18 II-F-10 - Supprimer un rpertoire : rmdir........................................................................................................ 18 II-F-11 - Changer les droits, le groupe et le propritaire d'un fichier et d'un rpertoire : chmod, chown, chgrp................................................................................................................................................................18 III - La gestion des processus sous LINUX.............................................................................................................. 19 III-A - Qu'est-ce qu'un processus ?......................................................................................................................19 III-B - Lister les processus actif : ps.................................................................................................................... 20 III-C - Interrompre un processus..........................................................................................................................21 III-D - La redirection des fichiers standards.........................................................................................................21 III-E - Processus parallles et communication.....................................................................................................22 III-F - Lancer un processus en arrire-plan......................................................................................................... 22 III-G - Lancer un processus en mode dtach....................................................................................................23 III-H - Interruption de processus, le retour...........................................................................................................24
-2Copyright 2011 - PLU Julien. Aucune reproduction, mme partielle, ne peut tre faite de ce site et de l'ensemble de son contenu : textes, documents, images, etc sans l'autorisation expresse de l'auteur. Sinon vous encourez selon la loi jusqu' 3 ans de prison et jusqu' 300 000 E de dommages et intrts.
http://jplu.developpez.com/tutoriels/systeme/presentation-linux/

Prsentation du systme Linux par PLU Julien (Site) (Blog)

IV - Remerciements................................................................................................................................................... 24

-3Copyright 2011 - PLU Julien. Aucune reproduction, mme partielle, ne peut tre faite de ce site et de l'ensemble de son contenu : textes, documents, images, etc sans l'autorisation expresse de l'auteur. Sinon vous encourez selon la loi jusqu' 3 ans de prison et jusqu' 300 000 E de dommages et intrts.
http://jplu.developpez.com/tutoriels/systeme/presentation-linux/

Prsentation du systme Linux par PLU Julien (Site) (Blog)

I - Qu'est-ce que Linux ? I-A - L'histoire de Linux


L'histoire de Linux a commenc en 1991 avec le dbut du projet personnel d'un tudiant finlandais, Linus Torvalds, qui cre le noyau d'un nouveau systme exploitation. Avant de parler de Linux il serait bon de parler un peu de l'histoire du noyau Unix qui a t conu et mis en oeuvre dans les annes 1960 aux Bell Laboratories sous l'impulsion de Ken Thomson et d'un petit groupe de chercheurs de ces laboratoires pour ensuite tre publi en 1969 pour un usage interne ces laboratoires. Le dveloppement du langage C par Dennis Ritchie a permis l'criture d'une version d'Unix dans ce langage de haut niveau et par consquent portable a priori sur tout type de machine disposant d'un compilateur de ce langage. Certaines universits amricaines comme Berkeley notamment s'y intressent normment. Les laboratoires Bell/ATT voyant Unix devenir de plus en plus populaire et utilis dcident d'en assurer eux-mmes le dveloppement. A ct des versions "orthodoxes" dveloppes partir du noyau fourni par les laboratoires Bell (V7, System III, Xenix, Spix...), un certain nombre de systmes Unix-odes ont t dvelopps par diffrentes socits. Notamment les deux plus importantes : Les versions que l'on peut rattacher la souche Berkeley (version 4.2) ; Les versions se voulant du standard System V dfini par les laboratoires Bell.

Il est d'ailleurs trs important de noter les efforts importants faits pour normaliser le systme, que ce soit par la publication de cette norme System V ou par les grands constructeurs europens regroups dans le "Unix-OpenGroup" qui a publi un document de normalisation assez proche de celui des Laboratoires Bell. Par ailleurs, un certain nombre de travaux sont raliss un peu partout dans le monde (Berkeley, Ultrix de Digital ou Spix de Bull) pour fournir des versions du systme possdant la fois les fonctionnalits de la version System V et celles de la version de Berkeley en intgrant en particulier la premire le mcanisme de socket de la seconde. Par ailleurs, il faut signaler les efforts raliss en France dans le cadre du GIPSI (groupement d'intrt public regroupant Bull, le CENT et l'INRIA) pour dvelopper une version multiprocesseur du systme. Maintenant que nous connaissons en gros l'histoire du systme Unix, il devient important de parler du projet GNU. C'est en 1983 que Richard Stallman a commenc le projet GNU dans le but de pouvoir crer des systmes d'exploitation UNIX-oide libres. Dans le cadre de ce travail il crit aussi la GNU General Public License (GPL). Petite anecdote intressante sur GNU, depuis le dbut des annes 1990 il existe un noyau GNU nomm Hurd qui n'a malheureusement pas russi attirer suffisamment d'attention de la part des dveloppeurs. Cette fabuleuse histoire se poursuivra par un autre projet de systme d'exploitation libre dans les annes 1980 qui est la Berkeley Software Distribution (BSD). Cela a t dvelopp par Berkeley partir de la 6e dition d'Unix d'ATT. Vient ensuite en 1987 le systme d'exploitation toujours Unix-oide, Minix, cr par Andrew S. Tanenbaum pour un usage scolaire. Le principal dfaut de ce systme d'exploitation tait qu'une partie du code ne pouvait tre modifi et redistribu. En outre Minix 16bits n'est pas trs bien adapt aux machines 32bits qui sont trs populaires pour les ordinateurs personnels l'poque. C'est principalement cause des petits dfauts de Minix que Linus Torvalds a dcid de commencer son projet qui deviendra l'un des noyaux les plus utiliss au monde de nos jours. Petite anecdote amusante d'ailleurs Linux a t compil avec GCC (GNU C Compiler) sur Minix. Il faut savoir qu'au dpart Linux n'tait qu'un simple mulateur de terminal qu'il utilisait pour accder au serveur Unix de son universit : il voulait utiliser, indpendamment d'un quelconque systme d'exploitation, des fonctions de son ordinateur que Minix ne prenait pas en compte. La toute premire version de Linux (0.01) tait sous la licence personnelle de Linus Torvalds, plus tard pour la version 0.99 elle fut mise sous GPL, pour devenir le noyau que l'on connat actuellement.

-4Copyright 2011 - PLU Julien. Aucune reproduction, mme partielle, ne peut tre faite de ce site et de l'ensemble de son contenu : textes, documents, images, etc sans l'autorisation expresse de l'auteur. Sinon vous encourez selon la loi jusqu' 3 ans de prison et jusqu' 300 000 E de dommages et intrts.
http://jplu.developpez.com/tutoriels/systeme/presentation-linux/

Prsentation du systme Linux par PLU Julien (Site) (Blog)

I-B - Vue d'ensemble de Linux


A partir de maintenant le terme Linux et Unix seront utiliss non plus pour dsigner un noyau mais le systme d'exploitation tournant autour de celui-ci. Le systme Linux est un systme multi-utilisateurs et multi-tches. En tant que systme d'exploitation, son rle principal est donc d'assurer aux diffrentes tches et aux diffrents utilisateurs une bonne rpartition des ressources de l'ordinateur (mmoire, processeur(s), espace disque, imprimante(s), programmes utilitaires...) et cela sans intervention des utilisateurs; il prend totalement en charge ces utilisateurs et lorsque les demandes sont trop importantes pour tre satisfaites rapidement, l'utilisateur le ressent par un certain ralentissement (qui peut tre effectivement important, voire insupportable...), mais le systme (en principe) ne se bloque pas. Linux est par ailleurs un systme de dveloppement et les utilisateurs y ont leur disposition un trs grand nombre d'outils, pour la plupart assez simples utiliser, leur permettant d'crire, de mettre au point et de documenter leurs programmes (diteurs, compilateurs, dbogueurs, systme de traitement de textes...). Les utilisateurs ont ainsi leur disposition une bote outils bien garnie, le principal problme qui se pose eux tant de savoir ce qu'elle contient exactement et quoi sert chacun de ces outils ! En rsum, on peut dire que le systme est compos de : un noyau assurant la gestion de la mmoire et des entres-sorties de bas niveau et l'enchanement des diffrentes tches ; un (ou plusieurs) interprteur(s) de langage de commandes; il existe en effet diffrents langages de commandes nomms Shell, le plus connu tant le Bourne Shell (du nom de son auteur), un autre tant le CShell dvelopp l'universit de Berkeley et le plus rpandu actuellement tant le Bash. Nous verrons dans ce tutoriel un cours de Bourne Shell et de Bash. Il est important de noter que, quelle que soit la version du langage de commandes utilise, il s'agit d'un vritable langage de programmation possdant des instructions et surtout des structures de contrle de trs grande puissance ; un systme de messagerie assez complet (courrier, conversation en temps rel, journal de bord) ; un grand nombre de programmes utilitaires dont videmment un compilateur de langage C, des diteurs, des outils de traitement de textes, des logiciels de communication avec d'autres systmes Linux (ou autres), des gnrateurs d'analyseurs lexicaux et syntaxiques...

I-C - Quelques caractristiques de Linux I-C-1 - Linux est fiable


L'cran bleu de Windows n'existe pas sous Linux. Les systmes Linux et Unix peuvent fonctionner pendant des annes sans chec (Windows aussi mais tout dpend aussi l'utilisation que vous en faites). L'quivalent des crans bleu sur Linux se nomme Kernel Panic et est extrmement rare et est 99% du temps dus une fausse manipulation de l'utilisateur (ce qui est trs frquent lorsque l'on ne matrise pas son fonctionnement par exemple avec une mauvaise manipulation d'une commande dangereuse comme rm). De nombreux utilisateurs de Linux n'ont jamais vu cette erreur. Et d'autres en voient frquemment parfois mme sans qu'ils y soient pour quelque chose. Cette fiabilit est due son noyau qui, d'aprs plusieurs tudes, contient bien moins de bogues que ses concurrents propritaires. Ceci montre que les projets open sources sont gnralement moins sources de bogues que les logiciels propritaires. Mais attention extrmement fiable ne veut pas dire 100%, des bogues existent toujours et vous ne serez jamais l'abri, un jour peut-tre, d'une mauvaise surprise. Petit conseil par exprience, avant de toucher un quelconque fichier de configuration sous Linux il est IMPERATIF de sauvegarder quelque part le fichier d'origine et surtout avant de procder n'importe quel changement, soyez sr et certain de ce que vous modifiez, sinon de graves consquences sur le systme seront invitables et c'est donc ainsi que le systme devient non fiable car vous avez cr une faille de scurit, un bogue qui ne vous permettra plus de faire certaines choses, un plantage complet de la machine, un arrt brutal de l'affichage, etc.

-5Copyright 2011 - PLU Julien. Aucune reproduction, mme partielle, ne peut tre faite de ce site et de l'ensemble de son contenu : textes, documents, images, etc sans l'autorisation expresse de l'auteur. Sinon vous encourez selon la loi jusqu' 3 ans de prison et jusqu' 300 000 E de dommages et intrts.
http://jplu.developpez.com/tutoriels/systeme/presentation-linux/

Prsentation du systme Linux par PLU Julien (Site) (Blog)

Il faut aussi savoir que les virus sont vraiment trs rares sous Linux contrairement Windows. Mais attention il existe malgr tout beaucoup de menaces sous Linux. Ceci est due au fait que les excutables tel que vous les connaissez sous Windows n'existent pas sous Linux.

I-C-2 - Linux fonctionne partout


L'efficacit de Linux et de tous les Unix-odes peut tre utilise sur pratiquement tous les ordinateurs mme les plus vieux. Il en va de mme pour beaucoup d'applications. Par contre, certaines applications peuvent recommander un certain taux de performance. Si jamais vous avez un vieux P.C. qui trane, au lieu de le laisser la poussire dans un coin, mettez-y Linux et vous pourrez recommencer vous en servir. Il faut savoir aussi qu'il existe maintenant ce que l'on appelle les live-CD qui sont intgrs toutes (ou du moins quasiment toutes) les distributions Linux. Ceci vous permet d'avoir sur un CD la fois le programme d'installation sur votre disque dur du systme d'exploitation mais surtout (et c'est l l'intrt du live-CD !!) d'utiliser Linux sans rien installer du tout sur votre disque dur. Mais attention il y a des limites cette possibilit, il faut savoir que l'utilisation d'un live-CD n'est pas faite pour une utilisation intensive de Linux (serveur, dveloppement, etc.) vous ne pourrez d'ailleurs rien installer et les performances ne seront pas gniales vu que tout se passe non pas sur le disque dur mais dans la RAM. Le live-CD est donc fait pour une simple dcouverte du monde Linux c'est--dire se familiariser avec l'environnement de Bureau et comment on l'utilise par exemple. Une autre utilisation des live-CD est la possibilit d'effectuer des rparations ou des rcuprations de donnes sur les disques durs qui, par exemple, ont un problme de boot.

I-C-3 - Linux est gratuit


Vous pouvez tlcharger Linux sur Internet et l'installer sur autant de machines que vous le voulez, ainsi que les applications. Il est possible aussi, pour beaucoup de distributions de commander le CD/DVD de la distribution. A noter aussi qu'il y a des distributions payantes mais ce sont des distributions rserves aux professionnels et entreprises. Il faut savoir que ceci est d au fait que le dveloppement des distributions Linux est fait en open source. Par contre gratuit est un grand mot. Il faut savoir qu'il y a principalement quatre moyens d'acqurir une distribution Linux : en la tlchargeant, ceci est totalement gratuit (sauf si vous comptez le prix de votre abonnement Internet) ; en achetant un magazine spcialis sur Linux (ces magazines contiennent toujours une distribution sur le CD qui est fourni avec) et ainsi vous payez le prix du magazine ; en achetant la distribution dans un magasin spcialis et dans ce cas, vous payerez le prix propos par le magasin en question ; en commandant un CD/DVD l'diteur de la distribution, ici par contre cela peut tre gratuit ou bien alors payant suivant l'diteur et la manire dont vous faites votre commande.

I-C-4 - Le support de Linux


Linux est aujourd'hui le systme regroupant une grosse communaut. Tout a grce Internet. Vous pouvez obtenir de l'aide de plusieurs dizaines de milliers d'utilisateurs Linux et programmeurs bnvoles sur Internet. Le support est gratuit (pour les distributions non professionnelles). Je pense que le site de developpez.com en est un trs bon exemple. Mais il y en a bien d'autres, il suffit de questionner un peu votre moteur de recherche prfr. Par contre, il faut aussi aimer l'anglais, car ce qu'il faut savoir, c'est que la plupart des tutoriels ou articles concernant Linux sont malheureusement dans la langue de Shakespeare, dsol pour ceux qui ont cette langue en horreur. Par contre pour ce qui concerne les distributions professionnelles en gnral, c'est dans un forfait mais il se peut aussi que le support soit offert si vous tes partenaire de l'entreprise qui dveloppe la distribution. Mais l aussi,

-6Copyright 2011 - PLU Julien. Aucune reproduction, mme partielle, ne peut tre faite de ce site et de l'ensemble de son contenu : textes, documents, images, etc sans l'autorisation expresse de l'auteur. Sinon vous encourez selon la loi jusqu' 3 ans de prison et jusqu' 300 000 E de dommages et intrts.
http://jplu.developpez.com/tutoriels/systeme/presentation-linux/

Prsentation du systme Linux par PLU Julien (Site) (Blog)

suivant l'entreprise laquelle vous achetez votre distribution, il se peut qu'il faille savoir parler anglais pour discuter avec la personne charge du support ou bien pour lire les aides qu'elle fournit. Eh oui, si vous ne l'avez pas encore compris, si vous voulez travailler dans l'informatique il est impratif de savoir parler anglais.

I-C-5 - Linux n'a pas de registre


Lorsque Microsoft a introduit le registre dans Windows 95 il a t applaudi pour ce mcanisme qui a vocation d'liminer la gestion d'un systme avec les fichiers .ini de Windows 3.x. Linux, lui, est gr par de simples fichiers de texte brut pour sa configuration. Il faut quand mme dire que c'est beaucoup plus pratique mais aussi plus dangereux car on est moins l'abri d'une fausse manipulation. Par contre, le fait d'instaurer un fichier de configuration pour chaque partie ou programme est quand mme trs sympathique car l'on sait exactement ce que l'on essaie de modifier et on n'a pas ainsi cette hirarchie catastrophique du registre Windows o on ne sait jamais o se trouve ce que l'on cherche. Mais je vous rassure pour beaucoup de programmes, ainsi que pour le systme d'exploitation lui-mme, il existe des outils permettant d'automatiser ou de fortement simplifier la configuration de ceux-ci. De cette manire vous ne serez pas oblig d'apprendre une notation complique qui caractrise trs souvent les fichiers de configuration Linux. Par contre, ces outils dans la majeure partie ne permettent pas d'instaurer des paramtres de configuration trs pousss il faudra donc ce moment prcis vous y mettre avec vos petites mains.

I-C-6 - Redmarrage du systme


La plupart des changements de configurations de Windows requirent un redmarrage (mise jour comprise), cela peut tre vite embtant lorsque la machine est un serveur. Sous Linux rares sont les changements qui requirent un redmarrage, ceci permet d'effectuer des changements sur votre serveur sans affecter leurs utilisateurs. Quand je parle de mise jour je parle bien videmment de mises jour proposes par votre distribution. Il faut savoir que ceci est d la non-utilisation de registre et que sous Linux ce sont seulement des fichiers qui sont modifis et donc un simple redmarrage des services suffit. Alors que sous Windows, les mises jour consistent les trois quarts du temps modifier le registre et comme la prise en compte n'est pas dynamique, il faut le redmarrage du systme pour que les nouveaux paramtres soient pris en compte. En gnral sous Linux seules les mises jour du noyau requirent un redmarrage du systme. Il faut bien avouer que, vu la frquence des mises jour sous Linux tous les jours, contrairement Windows, une fois par mois, s'il fallait redmarrer son ordinateur tous les jours cela deviendrait trs vite un vritable calvaire.

I-C-7 - L'interface graphique


Windows a toujours t fourni avec une interface graphique. Pourtant certains serveurs (Web, fichiers, BDD,...) n'ont aucunement besoin d'une interface graphique et de cette faon des ressources sont occupes pour rien. L'interface graphique Linux (X Window) est un sous-systme facultatif que vous pouvez choisir d'utiliser ou non. En outre, vous pouvez dmarrer et arrter l'interface graphique quand vous le souhaitez sans avoir redmarrer le systme et sans avoir un quelconque effet sur les programmes en cours d'excution. Il faut savoir que sous Windows il n'existe qu'un seul environnement de bureau possible par dfaut (on peut en installer d'autres mais ils sont trs peu). Alors que sous Linux, il en existe plusieurs (KDE, GNOME, XFCE, etc.). On peut les combiner, c'est--dire choisir l'ouverture de sa session le type d'environnement que l'on souhaite. Par contre vous trouverez toujours des gens pour vous dire que tel ou tel environnement est mieux qu'un autre (le plus frquemment entre GNOME et KDE). Mais la seule faon d'tre sr d'utiliser le bon est de les tester et de prendre celui avec lequel vous vous sentez le plus l'aise.
-7Copyright 2011 - PLU Julien. Aucune reproduction, mme partielle, ne peut tre faite de ce site et de l'ensemble de son contenu : textes, documents, images, etc sans l'autorisation expresse de l'auteur. Sinon vous encourez selon la loi jusqu' 3 ans de prison et jusqu' 300 000 E de dommages et intrts.
http://jplu.developpez.com/tutoriels/systeme/presentation-linux/

Prsentation du systme Linux par PLU Julien (Site) (Blog)

I-C-8 - La dfragmentation
Toutes les versions de Windows souffrent du mme problme, la fragmentation du disque. Ceci rduit considrablement les performances. Linux, lui, ne fragmente pas les donnes sur le disque et est ainsi plus apte tre un serveur de fichiers que Windows. En fait, il est incorrect de dire qu'il n'en existe pas, mais il conviendra d'insister sur le fait qu'elles sont le plus souvent totalement inutiles. Il est vrai que les systmes de fichiers Linux font un usage optimis de l'espace, mais il n'est malheureusement pas en mesure de savoir aujourd'hui quelle sera l'organisation optimale de votre disque aprs une ou deux annes d'usage intensif. Pour rsumer, si vos disques durs ont une dure de vie suprieure environ deux ans, que vous travaillez rgulirement dessus, que vous manipulez quotidiennement de gros fichiers (vidos, morceaux de musique, etc.), que vous vous livrez au P2P ou encore qu'il vous arrive d'exhumer de vieux (et gros !) fichiers pour retravailler dessus, vous ressentirez vite, comme tout le monde, le besoin de dfragmenter votre disque Linux ! Pour mieux comprendre ce systme de fragmentation, je vous renvoie aux articles sur les diffrents systmes de fichiers existant sous Wikipdia qui sont vraiment trs bien faits. Ceci juste pour vous dire que l'on oublie vraiment trs souvent que Linux ne fragmente PRESQUE pas les donnes contenues sur le disque dur.

I-D - Comment se connecter I-D-1 - Mode graphique


Lorsque vous dmarrez Linux vous tomberez sur une interface avec deux champs. Un pour votre login et l'autre pour votre mot de passe. Renseignez ces deux informations pour vous connecter au systme.

-8Copyright 2011 - PLU Julien. Aucune reproduction, mme partielle, ne peut tre faite de ce site et de l'ensemble de son contenu : textes, documents, images, etc sans l'autorisation expresse de l'auteur. Sinon vous encourez selon la loi jusqu' 3 ans de prison et jusqu' 300 000 E de dommages et intrts.
http://jplu.developpez.com/tutoriels/systeme/presentation-linux/

Prsentation du systme Linux par PLU Julien (Site) (Blog)

I-D-2 - Mode console


Certaines distributions Linux ne dmarrent pas directement avec l'interface graphique et vous serez donc amen vous connecter via le terminal. Vous verrez ceci l'cran :

Entrez votre login et une fois que vous avez appuy sur ENTRE, entrez votre mot de passe (si vous ne voyez pas de caractre s'afficher l'cran c'est tout fait normal ne vous inquitez pas) et appuyez encore sur ENTRE.

I-E - A quoi ressemblent les commandes Linux ?


Sous Linux, l'utilisateur dispose de nombreuses commandes dont on trouvera une liste des plus utiles un peu plus tard. Une commande se compose du nom proprement dit de cette commande (un simple mot), suivi ventuellement d'un ou plusieurs arguments (fournissant des informations supplmentaires : options ou paramtres), les diffrents lments de la commande tant spars par des espaces ou des caractres de tabulation; la commande complte est elle-mme termine par l'appui sur la touche ENTRE. Il faut en effet savoir que chaque ligne entre au clavier est mmorise et n'est effectivement interprte que lorsqu'elle est complte, c'est--dire la rception du caractre de fin de ligne; ce mode de fonctionnement est appel canonique. Il offre en particulier l'avantage de permettre l'annulation de caractres de la ligne en cours de frappe avant son interprtation. Une possibilit offerte est de modifier ce mode de fonctionnement afin par exemple que chaque caractre tap soit interprt immdiatement. Il faut aussi noter ds prsent que Linux accepte la frappe anticipe de caractres, c'est--dire qu'il est possible de taper des commandes sans avoir la main (c'est--dire, alors que le "prompt" $ ou >> n'est pas apparu, le systme tant par exemple en cours d'excution de commandes ou mme en cours d'impression). Les rsultats des commandes sont, comme nous l'avons dj dit, affichs sur la sortie standard et les donnes ncessaires la commande lues sur l'entre standard toutes deux par dfaut (c'est--dire sauf demande contraire) physiquement associes au terminal d'o la commande est lance. Au cours de la procdure d'identification ("login") en mode console ou au cours d'une session de travail, si le mode de fonctionnement est canonique, un certain nombre de caractres jouent un rle particulier en ce sens qu'ils permettent d'annuler tout ou partie de la ligne en cours de frappe : la touche BACKSPACE ou la combinaison CTRL+H annule le dernier caractre tap ; la combinaison CTRL+U annule tout ce qui prcde sur la ligne.

I-F - Exemples de commandes


Nous allons voir ici quelques exemples de petites commandes simples, histoire que vous puissiez vous familiariser un peu avec ce systme de commande.

I-F-1 - La commande passwd


Elle permet un utilisateur de crer ou de changer son mot de passe :

-9Copyright 2011 - PLU Julien. Aucune reproduction, mme partielle, ne peut tre faite de ce site et de l'ensemble de son contenu : textes, documents, images, etc sans l'autorisation expresse de l'auteur. Sinon vous encourez selon la loi jusqu' 3 ans de prison et jusqu' 300 000 E de dommages et intrts.
http://jplu.developpez.com/tutoriels/systeme/presentation-linux/

Prsentation du systme Linux par PLU Julien (Site) (Blog)

Le systme demande tout d'abord l'ancien mot de passe de l'utilisateur, puis demande deux fois le nouveau mot de passe choisi. Il n'y a naturellement pas d'cho des mots de passe frapps par l'utilisateur pour des raisons videntes de scurit.

I-F-2 - La commande echo


Elle affiche la liste des paramtres sur la sortie standard, c'est--dire la chane de caractres qui suit echo :

I-F-3 - La commande date


On obtient la date dans la langue de configuration du systme, ici en franais :

Avant il existait une commande date par type de date (anglo-saxon, franais...) mais maintenant cette commande s'adapte la langue et la rgion que l'on a choisies lors de l'installation de Linux.

I-F-4 - La commande who


Elle permet, utilise sans paramtre, de connatre la liste des utilisateurs effectivement en train de travailler; utilise avec les paramtres am et i, elle permet aux amnsiques de retrouver leur nom d'identification ainsi que le numro du terminal sur lequel ils se sont connects et l'heure laquelle ils se sont connects :

Je vous laisse cette commande avec les paramtres indiqus essayer chez vous pour que vous puissiez voir quoi elle ressemble.

I-F-5 - La commande tty


Elle donne le nom complet du terminal associ l'utilisateur et le message not a tty si aucun terminal n'est associ :

I-F-6 - La commande stty


Elle permet d'une part de connatre les paramtres rgissant la liaison entre le terminal et l'ordinateur et d'autre part de modifier leurs valeurs. L'option -a permet d'obtenir l'ensemble des valeurs des paramtres. Sans l'option -a :

- 10 Copyright 2011 - PLU Julien. Aucune reproduction, mme partielle, ne peut tre faite de ce site et de l'ensemble de son contenu : textes, documents, images, etc sans l'autorisation expresse de l'auteur. Sinon vous encourez selon la loi jusqu' 3 ans de prison et jusqu' 300 000 E de dommages et intrts.
http://jplu.developpez.com/tutoriels/systeme/presentation-linux/

Prsentation du systme Linux par PLU Julien (Site) (Blog)

Avec l'option -a :

I-F-7 - Les commandes incorrectes

Ici la commande donne n'est pas une commande reconnue par l'interprteur. D'un autre ct, le nom d'une commande peut tre correct et les paramtres ne pas l'tre :

Dans cet exemple, on obtient les formes correctes permettant d'utiliser la commande que l'on avait donne sous une forme incorrecte.

Dans ce dernier exemple, le systme ne reconnat pas la commande, car pour lui elle n'existe pas, mais elle peut tre installe pour tre ensuite utilise et il nous indique le nom du (ou des) paquet contenant la commande que l'on a essay d'entrer. Petite information extrmement utile pour la suite de votre apprentissage. Il existe un nombre vraiment trs important de commandes et je ne vais pas toutes les dtailler ici. Pour avoir vraiment tous les dtails sur une commande, il vous faut utiliser la commande man dans votre terminal. Qui s'utilise de cette manire man "nomCommande".

I-G - Comment se dconnecter I-G-1 - Mode graphique


Vous pouvez vous dconnecter en mode graphique en cliquant sur Dconnexion dans le menu K.

- 11 Copyright 2011 - PLU Julien. Aucune reproduction, mme partielle, ne peut tre faite de ce site et de l'ensemble de son contenu : textes, documents, images, etc sans l'autorisation expresse de l'auteur. Sinon vous encourez selon la loi jusqu' 3 ans de prison et jusqu' 300 000 E de dommages et intrts.
http://jplu.developpez.com/tutoriels/systeme/presentation-linux/

Prsentation du systme Linux par PLU Julien (Site) (Blog)

I-G-2 - Mode console


Il suffit tout simplement ici d'entrer cette commande :
sudo pkill -KILL -u {username}

Bien entendu il faut que vous remplaciez {username} par votre login. Il faut savoir aussi que cette commande marche pour dconnecter n'importe quel utilisateur connect sur la machine.

II - Le systme de fichiers II-A - Qu'est-ce donc ?


Un fichier LINUX est une chane de caractres non structure (du point de vue du systme) : le systme ne possde aucune notion d'organisation de fichiers (squentielle, indexe, partitionne...). A tout fichier est associ un bloc d'informations, appel i-noeud (noeud d'index, ou index-node ou i-node) contenant un certain nombre d'informations d'ordre gnral concernant le fichier : sa taille ; l'adresse des blocs utiliss sur le disque pour ce fichier ; l'identification de son propritaire et ses droits d'accs par les diffrents utilisateurs ; son type (fichier ordinaire ou spcial, catalogue...) ; un compteur de ses rfrences dans le systme ; un certain nombre de dates relatives aux principales oprations ralisables sur le fichier (consultation, modification...); les dates sont codes par un entier (nombre de secondes coules depuis le 1er janvier 1970).

Ce bloc d'informations ne contient aucun nom pour le fichier. La dsignation d'un fichier se fait par l'intermdiaire de rpertoires (directories) : un rpertoire est un fichier dont le contenu est une suite de couples forms d'un numro (un index par lequel le systme identifie le fichier) et d'un nom par lequel le fichier est identifi dans le rpertoire. Ainsi un fichier peut tre rfrenc par l'intermdiaire d'un rpertoire et d'un nom dans ce rpertoire. Il est possible de rfrencer un mme fichier sous des noms diffrents dans des rpertoires diffrents. Le nombre des rfrences un fichier est comptabilis dans le compteur des rfrences du i-noeud de ce fichier, un fichier n'tant effectivement dtruit (c'est--dire l'espace ncessaire pour stocker son contenu et le i-noeud correspondant effectivement rcupr par le systme) que lorsque le compteur de rfrences du i-noeud du fichier devient nul. Aussi, la dsignation d'un fichier ncessite-t-elle celle d'un rpertoire et d'un nom dans celui-ci, le rpertoire tant lui-mme dsign par un nom dans un autre rpertoire, etc. Ce procd de dsignation est initialis par l'existence d'un fichier sans nom dont la localisation est connue du systme : il s'agit de la racine absolue du systme de fichiers (index 2 dans le disque systme). Il faut savoir que sous Linux seuls les index de 1 10 sont rservs, on peut citer par exemple :

II-B - Les fichiers et le rpertoire de travail


Soit un systme sur lequel la racine du systme de fichiers (d'index 2) contient entre autres choses les noms de deux rpertoires usr et bin et leurs numros respectifs (ici 524295 et 131075), le sous-rpertoire bin contenant en particulier les couples (ls, 131150), (rm, 131191), (echo, 131120) correspondant aux programmes associs des utilitaires du systme; supposons que le rpertoire usr contienne quant lui le couple (bin, 524391). Ce sous- 12 Copyright 2011 - PLU Julien. Aucune reproduction, mme partielle, ne peut tre faite de ce site et de l'ensemble de son contenu : textes, documents, images, etc sans l'autorisation expresse de l'auteur. Sinon vous encourez selon la loi jusqu' 3 ans de prison et jusqu' 300 000 E de dommages et intrts.
http://jplu.developpez.com/tutoriels/systeme/presentation-linux/

Prsentation du systme Linux par PLU Julien (Site) (Blog)

rpertoire bin durpertoire usr contient lui aussi un certain nombre de fichiers ordinaires associs des commandes du systme. Le sous-rpertoire home contient en particulier le couple (snake, 262148) correspondant un rpertoire. Enfin le rpertoire snake contient la fois des fichiers ordinaires et le couple (cpp, 262160) correspondant un rpertoire contenant lui-mme des rfrences des fichiers ordinaires, par exemple (main.cpp, 271215). Cette hirarchie peut tre reprsente par la structure suivante :
bin 524295 ---------- 524391 /

/ / home snake cpp main.cpp / 2----------262145----------262148-----------262160-----------271215 \ \bin 131150 \ / \ /ls \ / rm 131075----------131191 \ \ \echo \ \ 131120

/ /usr

Le systme de fichiers a donc une structure d'arborescence (graphe sans circuit qui de plus doit tre connexe si le systme est consistant !). La racine de cette arborescence est la racine du systme de fichiers et les feuilles en sont des fichiers non-rpertoires ou des rpertoires vides. Pour tout fichier, il existe (si le systme est consistant), au moins un chemin de la racine vers ce fichier, et la liste des noms tiquetant les artes de ce chemin identifie sans aucune ambigut ce fichier; il s'agit d'un nom ou rfrence absolue qui s'crit symboliquement /nom1/nom2/.../nomp, o nom1, nom2..., nomp sont les noms rencontrs dans l'ordre de la racine vers le noeud correspondant de l'arborescence. La racine a pour rfrence absolue /. Sur l'exemple, le fichier numro 271215 a comme rfrence absolue (il peut en avoir d'autres)/home/snake/cpp/ main.cpp. Afin de faciliter les reprages, tout instant un utilisateur dispose d'un rpertoire privilgi appel rpertoire de travail par rapport auquel il lui est possible de raliser des reprages relatifs. Ce rpertoire de travail est utilis par le systme dans ce cas pour prfixer les repres : par convention, une rfrence relative est une rfrence ne commenant pas par le caractre /. Ainsi, sur l'exemple prcdent et si le rpertoire de travail est /home/snake, le mme fichier peut tre dsign par cpp/main.cpp. Les reprages sont encore facilits par le fait que tout rpertoire contient les deux rfrences particulires . et .. qui dsignent respectivement le rpertoire lui-mme et son pre (le rpertoire unique dans lequel il est rfrenc). Ainsi le compteur des rfrences de tout rpertoire est au moins gal deux, puisque le rpertoire est rfrenc par le nom que lui a donn son propritaire dans le rpertoire pre et par le nom . dans lui-mme. On peut mme dire plus : le i-noeud de tout rpertoire pre de n sous-rpertoires a un compteur de rfrences gal n + 2. Sur l'exemple, le rpertoire de travail tant maintenant /home/snake, le mme fichier pourra tre rfrenc par ../ snake/cpp/main.cpp.

- 13 Copyright 2011 - PLU Julien. Aucune reproduction, mme partielle, ne peut tre faite de ce site et de l'ensemble de son contenu : textes, documents, images, etc sans l'autorisation expresse de l'auteur. Sinon vous encourez selon la loi jusqu' 3 ans de prison et jusqu' 300 000 E de dommages et intrts.
http://jplu.developpez.com/tutoriels/systeme/presentation-linux/

Prsentation du systme Linux par PLU Julien (Site) (Blog)

Enfin, chaque utilisateur possde un rpertoire particulier que nous appellerons son rpertoire priv qui devient automatiquement son rpertoire de travail ds l'ouverture de la session. Il est instructif ce propos de consulter le fichier /etc/passwd qui contient entre autres choses la liste des identifications des utilisateurs, leurs mots de passe cods et la rfrence absolue de ce rpertoire particulier.

II-C - Les diffrentes sortes de fichiers existants


Les fichiers peuvent tre en premire approche regroups en trois grandes catgories.

II-C-1 - Ordinaires
Ce sont les fichiers qui contiennent des programmes (binaires ou sources), des donnes de programmes utilisateur ou systme (fichier ASCII). Ces fichiers sont les rsultats de programmes (diteurs, compilateurs, fichiers rsultats...).

II-C-2 - Spciaux
L'une des originalits du systme LINUX rside dans le traitement qu'il fait des entres-sorties sur priphriques (terminaux, imprimantes, disques, bandes). D'un point de vue externe, il n'y a pas de diffrence pour les utilisateurs entre les fichiers ordinaires, les rpertoires et les priphriques pour ce qui a trait leur rfrenage. Un fichier spcial est associ un dispositif d'entre-sortie physique. Les fichiers spciaux sont traits par le systme comme des fichiers sur disque ordinaires, mais les oprations de lecture ou d'criture sur ces fichiers activent les dispositifs physiques associs. A un niveau un peu plus fin on peut distinguer deux types de fichiers spciaux : les fichiers spciaux en mode caractre comme les terminaux pour lesquels les entres-sorties sont ralises caractre par caractre ; Les fichiers spciaux en mode bloc comme les disques o les entres-sorties sont ralises par bloc (la taille des blocs tant en gnral 512 ou 1024 caractres).

II-C-3 - Rpertoires
Nous avons vu leur rle essentiel dans le systme puisque c'est par leur intermdiaire que les utilisateurs peuvent dsigner leurs fichiers. Citons les rpertoires principaux que l'on trouve sur tous les systmes : /bin : les fichiers excutables (en binaire) (initialisation du systme + commandes "essentielles") ; /boot : le noyau vmlinuz et les fichiers de dmarrage ; /dev : rpertoire de fichiers spciaux, qui servent de canaux de communication avec les priphriques (disques, adaptateurs rseau, cartes son, etc.) ; /etc : les fichiers de configuration du systme et les principaux scripts de paramtrage ; /home : la racine des rpertoires personnels des utilisateurs ; /lib : les bibliothques et les modules du noyau. /mnt : la racine des points de montage des systmes de fichiers priphriques ou extrieurs (cd, disquette, nfs, etc.) ; /opt : lieu d'installation d'applications supplmentaires (comme emacs, java, etc.) ; /root : rpertoire personnel du super-utilisateur root ; /sbin : les fichiers excutables pour l'administration du systme ; /tmp : stockage des fichiers temporaires ; /usr : programmes accessibles tout utilisateur, sa structure reproduit celle de la racine / ; /var : donnes variables lies la machine (fichiers d'impression, traces de connexions http, smb, etc... dans /var/log) ; /proc : ce pseudo-rpertoire contient une "image" du systme (/proc/kcore est l'image de la RAM) ; /lost+found : contient les pointeurs de blocs vers les blocs de donnes qui occupent des mauvais secteurs du disque.

- 14 Copyright 2011 - PLU Julien. Aucune reproduction, mme partielle, ne peut tre faite de ce site et de l'ensemble de son contenu : textes, documents, images, etc sans l'autorisation expresse de l'auteur. Sinon vous encourez selon la loi jusqu' 3 ans de prison et jusqu' 300 000 E de dommages et intrts.
http://jplu.developpez.com/tutoriels/systeme/presentation-linux/

Prsentation du systme Linux par PLU Julien (Site) (Blog)

II-D - Les disques logiques


L'espace physique global sur disque est divis en disques logiques rfrencs dans le catalogue /dev (ce sont des fichiers spciaux) et chacun de ces disques logiques peut tre associe une rfrence de catalogue. Chacun des disques logiques possde sa propre table d'index et sa propre racine de numro 2. L'un des disques, dit disque systme, est privilgi: il contient le noyau, les fichiers systmes, etc. Au lancement du systme, ces disques peuvent tre monts et par consquent devenir accessibles (donc rfrenables). Le disque systme est naturellement toujours mont !

II-E - La protection des fichiers


Sous Linux, tout utilisateur possde, associ son identification, un numro de compte et appartient un groupe particulier. Ainsi, pour un fichier donn, les utilisateurs du systme peuvent-ils tre classs en trois catgories : le propritaire du fichier ; les membres d'un groupe particulier (groupe propritaire) ; les autres utilisateurs.

Il existe par ailleurs dans le systme un utilisateur privilgi disposant de tous les droits (le super-utilisateur dont une identification est root et le compte 0). la lecture ; l'criture ; l'excution.

Prcisons que le droit d'excution pour un utilisateur ou une catgorie d'utilisateurs, lorsqu'il est appliqu un rpertoire, signifie que cet utilisateur a la permission de faire figurer ce rpertoire dans une rfrence ou de s'y positionner (c'est--dire d'en faire son rpertoire de travail), le droit de lecture tant le droit de lire les noms rfrencs dans ce catalogue et le droit d'criture la possibilit d'crire dans ce rpertoire, et en particulier de dtruire un fichier du rpertoire, et cela mme sans aucun droit de lecture ou d'criture sur ce fichier lui-mme. Pour un fichier ordinaire, le droit de lecture donne la possibilit de lire le contenu du fichier et le droit d'criture celui de modifier le fichier. Pour assurer ces protections, le systme utilise donc 9 bits du i-noeud du fichier indiquant pour chaque catgorie d'utilisateurs et chacune des oprations si l'opration est ralisable. De plus 3 autres bits ont un rle spcial : le bit "set-uid" qui, lorsqu'il est positionn pour un fichier binaire excutable, indique que le processus correspondant une excution de ce programme a les droits du propritaire du programme et non de l'utilisateur qui le lance. C'est ce mcanisme qui permet tout utilisateur de modifier le fichier /etc/passwd dont l'utilisateur privilgi root est propritaire au travers de la commande passwd (le "set-uid bit" est positionn pour le fichier de rfrence /bin/passwd contenant le programme ralisant cette commande) ; le bit "set-gid qui a le mme rle que le prcdent mais relativement au groupe ; le bit de "collage" (sticky bit) qui assure le maintien d'un programme en zone de swap mme lorsqu'aucun processus actif ne correspond une excution du programme.

II-F - Comment manipuler des fichiers ? II-F-1 - Connatre le rpertoire de travail : pwd
La commande pwd fournit le nom du rpertoire de travail (c'est--dire la rfrence absolue du rpertoire o vous vous trouvez).

- 15 Copyright 2011 - PLU Julien. Aucune reproduction, mme partielle, ne peut tre faite de ce site et de l'ensemble de son contenu : textes, documents, images, etc sans l'autorisation expresse de l'auteur. Sinon vous encourez selon la loi jusqu' 3 ans de prison et jusqu' 300 000 E de dommages et intrts.
http://jplu.developpez.com/tutoriels/systeme/presentation-linux/

Prsentation du systme Linux par PLU Julien (Site) (Blog)

II-F-2 - Changer de rpertoire de travail : cd


La commande cd permet de se dplacer dans l'arborescence du systme de fichiers. Elle peut tre utilise sans paramtre, auquel cas le rpertoire priv de l'utilisateur devient le rpertoire de travail; ou avec un paramtre, qui doit alors dsigner un rpertoire (ce paramtre peut tre une rfrence absolue ou relative de rpertoire), auquel cas ce rpertoire devient le rpertoire de travail. Nous verrons un peu plus loin qu'il s'agit l d'une commande interne au langage de commandes (il ne lui correspond pas de fichier excutable) contrairement la plupart des autres commandes qui sont externes.

II-F-3 - Lister le contenu d'un rpertoire : ls


La commande ls permet de connatre le contenu d'un ou plusieurs rpertoires et les caractristiques de fichiers ou rpertoires donns en arguments au moyen de diverses options. Utilise sans argument, elle traite le rpertoire de travail.

L'option -l de la commande ls permet d'obtenir des informations sur le type du fichier : rpertoire, fichier ordinaire ou fichier spcial, les droits d'accs au fichier par les diffrents utilisateurs du systme, le nombre de liens du fichier, les noms du propritaire et du groupe, la taille des fichiers en nombre de caractres et la date de dernire modification. Elle fournit par ailleurs le nombre total de blocs physiques occups par les fichiers numrs.

L'option -a de la commande ls permet de lister les fichiers cachs d'un rpertoire.

L'option -i de la commande ls permet de connatre les numros d'i-noeud des rpertoires et fichiers.

II-F-4 - Afficher le contenu d'un fichier ordinaire : cat


La commande cat permet d'afficher sur la sortie standard le contenu d'un ou plusieurs fichiers dont les rfrences sont donnes en arguments; sans argument elle traite l'entre standard.
- 16 Copyright 2011 - PLU Julien. Aucune reproduction, mme partielle, ne peut tre faite de ce site et de l'ensemble de son contenu : textes, documents, images, etc sans l'autorisation expresse de l'auteur. Sinon vous encourez selon la loi jusqu' 3 ans de prison et jusqu' 300 000 E de dommages et intrts.
http://jplu.developpez.com/tutoriels/systeme/presentation-linux/

Prsentation du systme Linux par PLU Julien (Site) (Blog)

La commande cat peut tre applique un rpertoire, mais cela n'a pas beaucoup d'intrt tant donn la nature des informations contenues dans un tel fichier (codage de nombres entiers en binaire par exemple). Son utilisation sur un rpertoire, comme d'ailleurs sur un fichier binaire, ne fournit aucune information intressante ; elle peut d'ailleurs provoquer l'mission de caractres spciaux vers le terminal.

II-F-5 - Copier un fichier : cp


La commande cp permet d'effectuer une copie physique d'un fichier dans un autre; il y a cration d'un nouvel i-noeud, cration d'une nouvelle entre dans un rpertoire et recopie effective du contenu du premier fichier.

II-F-6 - Crer un lien sur un fichier : ln


Il est possible de crer des liens d'un fichier ordinaire ou spcial, c'est--dire de crer plusieurs rfrences diffrentes un mme fichier physique au moyen de la commande ln (il s'agit de la cration de synonymes d'un mme objet sans cration de nouvel i-noeud).

- 17 Copyright 2011 - PLU Julien. Aucune reproduction, mme partielle, ne peut tre faite de ce site et de l'ensemble de son contenu : textes, documents, images, etc sans l'autorisation expresse de l'auteur. Sinon vous encourez selon la loi jusqu' 3 ans de prison et jusqu' 300 000 E de dommages et intrts.
http://jplu.developpez.com/tutoriels/systeme/presentation-linux/

Prsentation du systme Linux par PLU Julien (Site) (Blog)

II-F-7 - Couper ou renommer un fichier : mv

Je pense que cette commande se passe de commentaire.

II-F-8 - Supprimer un fichier : rm


La suppression d'un lien d'un fichier est ralise par la commande rm, un fichier n'tant physiquement supprim sur le disque que lorsque le compteur de liens de son i-noeud devient nul.

II-F-9 - Crer un rpertoire : mkdir

Il est cependant important de se rappeler que la cration d'un rpertoire ne signifie pas la cration d'un rpertoire vide au sens propre du terme. Cela va crer un rpertoire contenant 2 rfrences qui sont . et ..

II-F-10 - Supprimer un rpertoire : rmdir


La suppression d'un catalogue vide (c'est--dire ne contenant que les rfrences . et ..) est ralise par la commande rmdir

II-F-11 - Changer les droits, le groupe et le propritaire d'un fichier et d'un rpertoire : chmod, chown, chgrp
Le propritaire d'un fichier peut modifier le nom du propritaire, le groupe auquel sont appliqus les droits de groupe et les droits d'accs des diffrentes catgories d'utilisateurs ce fichier, et lui seul (avec le super-utilisateur) peut le faire.

- 18 Copyright 2011 - PLU Julien. Aucune reproduction, mme partielle, ne peut tre faite de ce site et de l'ensemble de son contenu : textes, documents, images, etc sans l'autorisation expresse de l'auteur. Sinon vous encourez selon la loi jusqu' 3 ans de prison et jusqu' 300 000 E de dommages et intrts.
http://jplu.developpez.com/tutoriels/systeme/presentation-linux/

Prsentation du systme Linux par PLU Julien (Site) (Blog)

III - La gestion des processus sous LINUX


Nous avons plusieurs fois dans ce qui prcde fait usage du terme processus sans vraiment le dfinir. Dans ce chapitre, nous nous proposons de prciser cette notion et d'tudier (d'un point de vue externe, pour le moment) un certain nombre de principes qui la rgissent et les commandes principales correspondantes.

III-A - Qu'est-ce qu'un processus ?


Dans tout ce qui suit, nous appellerons processus (ou tche) toute excution d'un programme un instant donn, le programme constituant en lui-mme un objet inerte, rang sur disque sous la forme d'un fichier ordinaire excutable. On peut ce stade distinguer deux types de processus:
- 19 Copyright 2011 - PLU Julien. Aucune reproduction, mme partielle, ne peut tre faite de ce site et de l'ensemble de son contenu : textes, documents, images, etc sans l'autorisation expresse de l'auteur. Sinon vous encourez selon la loi jusqu' 3 ans de prison et jusqu' 300 000 E de dommages et intrts.
http://jplu.developpez.com/tutoriels/systeme/presentation-linux/

Prsentation du systme Linux par PLU Julien (Site) (Blog)

les processus systme qui ne sont attachs aucun terminal, qui sont crs au lancement du systme ou des dates fixes par l'administrateur du systme; les premiers ne sont interrompus qu' l'arrt du systme (citons le swapper, un certain nombre de processus dits dmons comme, par exemple, le processus assurant le bon usage de l'imprimante en spoule ou le processus cron, qui permet de lancer des tches une date donne) ; les processus lancs par un utilisateur particulier, depuis un terminal donn ou une date donne. En particulier, le fait de se loguer sur un terminal, sous une identification donne, provoque le lancement d'un processus correspondant l'excution d'un programme dtermin l'avance pour chaque utilisateur (une rfrence du fichier contenant le programme excuter est donne dans le fichier systme /etc/passwd). Il s'agit presque toujours d'un processus correspondant l'excution d'un interprteur de langage de commandes commme par exemple le Bash.

Le lancement d'un processus suppose par consquent le chargement en mmoire centrale ( partir du disque) du programme correspondant en vue de son excution. La majorit des programmes Linux sont rentrants, c'est--dire que si plusieurs utilisateurs demandent l'excution d'un mme programme, une seule copie du programme est place en mmoire centrale, le systme assurant pour chacun des processus correspondants la gestion d'une zone de donnes propre chacun et le bon droulement de chacun des processus (sauvegarde de registres en particulier). L'diteur de liens de LINUX (commande ld) fournit ou non (selon les options) des modules excutables rentrants (zone instructions protge en criture). Un processus possde un certain nombre de caractristiques: une identification (un nombre entier) ; un propritaire (en fait il y en a deux, qui sont des entiers) ; un groupe propritaire (galement deux entiers) ; un terminal d'attachement ; un certain nombre d'autres attributs (comme par exemple la priorit ou le rpertoire de travail) sur lesquels nous reviendrons ultrieurement.

III-B - Lister les processus actif : ps


Tout utilisateur a la possibilit de connatre la liste des processus qui sont attachs son terminal un instant donn, ainsi que les caractristiques de ces processus, au moyen de cette commande. L'exemple suivant illustre cette commande pour un utilisateur qui vient de se loguer:

Il est possible d'avoir de plus amples informations sur les processus en utilisant des options. Par exemple:

Petite dfinition de chaque partie du rsultat: User: le propritaire du processus, en gnral l'utilisateur qui a lanc le processus ;

- 20 Copyright 2011 - PLU Julien. Aucune reproduction, mme partielle, ne peut tre faite de ce site et de l'ensemble de son contenu : textes, documents, images, etc sans l'autorisation expresse de l'auteur. Sinon vous encourez selon la loi jusqu' 3 ans de prison et jusqu' 300 000 E de dommages et intrts.
http://jplu.developpez.com/tutoriels/systeme/presentation-linux/

Prsentation du systme Linux par PLU Julien (Site) (Blog)

PID: le numro d'identification unique du processus. Sont attribus dans l'ordre de lancement des processus. Quand ils atteignent 30.000 ou plus, le nombre recommence 0. Les numros de 0 5 sont gnralement des processus de bas niveau du systme d'exploitation qui ne peuvent tre tus ; %CPU: pourcentage du temps de CPU consacr l'excution de ce processus ; %MEM: pourcentage de mmoire totale utilise par ce processus ; VSZ: superficie totale de la mmoire virtuelle, en blocs de 1k ; RSS: taille relle de l'ensemble, le chiffre exact de la mmoire physique alloue ce processus ; TTY: terminal associ ce processus. Le point d'interrogation indique que le processus n'est reli aucun terminal ; STAT: code d'tat du processus. Les diffrents tats sont S - repos, R - excution (sur file d'attente), Z zombie, N - tche de faible priorit ; START: lorsque le processus a t lanc, ceci indique en heures et minutes depuis quand le programme a t lanc, ou indique depuis combien de jours le processus est lanc si ilfonctionne depuis plus d'une journe ; TIME: temps CPU utilis par le processus depuis le dbut du lancement ; COMMAND: le nom de la commande. Il y a aussi ps -ef qui est quivalent ps aux mais qui a l'avantage de fonctionner sur les versions POSIX qu'on trouve sur les autres systmes Unix.

III-C - Interrompre un processus


Les processus peuvent tre, en gnral, interrompus par l'envoi d'un signal depuis le terminal. L'mission de ce signal est provoque par la frappe de caractres particuliers que nous dsignerons par CTRL + C. Ce signal pour effet d'interrompre tous les processus attachs au terminal depuis lequel il est mis, sauf demande expresse formule par le processus comme nous le verrons. Un certain nombre de processus n'acceptent pas les interruptions par ces signaux. C'est le cas, par exemple, des processus associs au Shell, dont on ne peut sortir depuis le terminal que par CTRL + D (indiquant par l la fin des donnes interprter). Nous verrons plus loin comment forcer l'interruption de processus de ce type et, par ailleurs, comment crer soi-mme des tches ayant ces proprits.

III-D - La redirection des fichiers standards


Les processus fournissant des rsultats (par exemple ls, who ou ps) les crivent sur la sortie standard qui est, par dfaut, physiquement associe au terminal de lancement du processus (un fichier spcial /dev/tty"numro du terminal"). De faon analogique, les processus ayant besoin de donnes extrieures, en cours d'excution (par exemple mail, write ou sh) les lisent sur l'entre standard galement associe par dfaut ce terminal. Il est possible d'affecter ces fichiers d'entre et de sortie standards d'autres dispositifs que la console qui contrle le processus. Ce fichier peut tre un autre fichier spcial ou un fichier ordinaire; la seule contrainte est que l'utilisateur ait l'autorisation d'criture ou de lecture (suivant le cas) sur ledit fichier. La redirection de la sortie standard d'une commande dans un fichier rpond la syntaxe commande > rfrence. Si le fichier existe, il est pralablement supprim.

- 21 Copyright 2011 - PLU Julien. Aucune reproduction, mme partielle, ne peut tre faite de ce site et de l'ensemble de son contenu : textes, documents, images, etc sans l'autorisation expresse de l'auteur. Sinon vous encourez selon la loi jusqu' 3 ans de prison et jusqu' 300 000 E de dommages et intrts.
http://jplu.developpez.com/tutoriels/systeme/presentation-linux/

Prsentation du systme Linux par PLU Julien (Site) (Blog)

Il est galement possible d'ajouter des rsultats d'un processus la fin d'un fichier (donc sans effacement de son contenu antrieur) par des commandes de la forme commande >> rfrence comme l'illustre l'exemple suivant:

On constate que la redirection de la sortie standard est sans aucun effet sur le droulement du processus. De fait, lors de l'apparition d'une erreur, le message d'erreur n'est pas envoy sur cette sortie, mais un autre fichier standard appel sortie d'erreur standard galement associe de manire standard au terminal. Il est possible de rediriger cette sortie peu prs de la mme manire que la commande prcdente commande 2 > rfrence ou commande 2 >> rfrence. On peut, de mme, rediriger l'entre standard d'un processus o sont lues les donnes. Cette redirection rpond la syntaxe commande < rfrence.

III-E - Processus parallles et communication


Pour continuer ce premier contact avec l'univers LINUX, nous montrons quelques autres possibilits supplmentaires communes aux diffrents langages de commandes. Ainsi il est tout d'abord possible d'enchainer deux ou plusieurs processus de faon totalement indpendante et en squence, le droulement du premier n'influant pas sur celui du second qui est lanc la fin de son excution.

Les enchanements de commandes que nous venons de voir ont deux caractristiques essentielles: Ils sont squentiels, c'est--dire qu'une commande n'est lance (et le processus associ cr) que lorsque la prcdente est termine; il n'y a aucun paralllisme dans l'excution. Eventuellement, comme c'est le cas des diffrents Shell, un processus en lance un autre et est suspendu jusqu' la fin du processus qu'il a lanc. Les processus sont totalement indpendants, c'est--dire que le droulement de l'un ne dpend pas de celui des prcdents. Il n'y a aucun change d'informations entre les diffrents processus.

III-F - Lancer un processus en arrire-plan


Les utilisateurs disposent d'un mcanisme leur permettant de lancer un certain nombre de processus de faon concurrente (en quelque sorte paralllement) et communiquant entre eux par l'intermdiaire de tubes (pipes), le systme assurant la synchronisation de l'ensemble des processus ainsi lancs. Le principe gnral de fonctionnement
- 22 Copyright 2011 - PLU Julien. Aucune reproduction, mme partielle, ne peut tre faite de ce site et de l'ensemble de son contenu : textes, documents, images, etc sans l'autorisation expresse de l'auteur. Sinon vous encourez selon la loi jusqu' 3 ans de prison et jusqu' 300 000 E de dommages et intrts.
http://jplu.developpez.com/tutoriels/systeme/presentation-linux/

Prsentation du systme Linux par PLU Julien (Site) (Blog)

est assez simple: la sortie standard de chaque processus pip (except le dernier) est redirige sur un tube et l'entre standard du processus suivant est redirige sur ce tube, si bien que les donnes d'un processus sont constitues par les rsultats du prcdent dans la liste des processus donns. Examinons sur un exemple simple ce qui se passe exactement:

La commande grep permet de rechercher une chane de caractres dans un fichier. La commande ps aux | grep pts/0 entrane la cration de deux processus concurrents, les rsultats du premier (correspondant la commande ps aux) tant envoys sur un tube. C'est au niveau du tube que le second processus (correspondant la commande grep pts/0) prend ses donnes, plutt qu'au clavier. La sortie standard du processus ps aux a t redirige sur le tube et l'entre standard du processus grep pts/0 galement. Le systme assure la synchronisation de l'ensemble dans le sens o: Il suspend le processus lecteur dans le tube lorsque le tube est vide; Il suspend le processus crivain dans le tube lorsque le tube est plein.

Sur ce dernier exemple vous avez pu voir l'existence effective des deux processus (le processus ps aux et le processus grep pts/0).

III-G - Lancer un processus en mode dtach


Une autre facilit particulirement intressante qui est offerte aux utilisateurs est la possibilit de lancer des processus en mode batch: ces processus sont dits en arrire-plan ou background et sont tels que le processus Shell qui les cre reprend son excution aprs les avoir crs sans attendre leur achvement. Ce mcanisme permet ainsi un mme utilisateur de lancer depuis un seul poste de travail plusieurs tches diffrentes: c'est, avec le mcanisme dcrit prcdemment, une seconde illustration de l'aspect multitches du systme pour chaque utilisateur. Il faut cependant tre conscient que ce procd au demeurant fort agrable (en effet rien n'est plus pnible que de lancer la compilation d'un programme et de ne pouvoir utiliser son terminal durant toute cette compilation) conduit souvent surcharger le systme et par consquent cette facilit doit tre utilise bon escient. Nous donnons ci-dessous un exemple de cration d'un tel processus en arrire-plan correspondant au dmarrage de l'diteur de texte gedit. Le caractre & qui suit la commande indique que le processus cr doit l'tre en arrire plan.

Le systme rpond en indiquant le numro du processus cr. Il faut savoir qu'un tel processus a les mmes sortie standard et sortie erreur standard que le processus qui le cre: ainsi en mode standard, les rsultats ventuels sont affichs sur l'cran. Il est possible (et fort agrable) d'utiliser les redirections pour ces processus. Par ailleurs les processus ainsi dtachs ne sont plus sous le contrle direct de la console, en ce sens qu'ils ne peuvent plus lire de donnes au clavier du terminal. Leur entre standard doit tre redirige, faute de quoi elle sera redirige par dfaut sur le fichier spcial de rfrence absolue /dev/null qui est, en quelque sorte, un puits sans fond o les utilisateurs peuvent envoyer tout ce dont ils ne veulent pas. Ces processus ne peuvent, par ailleurs, plus tre interrompus par le signal correspondant CTRL + C dont nous avons parl un peu avant.

- 23 Copyright 2011 - PLU Julien. Aucune reproduction, mme partielle, ne peut tre faite de ce site et de l'ensemble de son contenu : textes, documents, images, etc sans l'autorisation expresse de l'auteur. Sinon vous encourez selon la loi jusqu' 3 ans de prison et jusqu' 300 000 E de dommages et intrts.
http://jplu.developpez.com/tutoriels/systeme/presentation-linux/

Prsentation du systme Linux par PLU Julien (Site) (Blog)

III-H - Interruption de processus, le retour


L'interruption des processus lancs en background (ce qui est galement vrai pour ceux qui ne le sont pas) peut tre ralise de diffrentes manires: soit en se dloguant (c'est--dire en signalant au Shell principal du terminal la fin des donnes par la squence CTRL + D) cela a pour effet d'interrompre la session de travail sur le terminal et, par voie de consquence, tous les processus lancs depuis ce terminal (nous verrons plus tard qu'un signal particulier nomm SIGHUP est alors adress tous les processus attachs au terminal) ; Soit en lanant un processus d'interruption destination du processus vis; nous verrons galement plus tard qu'un certain nombre de signaux peuvent provoquer l'interruption d'un processus. Les signaux sont identifis par des nombres (le signal correspondant CTRL + C vaut 2). Signalons ds maintenant qu'il en est un qui ne peut, en aucun cas, tre ignor par les processus et constitue donc une arme absolue contre les processus indsirables: il s'agit du signal 9 (SIGKILL). Un signal peut tre adress directement un processus au moyen de la commande kill. On lui fournit, en arguments, le numro du signal et l'identification du processus destinataire. La commande ps est alors particulirement utile pour retrouver le numro d'un processus.

La commande kill -9 IDProcessus permet, en toutes circonstances un utilisateur de tuer un processus de numro donn depuis n'importe quel terminal; cela est particulirement important lorsqu'on a perdu pour une raison ou une autre la main son terminal et que le signal correspondant la squence CTRL + C sont sans effet; il est alors ncessaire d'envoyer ce signal d'interruption depuis une autre console. La seule contrainte ce niveau est que l'on ne peut envoyer un signal un processus que si l'on en est le propritaire ( moins d'tre le super-utilisateur). Pour terminer, signalons que le fait de se dloguer avant l'achvement des processus lancs depuis un terminal en background provoque l'interruption de ces processus (par l'mission d'un signal particulier que nous verrons plus tard). Pour viter ce phnomne, il existe une commande nohup qui permet aux processus lancs d'ignorer le signal SIGHUP prcdent. Ainsi la commande nohup prog "donnees" resultats& peut tre lance juste avant de se dloguer. Il s'agit du lancement en background du processus correspondant l'excution du programme de rfrence prog prenant ses donnes dans le fichier de rfrence "donnes" et crivant ses rsultats dans le fichier de rfrence "rsultats". Le fait de se dloguer n'interrompt alors plus le processus.

IV - Remerciements
Je remercie dourouc05 et ram-0000 pour leurs conseils et leur aide. Je remercie aussi u-milite et claudeleloup pour leur correction orthographique de cet article.

- 24 Copyright 2011 - PLU Julien. Aucune reproduction, mme partielle, ne peut tre faite de ce site et de l'ensemble de son contenu : textes, documents, images, etc sans l'autorisation expresse de l'auteur. Sinon vous encourez selon la loi jusqu' 3 ans de prison et jusqu' 300 000 E de dommages et intrts.
http://jplu.developpez.com/tutoriels/systeme/presentation-linux/