You are on page 1of 193

Linux : Principes de Base

Elies JEBRI

Table de Matires :

Introduction ........................................................................................................................................................................ 5
LECON 1 ................................................................................................................................................................................. 6
Histoire dUNIX ............................................................................................................................................................ 7
Laboratoires Bell .......................................................................................................................................................... 7
Projet GNU/FSF ........................................................................................................................................................... 9
Licences Open Source................................................................................................................................................... 9
Pourquoi choisir Linux ?............................................................................................................................................ 11
Red Hat Linux............................................................................................................................................................. 11
Matriel requis ....................................................................................................................................................................... 12
Les CD-ROM Red Hat Linux ................................................................................................................................................ 12
CD-ROM ncessaires pour linstallation ......................................................................................................................... 12
CD-ROM de documentation .................................................................................................................................................. 12
CD-ROM source .................................................................................................................................................................... 12
X Window .................................................................................................................................................................... 12
Interfaces graphiques cohrentes .................................................................................................................................. 13
LEON 2 ............................................................................................................................................................................... 14
Fichiers ............................................................................................................................................................................. 15
Les chartes de couleurs sont dfinies dans le fichier /etc/DIR-Colors. ................................................................... 15
Fichiers de priphriques ....................................................................................................................................................... 15
Processus de Linux ........................................................................................................................................................... 16
Shell de la ligne de commande .............................................................................................................................................. 17
Le Bourne Again Shell ..................................................................................................................................................... 17
Excution de commandes ............................................................................................................................................. 18
Excution de plusieurs commandes ................................................................................................................................. 18
Dfinition des options dune commande ................................................................................................................................ 18
Variables denvironnement standard ...................................................................................................................................... 19
UTILISATEURS.................................................................................................................................................................... 19
Un compte dutilisateur est un compte Linux normal ............................................................................................................ 19
Les utilisateurs appartiennent un ou plusieurs groupes ....................................................................................................... 19
Un groupe peut avoir un ou plusieurs utilisateurs Et.............................................................................................................. 19
Les fichiers appartiennent un utilisateur et un groupe ...................................................................................................... 19
Le super-utilisateur (ou utilisateur root) a un accs illimit ................................................................................................... 19
Choix dun mot de passe adquat ................................................................................................................................. 20
Aide en ligne-man ........................................................................................................................................................ 21
man ............................................................................................................................................................................... 21
Sections de manuel ....................................................................................................................................................... 21
Autres utilitaires daide .......................................................................................................................................................... 21
Consoles virtuelles ................................................................................................................................................................. 22
LECON 3 ............................................................................................................................................................................... 23
Objectifs : .......................................................................................................................................................................... 23
Thmes abords : ........................................................................................................................................................ 23
Manipulation de fichiers .................................................................................................................................................. 27
Afficher le fichiers un ou un en plein cran ........................................................................................................................... 29
Globbing ....................................................................................................................................................................... 30
EXERCICES DE LA LEON 3 ............................................................................................................................................ 32
Squence 1 : organisation de rpertoires et fichiers ............................................................................................................... 33
Squence 2 : Dterminer lespace disque ............................................................................................................................... 36
Squence 3 : Examen des fichiers de texte............................................................................................................................. 37
LECON 4 ............................................................................................................................................................................... 40
Objectifs ............................................................................................................................................................................ 40
Thmes abords ................................................................................................................................................................ 40
Utilisateurs ........................................................................................................................................................................ 41
Utilisateurs :.................................................................................................................................................................. 41
Multitche et multi-utilisateurs : ................................................................................................................................... 41
Modle de groupe priv dutilisateurs .......................................................................................................................... 42
Contrle au laccs de matriel :................................................................................................................................... 42
Modle de scurit de linux ................................................................................................................................................... 43
Page N 1

Linux : Principes de Base

Elies JEBRI

Utilisateurs et groupes du systme ......................................................................................................................................... 45


Commandes dinformation sur les utilisateurs ....................................................................................................................... 46
Changement de votre identit ........................................................................................................................................... 47
FIN DE LEON 4 .................................................................................................................................................................. 48
EXERCICES DE LA LEON 4 ............................................................................................................................................ 49
Examen des informations sur les utilisateurs ......................................................................................................................... 49
LEON 5 ............................................................................................................................................................................... 54
Autorisations daccs aux fichiers ............................................................................................................................. 54
Objectifs ............................................................................................................................................................................ 54
Thmes abords ................................................................................................................................................................ 54
Types dautorisation daccs aux fichiers ..................................................................................................................... 56
Types dautorisation spciale........................................................................................................................................ 57
Lorsque le bit sticky est utilis sur un rpertoire, gnralement / tmp, il empche tout utilisateur dliminer les fichiers des
autres utilisateurs. .................................................................................................................................................................. 57
Analyse des autorisations ............................................................................................................................................. 58
Analyse des Rpertoires ......................................................................................................................................................... 58
Analyse des autorisations utilisateur : .................................................................................................................................... 59
Analyse des autorisations Groupe: ......................................................................................................................................... 59
Analyse des autorisations Autres utilisateurs: ........................................................................................................................ 59
Autre exemples ............................................................................................................................................................. 59
Syntaxe chmod ............................................................................................................................................................. 61
Dfinition numrique du mode daccs.................................................................................................................................. 62
FIN DE LA LEON 5 ........................................................................................................................................................... 64
EXERCICES DE LA LEON 5 ............................................................................................................................................ 65
Autorisations daccs aux fichiers ................................................................................................................................... 65
LEON 6 ............................................................................................................................................................................... 67
Le systme de fichier Linux ....................................................................................................................................... 67
Objectifs ................................................................................................................................................................................. 67
Squence 1 : Crer et utiliser des liens ................................................................................................................................... 71
Squence 2 : Archiver et compresser ..................................................................................................................................... 72
LEON 7 ............................................................................................................................................................................... 75
Redirection de la sortie et cration/crasement du fichier ou tupt.......................................................................................... 78
Redirection de sortie et ajout des donnes au fichier output .................................................................................................. 78
Redirection de la sortie et crasement du fichier ouput......................................................................................................... 78
Visualisation du fichier ouput ................................................................................................................................................ 78
Redirection de lerreur standard ............................................................................................................................................. 78
Redirection dautres erreurs standard vers le fichier finderrors .................................................................................... 79
Find / -name passwd 2>errs > results ........................................................................................................................... 79
LECON 8 ............................................................................................................................................................................... 82
Cut .......................................................................................................................................................................................... 87
FIN DE LA LEON 8 ........................................................................................................................................................... 90
Traitement de chanes, E/S standard et pipes ................................................................................................... 90
Squence1 : traitement de chanes de base ...................................................................................................................... 90
LECON 9 .............................................................................................................................................................................. 96
Objectifs : ............................................................................................................................................................................... 96
Thmes abords :.................................................................................................................................................................... 96
Modifier la priorit de Programmation du processus ........................................................................................................ 102
Excuter un processus au premier ................................................................................................................................. 102
Ne lancera aucun autre processus avant Que celui qui en cours ne soit termin et .................................................... 103
FIN DE LA LEON 9 ......................................................................................................................................................... 106
EXERCICES DE LA LEON 9 .......................................................................................................................................... 107
LEON 10 .......................................................................................................................................................................... 109
Introduction au shell bash .................................................................................................................................................... 110
Hritage de bash ............................................................................................................................................................. 110
Variables denvironnement couramment utilises ............................................................................................................... 112
Chemin daccs de recherche excutable ...................................................................................................................... 112
Le nom dhte ...................................................................................................................................................................... 113
Le nom de base du nom de lunit dentre/sortie du shell ................................................................................................ 113
Protection contre lexpansion ............................................................................................................................................... 116
Utilisation de nohup ............................................................................................................................................................. 117
Excution de processeur en tche de fond ..................................................................................................................... 117
History-Rappel de commandes ................................................................................................................................ 118
Historique avanc ....................................................................................................................................................... 118
Page N 2

Linux : Principes de Base

Elies JEBRI

Commandes Composes ........................................................................................................................................... 118


Commande composes ............................................................................................................................................... 118
Valeurs de retour des commandes .......................................................................................................................... 119
Scripts dmarrage ................................................................................................................................................................. 120
Shells de connexion ........................................................................................................................................................ 122
INPUTERC= / etc/inputerc .................................................................................................................................................. 120
Notions de base sur les scripts.............................................................................................................................................. 123
Cration de scripts Shell ................................................................................................................................................. 124
Faire en sorte quun script soit excutable ............................................................................................................. 124
Conseils pour lutilisation de lhistorique...................................................................................................................... 129
Conseils pour lutilisation de lachvement de commandes................................................................................................. 129
Personnalisation de lachvement de commandes ........................................................................................................ 129
Edition de ligne de commande ............................................................................................................................................. 130
FIN DE LA LEON 10 ....................................................................................................................................................... 131
EXERCICES DE LA LEON 10 ........................................................................................................................................ 132
Sequence 2 : Configuration des options du shell .................................................................................................... 133
Squence dfi : utilisation des fonctions du Shell ................................................................................................................ 135
LEON 11 ........................................................................................................................................................................... 136
Systme X Window.............................................................................................................................................................. 137
Protocole X ..................................................................................................................................................................... 138
X est protocole ..................................................................................................................................................................... 138
X distance .......................................................................................................................................................................... 138
Versatilit le X................................................................................................................................................................. 139
Gestionnaires de fentres ............................................................................................................................................... 140
Sawfish ....................................................................................................................................................................... 140
Configuration de Sawfish ..................................................................................................................................................... 140
GNOME..................................................................................................................................................................... 141
KDE ........................................................................................................................................................................... 141
Environnement X original ....................................................................................................................................... 141

X11 sans GNOME ou KDE .............................................................................................................................. 141


Switchdesk ................................................................................................................................................................. 141
Switchdesk ................................................................................................................................................................. 142
Switchdesk ................................................................................................................................................................. 142
Copier et coller ................................................................................................................................................................ 143
Terminaux GUI .................................................................................................................................................................... 143
Editeurs GUI ........................................................................................................................................................................ 143
Gftp ...................................................................................................................................................................................... 144
Gimp .................................................................................................................................................................................... 144
Xchat .................................................................................................................................................................................... 144
Navigateurs Web .................................................................................................................................................................. 144
Utilitaires pour traitement dimage ...................................................................................................................................... 145
Applications KDE ................................................................................................................................................................ 145
Personnalisation de x............................................................................................................................................................ 145
FIN DE LA LEON 11 ....................................................................................................................................................... 146
EXERCICES DE LA LEON 11 ........................................................................................................................................ 147
Squence 1 : Personnalisation du gestionnaire de fentres .................................................................................................. 147
LEON 12 ........................................................................................................................................................................... 148
Impression et messagerie ............................................................................................................................................ 148
Objectifs : ........................................................................................................................................................................ 148
Thmes abords : ............................................................................................................................................................ 148
Imprimer sous Linux ............................................................................................................................................................ 149
Imprimer ......................................................................................................................................................................... 149
Travaux ........................................................................................................................................................................... 149
LPRng ........................................................................................................................................................................ 149
Imprimer depuis la ligne de commande.................................................................................................................. 151
Imprimer depuis les applications ............................................................................................................................ 151
Utilitaire dimpression.............................................................................................................................................. 151
E- mail........................................................................................................................................................................ 152
Filtrer les e-mails.................................................................................................................................................................. 153
Fetchmail .............................................................................................................................................................................. 154
FIN DE LA LEON 12 ....................................................................................................................................................... 155
EXERCICE DE LA LEON 12 .......................................................................................................................................... 156
Page N 3

Linux : Principes de Base

Elies JEBRI

Dure approximative : 30 Minutes ............................................................................................................................ 156


LEON 13 .......................................................................................................................................................................... 157
$ ping www.redhat.com ....................................................................................................................................................... 158
Traceroute ............................................................................................................................................................................ 158
Host ................................................................................................................................................................................. 159
dig ............................................................................................................................................................................... 160
ncftp ........................................................................................................................................................................... 163
Telnet .............................................................................................................................................................................. 164
Shell scuris :ssh ................................................................................................................................................................ 165
ridist ................................................................................................................................................................................ 165
rsync ..................................................................................................................................................................................... 166
FIN DE LA LEON 13 ....................................................................................................................................................... 167
EXERCICES DE LA LEON 13 ........................................................................................................................................ 168
Client rseau de base ...................................................................................................................................................... 168
Dure approximative : 40 minutes .............................................................................................................................. 168
Squence 2 : communication crypte suite ssh ........................................................................................................ 170
LEON 14 ........................................................................................................................................................................... 172
Vi : vue densemble ........................................................................................................................................................ 173
Mta- caractres dexpression rgulire ............................................................................................................................... 180
Revue des expressions rgulires ......................................................................................................................................... 181
FIN DE LA LEON 14 ....................................................................................................................................................... 181
EXERCICES DE LA LEON 14 ........................................................................................................................................ 182
Vi.......................................................................................................................................................................................... 182
LEON 15 ........................................................................................................................................................................... 183
TERM.............................................................................................................................................................................. 184
Collisions:0 txqueuelen:0 ........................................................................................................................................... 185
Rassemblement dinformations ............................................................................................................................................ 186
Woh ................................................................................................................................................................................. 186
USER LINE LOGIN- TIME IDEL FROM ................................................................................................... 186
Utilisez cette commande pour visualiser la mmoire libre et utilise. ........................................................................ 186
FIN DE LA LEON 15 ....................................................................................................................................................... 192
EXERCICES DE LA LEON 15 ........................................................................................................................................ 193

Page N 4

Linux : Principes de Base

Elies JEBRI

Principe de base de Red Hat


Linux
Introduction
Objectifs du cours
Formation dun utilisateur RED HAT Linux qui sache employer et personnaliser son systme RED
HAT Linux au moyen des outils de linterface graphique ainsi que des processus les plus frquents de
la ligne de commande.
Le cours vous permet dacqurir les connaissances de base requise pour utiliser de faon productive le
systme RED HAT linux. Ces comptences incluent.
Manipulation des fichiers et rpertoires
Dfinition des utilisateurs et groupes
E/O standard et canaux
Elaboration de chanes
Gestion des processus
opration de shell bash
les environnements graphiques de RED HAT LINUX
outils de base du systme rseau
lditeur vi
outils systme
installation de RED HAT Linux
Public concern et conditions
Public concern : utilisateurs dbutant de Linux et UNIX ; les utilisateurs et les administrateurs dun
autre type de systme dexploitation
Condition : connaissance de base dun systme dexploitation quelconque, utilisation de la souris des
menus et dune interfaces graphique utilisateur.

Page N 5

Linux : Principes de Base

Elies JEBRI

LEON 1

Introduction
Objectifs :
En savoir plus sur lhistoire dUNIX et Linux
Comprendre les principes de base dUNIX
Comprendre les licences Open Source
En savoir plus sur Red Hat Linux
En savoir plus sur les environnements
Interface graphique(GUI)

Thmes abords :
Histoire dUNIX et Linux
Principes de cration UNIX
L licenses Open Source
Red Hat Linux
Interface graphique (GUI) de Linux

Page N 6

Linux : Principes de Base

Elies JEBRI

Histoire dUNIX

La premire version est cre dans les


Laboratoires de la socit Bell en 1969.
AT&T met sous licence le code source un prix abordable.
UNIX est le nom de la marque de commerce et est
Gard prcieusement par la socit.
Chaque dtenteur de licence doit crer un nouveau nom pour son propre
systme dexploitation.
De nombreuses varits dUNIX voient ainsi le jour.
Laboratoires Bell
A lorigine, Unix a t dvelopp pour un usage interne chez AT&T par les chercheurs Ken thompson
et Dennis Ritchie. AT&T a ensuite mis sous licence le code source, ce qui permit de nombreuses
socits de modifier de produire des systmes dexploitation de type UNIX. Comme AT&T a gard le
nom UNIX, les autres socits ont d crer leur propre nom, tel que, par exemple, AIX dIBM,
XENIX de Microsoft, Solaris de Sun et IRIX de SGI.
Varits dUNIX
Les nombreuses varits dUNIX fonctionnent toutes de faon trs semblable. A linvite du shell, la
plupart des utilitaires et des commandes sont disponibles, bien que les paramtres utiliss par les
commandes puissent marier dun systme lautre. Par analogie, on pourrait comparer UNIX aux
voitures. Il y a de nombreux constructeurs et modles de voitures, mais dans lensemble, elles
fonctionnent toutes plus ou moins de la mme manire, en dpit des petites diffrences qui existent
entre elles.

Principes dUNIX

Tout est fichier


Y compris le matriel
Donnes de configuration stockes en texte
Petits programmes fonction unique
Possibilit denchaner des programmes
pour excuter des tches plus complexes

Tout est ficher


Les systmes UNIX ont de nombreux utilitaires puissants destins crer et manipuler des fichiers. Le
modle de scurit UNIX se base sur la scurit des fichiers. En considrant tout chose comme tant
un fichier, on obtient une puissante cohsion. Il est ainsi aussi facile de scuriser laccs au matriel
que de scuriser laccs un fichier.
Donnes de configuration stocke en texte
Le texte est une interface universelle et il existe de nombreux utilitaires UNIX pour le manipuler. Le
stockage de donnes de configuration en texte permet de dplacer celles-ci trs facilement dun
ordinateur un autre. Il existe aussi de nombreuses applications de rvision de contrle pour dceler
Page N 7

Linux : Principes de Base

Elies JEBRI

aisment les changements qui ont t effectus une date prcise et vous donner galement la
possibilit de remettre, vos donnes de configuration telles quelles taient une date et une heure
spcifiques.
Petits programmes fonction unique
Il existe sous UNIX de nombreux petits programmes excutant trs bien une tche en particulier. La
philosophie derrire ceci est cre des programmes spars plutt que dajouter de nouvelles fonctions
aux programmes dj existants.
Possibilit denchaner des programmes pour excuter des tches plus complexes
Lune des mthodologies de dveloppement de base est lutilisation du rsultat (output) dun
programme comme information de dpart (input) dun autre programme. Cela donne lutilisateur la
flexibilit ncessaire pour combiner de nombreux petits programmes, dans le but dexcuter une tche
plus vaste et plus complexe

Page N 8

Linux : Principes de Base

Elies JEBRI

Projet GNU/FSF
Le projet GNU commence en 1984
But : crer un clone UNIX libre ;
En 1990, on avait dj cr la plupart des applications ncessaires aux utilisateurs.
Gcc, emacs, etc.
Free SoftWare Fondation
Organisation sans but lucratif qui gre le projet GNU.
La signification du terme logiciel libre pourrait vous surprendre. En effet, le terme ne fait pas
rfrence au cot du logiciel, mais bien au fait que lutilisateur final peut le modifier en toute
libert. Voici un extrait tir du site Web de GNU :
Le logiciel libre est question de libert et non de prix. Pour bien saisir ce concept, il fait penser en
termes de libert dexpression, et non en termes de bire gratuite.
Logiciel libre se rfre la libert de lutilisateur dexcuter, de copier, de distribuer, dtudier et
damliorer le logiciel. Plus prcisment, ce terme se rfrer quatre types de libert pour
lutilisateur du programme :
La libert dexcuter le logiciel, et ce dans nimporte, quel but (libert0) la libert dtudier le le
fonctionnement du logiciel et de ladapter ses propres besoins (libert 1). Laccs au code source
est une condition sine qua non pour cela. La libert de redistribuer des copies, afin daider son
prochain (libert2) .La libert damliorer le logiciel et de rendre public les amliorations, de sorte
que lensemble de la communaut puisse en profiter (libert3). Laccs au code source est une
condition sine qua non pour cela.
Un logiciel ne peut tre considr comme tant libre que si son utilisateur a droit toutes ces
liberts. Par consquent, ce dernier est libre de redistribuer des copies du logiciel, avec ou sans
modification, gratuitement ou en demandant un prix de distribution, nimporte qui et nimporte ou.

GPL_ Licence publique mondiale GNU


Licence primaire pour logiciels libres (Open Source)
Encourage les logiciels libres.
Tout changement (ou amlioration) apport un logiciel GPL doit aussi tre conforme la
GPL.
Souvent appel copyleft
Tout droit renverss

Licences Open Source


La plupart des utilitaires et application contenus dans la distribution Red Hat sont aussi couverts par la
GPL. La seule grande exception cette rgle est le systme X Widow, qui a ses propre termes et
conditions., Le texte de la GPL://www.gnu.org/copyleft/gpl.html.

Page N 9

Linux : Principes de Base

Elies JEBRI

Dautres applications. Telles que NetscapeTM , ont leur propre contrat de licence, qui doit tre accept
avant de pouvoir les utiliser . Le contrat de licence de Netscape saffiche lors de la premire utilisation
de lapplication et peut tre visualise depuis le menu laide.
Les dveloppeurs de logiciels (et autres) qui utilisent le code de BSD TM doivent accepter de se
soumettre aux conditions de la Berkley Software Distribution. Visitez le site Web http://www.bsd.com
pour avoir plus dinformation ce sujet.
Tout logiciel contenu dans la distribution Red Hat est libre pour les utilisateurs ordinaires. Si,
toutefois, vous prvoyez dvelopper des applications commerciales ou dsirez redistribuer certains
logiciels de la distribution, veuillez dabord lire les licences et les contrats.

Origines de Linux
Linus Torvalds
Etudiant universitaire finlandais en 1991
Cr le noyau Linux
La conjugaison du noyau Linux aux applications GNU permet lapparition dun systme
dexploitation de type UNIX compltement gratuit.
Linus annona linux sur le groupe de nouvelles comp.os. aot 1991 :
Expditeur : trovlds@Klaava . Helsinki. FI (Linus Benedict Trovalds)
Groupe de nouvelles : comp.os.minix.
Objet : Quaimeriez-vous le plus obtenir de minix ?
Rsum : petit sondage pour mon tout mon tout nouveau systme dexploitation
Message-ID : <1991 Aug25.205708.9541@ klaava. Helsinki.FI>
Date :25 aot 91 20 :57 :08 GMT
Organisation :Universit dHelsinki
Bonjour tout les utilisateurs de minix,
Je maffaire actuellement la cration dun systme dexploitation (gratuit) pour les clones AT
386 (486) ( ce nest quun hobby, le rsultat ne sera pas aussi gros et professionnel que GNU).
Je mijote cette ide de puis le mois d avril dernier et a commence prendre forme. Jaimerais
avoir vos commentaires afin de savoir ce que les gens aiment et naiment pas de minix car mon
systme dexploitation lui ressemble quelque peu (mme construction physique du systme de
fichiers (d des raisons pratiques ) notamment).
Jy dj adapt bash (1.08) et gcc (1.40) et tout semble fonctionner. Cela signifie que je devrais
obtenir quelque chose de concret dici quelques mois et jaimerais savoir quelles sont les
fonctions les plus demandes par les utilisateurs. Toutes vos suggestions ont les bienvenues,
bien que je ne puisses vous promettre de les appliquer :Linus (totvalds@Kruna.helsinki.fi )
P.S : Eh oui ! mon systme na aucun code minix et a un systme de fichiers multichane. Il nest
pas adaptable ( utilisation multitche 386, etc.) et ne prendra probablement jamais en charge
autre chose que des disques durs AT car cest tout ce que jai:-(

Page N 10

Linux : Principes de Base

Elies JEBRI

Pourquoi choisir Linux ?


Nouvelle mise en uvre DES API UNIX
Modle de dveloppement Open Source
Prise en charge dune grande varit de matriel
Prise en charge de nombreux protocoles et configurations
Compltement pris en charge.

Linux est un systme dexploitation de type UNIX


Bien des gens croient, tort, que Linux sont compltement diffrent. Au contraire, Linux est aussi
semblable UNIX que les diffrentes versions dUNIX
Le sont entre elles. Dans lensemble, tout ce quil est possible de faire avec une autre version
dUNIX peut aussi ltre avec le systme dexploitation Linux, bien que parfois les mthodes
puissent varier lgrement.

Multi Utilisateurs et multitche


Lune des caractristiques cls de Linux et qil sagit dun systme dexploitation multi-utilisateurs
et multitche. Cela signifie que plus dune personne peuvent tre connectes un mme ordinateur
Linux au mme moment (videmment, chaque utilisateur doit travailler sur son propre
terminal).Un utilisateur pourrait mme tre connect son compte depuis plus dun processus
(programme) simultanment.
Prise en charge dun grade varit de matriel
Red Hat Linux prend en charge la plupart de produits matriels x 86 moderne compatible PC. Au
dbut, la prise en charge matrielle de Linux, tait un problme important, mais au fils des ans, vu
lvolution et la popularit grandissante de Linux, la prise en charge du matriel est devenue lune
des priorits des fournisseurs de matriel.

Compltement pris en charge


Red Hat Linux est une distribution compltement prise en charge. Red Hat Inc. Fournit de
nombreux programmes de prise en charge pour toutes les socits, de la plus petite les socits, de
la plus petite la plus grande.

Red Hat Linux


Red Hat est une distribution de Linux
Version du noyau Linux la plus rcente
Utilitaires et applications les plus courants
Logiciel dinstallation et de configuration
Assistance disponible
Chronologie de Red Hat Inc.
1995 Bod Young et Mark Ewing crent Red Hat Software, In.
1996 Red Hat Linux 4.0 est nomm systme dexploitation bureau de lanne par InfoWord.
1997 Red Hat Linux 5.0 est, encore une fois, nomm systme d exploitation rseau de lanne
par InfoWord.
1998 La part de march de Linux passe de 6,8% en 1996 17,2% selon I DC
1999 Red Hat, Inc. Offre un concours de formation qui permet aux participants dobtenir la
certification RHCE (Red Hat Certified Engineer).
2000 La part de march de Linux augmente et atteint 28%.

Page N 11

Linux : Principes de Base

Elies JEBRI

Matriel requis
Processeur de type Pentium ou suprieur
64 Mo de mmoire vive
600Mo- 1,2Go despace disque, selon lutilisateur prvue
Lecteur de CD-ROM ou de disquette 31/2 po.amorable
Les CD-ROM Red Hat Linux
cd-ROM Red Hat Linux
cd 1 - CD-ROM dinstallation amorable, contenant les paquetages les plus couramment
utiliss ;
cd 2 parquetages complmentaires, pouvant tre ncessaires au moment de
linstallation, selon le type choisi ;
cd 3 CD-ROM de documentation ;
cd 4 parquetages RPM source (dautres parquetages RPM source se trouvent
galement sur le cd 2).
CD-ROM ncessaires pour linstallation
Gnralement, seul CD-ROM 1 est requis lors de Linstallation de Red Hat Linux. Toute fois, si le
CD-ROM 2 est aussi ncessaire, le systme vous lindique.
CD-ROM de documentation
Ce CD-ROM contient des RPM. Cependant, il nest pas ncessaire dinstaller les RPM de
documentation. La faon la plus simple pour lire les informations est dexplorer le CD-ROM laide
du navigateur Web. Pour ce faire, ouvrez le fichier index. html qui se trouve sur le CD-ROM.
CD-ROM source
Red Hat inclut les parquetages RPM source sur les CD-ROM 2 et 4 pour les utilisateurs finaux et pour
se conformer la GPL. Les RPM source contiennent les codes source originaux des autres, les
correctifs fournis par Red Hat Inc., de mme que les instructions de compilation.

Environnements GUI Linux


Systme X WINDOWS Linux standard XFree86
XFree86 3.3.x
XFree86 4.0.x
GNOME environnement bureau cohrent bas sur lensemble doutils GTK.
KDE environnement bureau cohrent bas sur lensemble doutils QT.

X Window
Le systme x Window est la base de linterface graphique utilisateur(GUI) pour la plupart des
fournisseurs versions UNIX. Cependant, bien que x soit la base de linterface graphique, la
diffrence au niveau de lapparence et du confort dutilisation peut tre considrable. Cela est d au
fait que x a un trs haut niveau configurabilit et, donc, que les fournisseurs choisissent de le
configurer diffremment les uns des autres.
Le Consortium XTM , un groupe de fournisseurs et dorganisation qui dveloppent et distribue le
systme x Window, prfre que lon se rfre leur produit sous les appellations suivantes : systme x
Window,x Window ou, tout simplement, x. Notez que Window scrit au singulier, soit sans s
final.

Page N 12

Linux : Principes de Base

Elies JEBRI

Interfaces graphiques cohrentes


GNOME (GNU NetWork Objet Model Environnement) est un environnement bureau convivial qui
permet lutilisateur de configurer et dutiliser facilement son ordinateur. GNOME comprend une
fentre dans la plupart infrieure de l cran qui sert lancer des applications et visualiser des
informations. De plus, GNOM est aussi dot dun ensemble dapplications doutils pour le bureau.
Enfin, GNOM constitue un ensemble de normes et de conventions pouvant tre utiliser par des
applications de faon pouvoir communiquer et tre cohrentes entre elles.
KDE est un autre environnement bureau convivial, mais des problmes concernant la licence de la
bibliothque QT, sous-jacente KDE, en ont ralenti le dploiement. Toutefois, depuis la fin 2000, la
bibliothque QT fait partie de la GPL.

Page N 13

Linux : Principes de Base

Elies JEBRI

LEON 2

Bref aperu
Objectifs :

Bref aperu de Linux


Se familiariser avec les oprations de base
Observer les procdures cls en excution

Thmes abords :
Bref aperu de Linux
Oprations de base
Procdures cls

Page N 14

Linux : Principes de Base

Elies JEBRI

Connexions locales
Connexion en mode texte la console virtuelle
Niveau dexcution 3
Connexion graphique
Niveau dexcution 5
Connexion un ordinateur local
Lorsque vous vous connectez un ordinateur local (un ordinateur qui se trouve en face de vous), une
invite de connexion en mode texte ou graphique, selon le niveau dexcution de lordinateur, apparat
lcran.
Le systme affiche une invite vous demandant votre nom dutilisateur suivie par une autre invite vous
demandant votre mot de passe. Si lun des deux est entr de faon incorrecte, la connexion choue et
vous devez effectuer nouveau la connexion. Si les deux sont corrects, la connexion est russie.
Ce qui saffiche par la suite dpend dun certain nombre de facteurs. Si votre systme est en mode
texte, linvite de commande se termine probablement par un $. Par exemple :
Red hat Linux release 7.1 (seawolf)
Kernel 2.4.2-2 on an 1686
Localhost login: bkelson
Password:
Welcome to Linux 2.4.2-22
Bkelson@localhost bkelson] S
Notez que votre mot de passe nest jamais affich.
Pour les systmes qui dmarrent dans X Window, ce qui saffiche lcran dpend du gestionnaire
dcran utilis. Le gestionnaire dcran par dfaut de Red Hat Linux est gdm, le gestionnaire dcran de
GNOME.
Etude du systme de fichiers
ls est la commande utilise pour afficher le contenu du systme de fichiers
Red Hat Linux utilise color ls pour afficher chaque type de fichier dune couleur diffrente
ls /etc/x11
ls l /ect/ x11
Fichiers
Linux prend en charge diffrents types de fichiers : Les fichiers normaux, les liens symboliques,
les rpertoires, les sockets, les conduits, les fichiers de priphriques blocs et caractres. La
commande ls affiche chaque type de fichier dune couleur diffrente.
Les chartes de couleurs sont dfinies dans le fichier /etc/DIR-Colors.
Fichiers de priphriques
Page N 15

Linux : Principes de Base

Elies JEBRI

Tous les priphriques sont traits comme des fichiers spciaux


Deux types : blocs et caractres
Enregistrs sous le rpertoire /dev
ls 1 /dev

Fichiers de priphriques
Le fait que Linux accde aux dispositifs matriels travers des fichiers signifie que lutilisateur na
pas besoin le connatre de dtails spcifiques concernant le dispositif .Par exemple, le rpertoire
personnel dun utilisateur peut se trouver sur le premier lecteur SCSI ou sur la quatrime partition
du deuxime lecteur IDE tendu. Lutilisateur na pas besoin de connatre ces informations pour
accder ses fichiers.
Linux reconnat deux types de fichiers spciaux : les dispositifs caractres et les dispositifs
blocs. Les dispositifs caractres interagissent avec leurs dispositifs E/S respectifs, caractre par
caractre (ou octet par octet).Le terminal est un exemple de dispositif caractres.

Priphriques blocs
Les priphriques blocs, tels que les disques durs, transfrent les donnes en blocs. La dimension
des blocs varie de 512 octets 32 ko. Lutilisateur peut galement accder aux dispositifs blocs
sans suivre dordre spcifique.

Priphriques caractres
Les priphriques caractres, comme les ports srie et les modems, transfrent les donnes un
octet la fois. Les dispositifs caractres doivent tre lus et crit dans lordre (srie).
Dfinition du type
Comme nous lavons dj vu, la commande ls l affiche le type de fichier dans la premire
colonne et la commande file nom de fichier affiche des informations sur le type de fichier. Les
dispositifs blocs et caractres auront respectivement un b et un c dans la premire
colonne.
Processus de Linux
Un processus est une instance dun programme en excution
Chaque processus :
A un ID de processus (PID)
Sexcute dans un contexte de scurit spcifique
A un environnement, des fichiers ouverts, une mmoire etc.
Les threads ressemblent aux processus
ps, top, pstree, gtop
Le noyau de Linux attribue chaque processus un unique PID. Les numros des PID sont
compris entre 1 et 32768. Le PID 1 est rserv aux processus init.
Lenvironnement se rfre aux valeurs de diffrents paramtres variables. Un nouveau
processus fils hrite son environnement du processus qui lappelle ou du processus parent.

Page N 16

Linux : Principes de Base

Elies JEBRI

Shell de la ligne de commande


Le shell Linux par dfaut est le Bourne Again Shell, appel bash
Il gre les alias, la complmentation des commandes et la comptabilit POSIX
De nombreux autres shell disponibles
Le Bourne Again Shell
Le shell bash fait partie du projet GNU. bash compatible avec le shell Bourne. Ses paramtres
gnraux sont dfinis dans /etc/profile et dans /etc/bashrc.

Page N 17

Linux : Principes de Base

Elies JEBRI

Excution de commandes
Les commandes ont la syntaxe suivante
nom [options] [ arguments]
chaque lment est spar par une virgule
Les options modifient le comportement des commandes
Sparez les commandes par un ;
Excution de plusieurs commandes
Les commandes se trouvent sur une mme ligne doivent tre spares par des points-virgules.
Lorsque lexcution de la premire commande se termine, le systme excute la commande qui
qui suit. En sparant chaque commande par deux esperluettes (&&), la commande suivante ne
sera excute que si la commande prcdente na pas gnr derreur. Par exemple, la ligne de
commande ci-dessous est souvent utilise pour compiler le noyau Linux :
$ make bzImage && make modules && make modules-install

Dfinition des options dune commande


Commande - - help
La plupart des options ont un quivalent plus long
-a, --all
man commande
par exemple:
ls --help
man ls

Aide en ligne
La plupart des commandes contiennent une aide gnralement, en attribuant loption - - help la
commande en question vous obtenez la liste des options que vous pouvez ajouter cette
commande. Certaines commandes ne prennent pas en charge loption - - help pour connatre les
options de cette dernires, consultez les pages de manuel (man) correspondante.

Page N 18

Linux : Principes de Base

Elies JEBRI

Variables shell et denvironnement


une variable et un espace de la mmoire pouvant contenir une valeur
bash peut utiliser les valeurs des variables tablies par lutilisateur
Pour afficher les variables denvironnement
env.
Pour afficher les variable denvironnement ainsi que les variables shell locales
set
Variables denvironnement standard
PATH
PWD
TERM
SHELL
HOME
USER
DISPLAY
VISUAL
EDITOR

Chemin vers les commandes excutables


Chemin vers le rpertoire courant
Type de terminal de connexion
Chemin vers le Shell de connexion
Chemin vers le rpertoire personnel
Nom de lutilisateur
Nom de lafficheur X
Nom de lditeur visuel
Nom de lditeur par dfaut

UTILISATEURS
Le super-utilisateur (UID) a un contrle total
Les comptes sans privilges ont des UIDsuprieur 0
Pour examiner les informations sur lutilisateur courant
id
Un compte dutilisateur est un compte Linux normal
La plupart des utilisateurs Linux ont un compte d utilisateur normal. Les comptes dutilisateur ont
plein accs leur rpertoires et sous-rpertoires personnels. Les Comptes d utilisateurs ont un accs
trs limit, voire pas daccs du tout, aux rpertoires du systmes et aux rpertoires personnels des
autres utilisateurs.
Les utilisateurs appartiennent un ou plusieurs groupes
Un groupe peut avoir un ou plusieurs utilisateurs Et
Les fichiers appartiennent un utilisateur et un groupe
Par dfaut, les utilisateurs appartiennent un groupe qui a le mme nom que leur nom de
connexion.
Outre appartenir un utilisateur, les fichiers appartiennent aussi un groupe. Les autorisations daccs
un fichier peuvent tre moins restrictives pour les membres du groupe que pour les autres
utilisateurs. Bien videmment, le propritaire du fichier est libre de configurer les niveaux daccs sur
nimporte quel paramtre sans se soucier des membres des autres groupes.
Le super-utilisateur (ou utilisateur root) a un accs illimit
Linux prvoit un compte utilisateur spcial qui joint dun accs illimit tous les fichiers et toutes
les commandes. C e type de compte est connu sous le nom de compte super utilisateur et son
propritaire est un utilisateur privilgi. Gnralement, les administrateurs systme utilisent leur
Page N 19

Linux : Principes de Base

Elies JEBRI

compte normal le plus souvent possible et leur compte root uniquement si indispensable, car il est
difficile de remdier une erreur grave excute en tant quutilisateur privilgi.

Changement du mot de passe


Les mots de passe devraient tre modifis aprs la premire connexion
Entrez ce qui sui dans un terminal :
passwd

Choix dun mot de passe adquat


Au moment de la rception de votre compte, vous recevrez galement le mot de passe requis pour la
connexion. Modifiez ce mot de passe immdiatement !
Les mots de passe devraient respecter les rgles suivantes :
contenir entre 6 et 255 caractres
contenir au moins 1 caractre non alphanumrique
na pas se baser sur un mot du dictionnaire
na pas ressembler lID de connexion
les mots de passe sont sensibles la case
Pour pouvoir changer son mot de passe, lutilisateur doit entrer le mot de passe courant. Bien
videmment, le mot de passe ne saffiche pas lcran. Pour cela, il doit taper deux fois le nouveau
mot de passe pour sassurer quil a t tap de faon correcte.
Le mot de passe peut galement tre modifi partir de GNOME.
Cliquez avec le bouton droit de la souris dans le tableau de contrle et slectionnez System menus/
System/Change Password.
Notez que si vous entrez un mot de passe non valide, le systme ne lacceptera pas et affichera un
message erreur.

Page N 20

Linux : Principes de Base

Elies JEBRI

Aide en ligne-man
Lutilitaire page de manuel (man)
Syntaxe
man nom_de_page
man -k mot_cl
Le nom de page est gnralement une commande ou un fichier
Le manuel content huit sections

man
La commande man est lutilitaire Linux standard utilis pour obtenir des informations en ligne.
Certaines commandes sont galement expliques par lutilitaire info ( dcrit la page suivante). Dans
le pass, la commande man affichait les pages appropries du manuel en ligne, qui taient identiques
la documentation sur papier fournie avec le systme original. Aujourdhui, rares sont les fois o les
vendeurs fournissent une documentations hors-ligne exhaustive.
Largument de man est gnralement un nom de commande ou un fichier de systme. La page
correspondante est ensuite affiche.
Loption k recherche le mot de passe fournit dans les premires lignes de toutes les pages man et
affiche celles qui le contiennent.

Sections de manuel
Commandes de lutilisateur
Appels systme
Appels la bibliothque
Fichiers spciaux
Jeux
Divers
Commandes de ladministrateur
Autres utilitaires daides
Info
En mode texte avec des sections organises par thme
La commande est info nom_de_section
Documentation Red Hat
HOWTOs

Autres utilitaires daide


Lutilitaire info est un systme daide en mode texte qui contient des informations classes par thme.
Certaines commandes emploient info comme principal moyen de documentation (leur page contient
un message cet effet).Pour plus dinformation sur info, entrez info la ligne de commande.

Page N 21

Linux : Principes de Base

Elies JEBRI

Red Had offre une riche documentation sous de texte simple et de page HTML. En lanant Nets cape
partir du tableau de contrle (ou de ligne de commande en entrant nets cape) le systme affiche le
dbut de ces pages.
Les progiciels installant leurs fichiers daide dans / usr / share / doc. Ces fichiers contiennent des
informations supplmentaires rdiges par les autres des paquetages prsents sur le systme.
Outre les sources dinformation ci-dessus, la communaut Linux a rdig de nombreux documents qui
expliquent comment faire appels HOWTOs (comment faire en anglais). Ces derniers se trouvent
dans le rpertoire /usr/share/doc/HOWTO. Il existe un sommaire sous forme de page HTML qui peut
tre ouvert laide de Netscape file:///usr/share/doc/HOWTO/index.html.

Consoles virtuelles
Plusieurs connexions non GUI sont possibles au moyen de consoles virtuelles
Les consoles virtuelles disponibles par dfaut sont au nombre de 6
Pour afficher une console : CTRL-ALT-F[1-6]
Si X est en excution : CTRL-ALT-F7
Consoles virtuelles
Les consoles virtuelles permettent lutilisateur davoir plusieurs connexions mme si ce dernier
nutilise pas se systme Linux. Notez que lorsque vous excutez X Windows, la console virtuelle
saffiche lcran au moyen de la combinaison de touches
CTRL-ALT-F7.
Vous pouvez faire dfiler les consoles virtuelles au moyens des touches MAJ+PAGE PRECEDENTE
et MAJ+PAGE SUIVANTE. Le tampon servant pour le dfilement est stock dans la mmoire de la
carte vido.
De ce fait, si vous lancez une application graphique comme X, ce tampon est perdu.

Page N 22

Linux : Principes de Base

Elies JEBRI

LEON 3

Bases sur le Shell et les Fichiers


Objectifs :
A la fin de cette leon, Vous saurez
Dplacer et copier des fichiers et rpertoires
Vous servir des utilitaires de fichiers de base

Thmes abords :
Fichiers et rpertoires
Travailler avec fichiers de texte
Utilitaires de fichiers communs

Page N 23

Linux : Principes de Base

Elies JEBRI

Rpertoire courant

pwd

Affiche le chemin daccs absolu au


rpertoire courant
ls
Affiche le contenu du rpertoire en cours ou
dun rpertoire spcifique
Rpertoire en cours
Le rpertoire courant est prcisment le rpertoire dans lequel vous travaillez actuellement.
Lorsque vous tapez pwd dans la ligne de commande, le chemin daccs absolu vers votre
rpertoire courant saffiche. Pwd sont les initiales de Print Working Directory. Exemple :
$ pwd
/usr/local/games
La commande ls
En tapant ls la ligne de commande, vous affichiez le contenu du rpertoire courant. Pour
afficher le contenu dautres rpertoires, tapez ls suivi du rpertoire que vous voulez afficher.
Exemple :
$ ls
fungie

grantor

hoops

piemen

$ ls /
bin dev home lost+found mnt proc sbin usr
boot etc lib
misc
opt
root tmp var

Page N 24

Linux : Principes de Base

Elies JEBRI

Changer de rpertoire
La commande cd change de rpertoire
Par un chemin daccs absolu :
$ cd /home/joshua/work
Par un chemin daccs relatif:
$ cd work
$ cd ../work
$ cd ../../work
La commande cd change le rpertoire en cours en un rpertoire spcifi ou, si vous navez
spcifi aucun rpertoire, en votre rpertoire personnel.
Les rpertoires peuvent tre spcifis au chemin absolu ou au chemin relatif. Un chemin
absolu commence toujours par un / qui reprsente le haut de larborescence du systme de
fichiers. Le changement dun rpertoire en un chemin absolu fonctionnera sans le rpertoire
en cours. Un chemin relatif dpend du rpertoire en cours. Chaque rpertoire contient un
fichier particulier .. qui reprsente son rpertoire parent.
Exemple :
$ pwd
/ usr / local / games
$ cd ..
$ pwd
/ usr / local
$ cd .. /..
$ pwd
/
la commande cd peut galement tre utilise pour changer le rpertoire prcdent en tapant
cd de la faon suivant :
$ pwd
/ usr / local / games
$ cd / home / joshua
$ cd
$ pwd
/ usr / local / games
Noms de fichiers EXT2
Les noms de fichiers peuvent contenir jusqu 255 caractres certains
caractres peuvent demander un traitement particulier
Les noms de fichiers commenant par un . sont cachs.
Les caractres spciaux peuvent tre protgs par des guillemets.
Les noms de fichiers reconnaissent les majuscules et minuscules
Noms de fichiers :
Dans le systme de fichiers ext2, le systme de fichiers natif de Linux, les noms de
fichiers peuvent atteindre 255 caractres. Les noms de fichiers tiennent compte des
majuscules et minuscules. Ce qui veut dire que FICHIER nest pas la mme chose
que fichier ou Fichier. Il et gnralement dconseill dutiliser / ,> ,< , ? , * , , , et
des caractres non imprimables dans les noms de fichiers. Pour accder un fichier
dont le nom du fichier entre guillemets. Exemple :
$ cat file name with spaces. txt
Page N 25

Linux : Principes de Base

Elies JEBRI

Fichiers cachs
Dans linux, les fichiers cachs sont ceux dont le nom commence par le caractre ..
la commande ls utilise avec loption a affichera tous les fichiers, y compris les
fichiers cachs, dans le rpertoire personnel de Joshua :
$ ls a /home/Joshua
.bashrc
.bash_ history
.bash_ logout
Rpertoires du systme
/bin, /sbin, /usr - Binares de systme
/var
- Logs, fichiers PID, Courier
/proc
Fentre virtuelle dans le noyau
/etc
Fichiers de configuration
/lib
Bibliothques partages
/dev
Fichiers de priphriques
FHS
Comme la plupart des distributions Linux, Red Hat Linux suit le FHS, ou Filesystem Hierarchy
Standard. Le standard donne des instructions sur le type de fichier qui doit tre plac dans les
diffrents rpertoires du systme. Outre les rpertoires mentionns dans la diapositive ci- dessus, /boot
et /home mritent dtre cits. /boot contient le noyau et les fichiers ncessaires au dmarrage. Le
rpertoire /home contient tous les rpertoires personnels des utilisateurs
Vrification de lespace libre
df -Reporte lespace disque utilis par le systme de fichiers. Utilise loption -h pour afficher
en kilo-octets, mga-octects et giga-octec
du -Estimation de lespace utilis par le fichier. Utilise galement loption -h
La commande df
df montre lespace quoccupe chaque systme de fichiers dans sa partition. Notez lexemple avec
et sans loption h :
$ df h
Filesystem
Size
Used
Avail Use % Mounted on
/dev/hda5/
12G
1.2G
10G 10% /
/dev/hda1
36M
2.5M
31M 8%
/ boot
$ df
Filesystem
1k-blocks
Used Avail
Use% Mounted
On
/dev/hda5
12880648
1206420 11019912 10% /
/dev/hda1
36566
2476
32202
8% / boot
La commande du
Du montre lespace quoccupe un fichier ou un rpertoire. Pour savoir combien
Despace utilise le rpertoire en cours, utilisez loption-s. Si vous ajoutez loptionH, la sortie sera plus facile lire.
$ du sh
8.5m
Page N 26

Linux : Principes de Base

Elies JEBRI

Manipulation de fichiers
mv
cp
touch
rm

-Dplace ou renomme des fichiers


-copie des fichiers
-Cre des fichiers vierges ou actualise la date daccs au fichier
-Efface des fichiers

Utilitaire de fichiers
La commande mv est utilis pour dplacer et/ou renommer un fichier. Notez les
Exemples suivants :
Pour dplacer le fichier database du rpertoire en cours au rpertoire /tmp :
$ mv database /tmp
Pour dplacer et renommer" workfile "dans le rpertoire /tmp :
$ mv database /tmp/workfile
La commande cp copie les fichiers . La syntaxe est exactement la mme que celle de la
commande mv. Utilisez loption a pour copier un rpertoire entier et son contenu,
Y compris les sous-rpertoire, et pour prserver les temps de modification.
La commande touch actualise la date daccs un fichier. Si la dernire fois que
Vous avez accd un fichier il tait par exemple 10 :02 et que vous excutez la
Commande touch sur le fichier 10 :45, le fichier affichera le dernier accs 10 :45.
Si vous avez excut la commande touch sur un fichier inexistant, un fichier vierge
Sera cr.
La commande rm efface les fichiers. rm nefface normalement pas les rpertoires.
Toutefois, si vous lutilisez avec loption rf, elle effacera un rpertoire ainsi que
Tous les fichiers et sous-rpertoires quil contient. Prenez garde de ne pas effacer des fichiers
dont vous avez besoin avec cette option !

Page N 27

Linux : Principes de Base

Elies JEBRI

Manipulation de rpertoires
mkdir
rmdir
rm -r

-Cre un rpertoire
- Efface un rpertoire
Efface un rpertoire et son
Contenu
Sous Linux, les rpertoires sont crs laide de la commande mkdir. Pour crer un rpertoire nomm
work excutez :
$ mkdir work
Pour effacer un rpertoire, utilisez la commande rmdir. Exemple :
$ rmdir work
Notez que rmdir effacera uniquement les rpertoires vides. Pour effacer un
Rpertoire et son contenu, utilisez la commande rm r.
Affiche des fichiers de texte
cat et less sont une faon rapide
Dafficher les fichiers de texte
Les commandes head et tail
Affichent les premires lignes et les
Dernires lignes des fichiers de texte
( 10 lignes par dfaut)
La commande tail
La commande tail est habituellement utilise pour afficher les fichiers dinscription.
Exemple :
[root@station1 log # tail messages
oct 15 02 :40 :00 station1 CROND [22040] : (root) CMD ( / sbin/rmmod-as )
oct 15 02: 50:00 station1 CROND [22043] : ( root) CMD ( /sbin/rmmod-as )
oct 15 03: 00:00 station1 CROND [22046] : (root) CMD ( /sbin/rmmod-as)
oct 15 03: 01:00 station1 CROND[22048] : (root ) CMD ( run-parts
/etc/cron. Hourly)
oct 15 03: 05 : 22 station1 rhnsd [22052] : running program /usr/sbin/rhn_check
oct 15 03: 10 : 00 station1 CROND [22055] : (root) CMD ( /sbin/rmmod-as )
oct 15 03 :20 : 00 station1 CROND [22057] : (root) CMD ( /sbin/rmmod-as)
oct 15 03 : 30:00 station1 CROND [22085] : (root) CMD ( /sbin/rmmod-as)
oct 15 03 : 32 :49 station1 PAM_unix [22099] : (system-auth) session opened for
[ root@station1 log #

Page N 28

Linux : Principes de Base

Elies JEBRI

Editeurs de texte
Diffrents diteurs sont galement disponibles lorsque vous travaillez avec des fichiers
de texte. Parmi les plus utiliss figurent vi, pico et diteur de linterface grafique GUI, gEdit.
Nous en parlons dans les leons suivantes.
Afficher un fichier entier
Syntax :
cat [ options ] [ file ]
Le contenu des fichiers est affich par
Squences sans interruption
Affichage des fichiers " relis"
Option
-A
-S

Dfinition
(All). Affiche tous les caractres, y compris les caractres
contrle et non-imprimables.
(Squeeze). Remplace les multiples lignes vides qui se suivent
par une seule ligne vide .

Pour voir le fonctionnement de la commande cat, entrez la commande


Suivante :
cat /etc/profile
A moins dtre trs rapide, vous avez sans douter du mal lire les informations
parce quelles dfilent trop vite. La commande cat est plus utile laffichage des fichiers courts.
Dautres afficheurs sont plus adapts pour les longs fichiers, comme par exemple less
Afficher le fichiers un ou un en plein cran
Syntaxe :
less [options] [filename]
Affiche le contenu dun fichier de texte un cran aprs lautre
Option

Dfinition

-c
-r
-s

Effacer avant dafficher. Lcran est rafrachi au lieu de dfiler.


Afficher les caractres contrles bruts. (peux causer des problmes daffichage.).
(squeeze). Remplace les lignes vide multiples par une seule ligne vide.
commande de mouvement dcran pour less

commande
d ou {Ctrl-D}
{barre desp.}
b ou {Ctrl-B}
{Entre}

Action
Avance dun demi-cran
Avance dun cran entier
Recule dun demi-cran
Recule dun cran entier

pico Un diteur de texte simple


pico est un diteur de texte simple gr par un menu.
Page N 29

Linux : Principes de Base

Elies JEBRI

Utilisez loption w Lorsque vous ditez des fichiers de systme. Il empche le retour
automatique la ligne qui interrompt certains de configuration.

pico
Lditeur de texte pico est conu pour tre convivial et facile utiliser. Toutes les commandes de
pico sont numres en haut de lcran. Il est important de souligner que pico interrompt les lignes
par dfaut, ce qui peut causer des problmes pour diter les fichiers de systmes. Pour dsactiver
linterruption des lignes, utilisez loption w :
$ pico w / etc/passwd
Globalisation des fichiers (globbing)
Globbing est expansion par caractre gnrique :
* - correspond zro ou plusieurs caractre
? correspond un seul caractre
[ a z] correspond un ensemble de caractres
[ ^ a z] correspond tous les caractres sauf ceux de cet ensemble

Globbing
Lorsque vous entrez une commande, il est souvent ncessaire de lappliquer simultanment
plusieurs fichiers. Lutilisation des caractres gnriques, ou mta-caractres, vous permet
dtendre cette commande plusieurs noms de fichiers grce un processus appel globbing. Si
un rpertoire contient par exemple les fichiers suivants :
joshua.txt alex.txt angelo.txt gonk..mp3 dax.mp3
Entrer la commande :
$ rm *.mp3
revient entrer :
$ rm gonk.mp3

dax.mp3

le rsultat de cette commande est que tous les fichiers du rpertoire dont le nom termine par
lextension mp3 (dans le cas prsent, les deux qui sont numrs) seront effacs.
Le rpertoire personnel
Tous les utilisateurs ont un rpertoire personnel qui se trouve habituellement sous / home
Contient les fichiers de configuration de lutilisateur ainsi que ses donnes.
Reprsent par la caractre ~
Le tilde peut tre utilis dans la ligne de commande comme synonyme de rpertoire personnel ou
de celui dun autre utilisateur.
Exemple : lutilisateur joshua peut se rfrer un fichier exemple . txt dans le sous rpertoire text
de son rpertoire personnel comme ~ /text/exemple . txt .
Si ce fichier stait trouv dans le sous-rpertoire text du rpertoire personnel dax, joshua aurait pu
sy rfrer de la faon suivante : ~dax/text/exemple . txt .
Page N 30

Linux : Principes de Base

Elies JEBRI

Fichiers importants tudis au cours de cette leon :


/bin
/sbin
/usr
/var
/proc
/etc
/lib
/dev
Commandes importantes tudls au cours de cette leon :
pwd
ls
cd
df
du
mv
rm
touch
cp
cat
less

Page N 31

Linux : Principes de Base

Elies JEBRI

EXERCICES DE LA LEON 3
Opration sur les fichiers et les rpertoires

Dure approximative :

1 heur et demi

Objectif :

Apprendre utiliser les fonctions, la syntaxe et lutilisation de plusieurs


fichiers essentiels et les commandes de faon accomplir des tches
communes de lutilisateur.
Configuration de dpart : un systme Red Hat Linux et fonctionnant, avec un compte utilisateur
non privilgi student et comme mot de passe student. Vrifiez avec
linstructeur que le compte ait effectivement t cr sur votre
systme. Si le compte utilisateur student na pas encore t cr,
suivez la procdure ci-dessous :
Inscrivez-vous sur une console virtuelle en tant quutilisateur root.
A linvite, entrez la commande suivante :
# useradd student
Ensuite, entrez la commande :
# passwd student
changing password for user student
new UNIX password: {Entrez de nouveau student}
BAD PASSWORD : it is based on a dictionary word
Retype new UNIX password: {Entrez de nouveau student}
password : all authentication tokens updated successfully

Page N 32

Linux : Principes de Base

Elies JEBRI

Squence 1 : organisation de rpertoires et fichiers


Mise en situation :
Des fichiers se sont accumuls dans votre rpertoire personnel. Vous avez dcid quil est temps de
rorganiser les choses . vous voulez cre plusieurs sous rpertoire, puis copier et dplacer vos fichiers
selon votre nouvelle organisation. Vous avez galement des fichiers inutiles que vous dcidez
deffacer.
Tche :
Inscrivez-vous dans tty1 comme utilisateur student avec le mode de passe student.
Ds que vous vous tes inscrit dans le systme , vous devriez vous trouvez dans votre rpertoire
personnel . utilisez la commande "print working directory" pour vous en assurer.
$ pwd
/home/student
Utilisez les commendes suivantes pour vrifier que vous avez bien des fichiers dans votre
rpertoire personnel.
$ ls
$ ls -a
$ls -al
Pourquoi les deux premires commandes donnent-elles un nombre de fichiers
diffrent ?
Daprs la troisimes commande, quelle est la taille du plus grand fichier de votre
rpertoire personnel ?
Y a-il des sous rpertoire personnel ?
4- Utilisez touch pour crer les fichiers ncessaires cette squence, les dtails sur le
fonctionnement de lextension de la commande suivante seront fournis dans une autre leon .
Pour linstant , entrez la ligne de commande suivante exactement telle que vous voyez ( avec les
accolades { } et le tire de soulignement entre les premiers groupes de mots ) . Demandez votre
voisin ou linstructeur de vrifier votre commande avant dappuyer sur entre .
$ touch {report,memo,graph}_{sep,oct,nov,dec}_{a,b,c}{1,2,3}
Utilisez la commande ls pour examiner les rsultants de la dernires commande. Vous devriez obtenir
quelle a cre 108 nouveaux fichiers vierges ( il nest pas ncessaire de les compter) dans votre
rpertoire personnel . Ces fichiers reprsentent des fichiers de donnes que vous utiliserez dans le
reste de cette squence . Si pour une raison quelconque vous ne voyez pas ces fichier, demandez
linstructeur de vous aider. Sans ces fichiers le reste de lexercice ne fonctionnera pas.
Pour organiser vos fichiers, il faut dabord cre de nouveaux rpertoires . Utilisez mkdir pour
crer des sous- rpertoires dans votre rpertoire personnel .
$ mkdir "A Reports"
$ mkdir septembre octobre novembre december
Utilisez nouveau la pour examiner votre travail
Page N 33

Linux : Principes de Base

Elies JEBRI

7-A laide des commandes suivantes, crez des sous rpertoires supplmentaires dans vos
nouveaux rpertoires . Entrez :
$ cd A\ Reports/
ou
$ cd "A Reports"/
pour changer de rpertoire. Puis :
$ mkdir 1 2 3
utilisez Ls pour vrifis vous avez trois nouveaux rpertoires nomms 1,2 et 3 dans votre sousrpertoire "A Reports".
8. Commencez dplacer tous les rapports "B" hors de votre rpertoire personnel et les
regrouper par mois. Lorsque vous travaillez avec des caractres gnrique compliqus, il est bon
de vrifier lopration pour vous assurer que vous travaillez avec les bons fichiers. Pour cela,
vous pouvez par exemple remplacer votre commande par une inoffensive en utilisant les
caractres gnriques dsirs :
$ cd
$ ls -1 *dec?b?
vous devriez voir les 9 fichiers "b" , " dcembre" . Dplacez-les laide de :
$ mv *dec?b? december/
Affichez la liste du contenu du sous-rpertoire december pour vrifier que lopration de
dplacement a t effectue correctement :
$ ls l december/
total 0
-rw-rw-r- 1 student student
0 Oct 16 22: 16 graph-dec-b1
-rw-rw-r- 1 student student
0 Oct 16 22: 16 graph-dec-b2
-rw-rw-r- 1 student student
0 Oct 16 22:16 graph-dec-b3
-rw-rw-r- 1 student student
0 Oct 16 22: 16 memo-dec-b1
-rw-rw-r- 1 student student
0 Oct 16 22:16 memo-dec-b2
-rw-rw-r- 1 student student
0 Oct 16 22: 16 memo-dec-b3
-rw-rw-r- 1 student student
0 Oct 16 22: 16 report-dec-b1
-rw-rw-r- 1 student student
0 Oct 16 22: 16 report-dec-b2
-rw-rw-r- 1 student student
0 Oct 16 22: 16 report-dec-b3
9. Dplacez tous les rapports "B" restants dans leur rpertoire respectif:
$ mv *nov?b? novembre /
$ mv *oct?b? october /
$ mv *sep?b? september/
10. Rassemblez ensuite les rapports "A" dans leur rpertoire respectif correspondant numrot :
$ cd "A Reports"/
$ mv /*_a1 1/
Les memo "A1" , Septembre sont vieux et inutiles. Effacez-les et vrifiez que les autres fichiers ont t
dplacs correctement :
$ cd 1
$ rm *sep*
$ ls
graph _dec_al graph_oct_a1 memo_nov_a1 report_dec_a1
graph-_nov_al memo_dec_a1 memo_oct_a1 report_nov_a1
Page N 34

report_dec_a1

Linux : Principes de Base

Elies JEBRI

11. Dplacez les rapports "A2"et "A3" dans leur rpertoire respectif :
$ pwd
/ home/ student/ A Reports /1
Dplacez les fichiers"A2" laide des chemins daccs relatifs :
$ mv ../../*a2* ../2/
Dplacez les fichiers "A3" laide des chemins daccs absolus :
$ mv /home/ student /*a3 * /home/student/ A\ Reports/3/
12. Revenez votre rpertoire personnel et utilisez ls pour vrifier que seuls les fichiers "c" sont
encore dans ce rpertoire ( ex . graph_dec_cl, graph_dec_c2,.)
13. Les fichiers rapport"C1"et "C2" pour chaque mois sont importants et vou voulez conserver un
exemplaire de sauvegarde de chacun dentre eux dans un autre rpertoire :
$ mkdir /tmp/archive
$ cp report*[1-2] /tmp/archive/
Vous voulez galement conserver un exemplaire de sauvegarde de tous les fichiers de rapport du mois
de dcembre dans le rpertoire /tmp/archive/. Notez lutilisation de loption i pour obtenir linvit cp
avant de rcrire un fichier.
$ cp i report_dec* /tmp/archive/
cp: overwrite / tmp/ archive / report/ -dec c1 ? n
cp: overwrite / tmp/ archive/ report /-dec c2 ? n
14. Vous avez un exemplaire de sauvegarde des fichiers "c" qui sont importants. Vous voulez
maintenant effacer tous les fichiers restants de rpertoire personnel . lexamen de ces fichiers vous
rvler que le caractre gnrique "c" est commun tout ces fichiers . Pour quoi ne voulez vous PAS
excuter la commande rm *c* ?
( pour avoir une ide , essayer ls *c* )

15. Effacez lez fichiers "c" restant dans votre rpertoire personnel en tapant :
$ rm *c[1-3]
$ ls
A Reports december

november

october september

Rsulats :
Un rpertoire personnel plus organise et des fichiers places dans les sous rpertoires appropris.
Certains fichiers ont des exemplaires de sauvegarde dans /tmp/archive

Page N 35

Linux : Principes de Base

Elies JEBRI

Squence 2 : Dterminer lespace disque


Mise en situation :
Vous voulez connatre la quantit despace libre de chacun des systmes de fichiers de votre systme.
Vous voulez obtenir une liste des rpertoires qui occuper plus de place dans votre systme.
Tches :
Utiliser df pour dterminer la quantit despace libre sur chacun de vos systmes de fichiers. La
sortie que vous obtenez devrait ressembler ceci : (elle pourrait tre diffrente, suivant
linstallation de votre systme).
$ df
File system
/ dev / had 5
/ dev / had 1

1 k blocks
12880648
36566

Used
1634344
2476

Available
10591988
32202

Use % Mounted on
14% /
8% / boot

Notez que lopration de dfaut de la commande df est de rapporte ses informations en blocs.
Essayer dutiliser les options h et H pour rapporter le rsultat des dimensions lisibles :
$ df -h
File system
/ dev / had 5
/ dev / had 1

Size
12G
36M

Used Avail Use % Mounted on


1.6G
10G
14% /
2.5M
31M
8% / boot

$ df -H
File system
/ dev / had 5
/ dev / had 1

Size
13G
37M

Used Avail Use % Mounted on


1.7G
10G
14% /
2.6M 32M
8% / boot

Quelle est la diffrence entre les deux commutateurs (Utilisez man df) ?
Utilisez la commande du (disk usage) depuis votre rpertoire personnel pour dterminer lespace
quoccupent vos fichiers. Utilisez loption h pour obtenir une sortie plus lisible.

Page N 36

Linux : Principes de Base

Elies JEBRI

Squence 3 : Examen des fichiers de texte


Tches :
Il nous faut avant tout un fichier de texte travailler :
$ cd
$ cp /usr/share/dict/words .
Utilisez cat pour afficher le fichier:
$ cat words
Aarhus
Aaron
Ababa
Aback
. . . sortie tronque . . .
Zoroastrian
Zulu
Zulus
Zurich
cat nest pas une excellente solution ici car une grande partie de la sortie dfile trop rapidement.
Cette fois, essayer less :
$ less words
Aarhus
Aaron
Ababa
. . . sortie tronque . . .
abducts
Abe
abed
words
less vous permet de revenir en arrire (avec b) et davancer (avec la barre despacement) dans la
sortie, affichant un seul cran la fois.
Si vous devez voir rapidement les premires ou les dernires lignes dun fichier, vous pouvez
utiliser head ou tail :;
$ head words
Aarhus
Aaron
Ababa
Aback
Abaft
Abandon
Abandoned
Page N 37

Linux : Principes de Base

Elies JEBRI

Abandoning
Abandonment
Abandons
$ tail words
zoologically
zoom
zooms
zoos
zorn
zoroaster
Zoroastrian
Zulu
Zulus
Zurich
Reporte-vous aux pages du manuel concernant head et tail pour dcouvrir quels commutations
utiliser pour modifier le nombre ou lemplacement des lignes affiches.
Quelle commande utiliseriez-vous pour afficher les 50 premires lignes du texte ?
Head n50 words
Quelle commande utiliseriez-vous pour afficher les 25 000 dernires lignes ?
Tail n25000 words

Page N 38

Linux : Principes de Base

Elies JEBRI

Page N 39

Linux : Principes de Base

Elies JEBRI

LEON 4

Utilisateurs et groupes
Objectifs

Comprendre le modle de scurit de linux


Comprendre les concepts dutilisateur et de groupe
Connatre le but des utilisateurs administratifs
Apprendre changer votre identit

Thmes abords
Le modle de scurit de linux
Lobjectif des utilisateurs et des groupes
Les utilisateurs et groupes du systme
Vrification des utilisateurs de votre systme
Changement de votre identit

Page N 40

Linux : Principes de Base

Elies JEBRI

Utilisateurs
Tout utilisateur permanent dun systme se voit attribuer un code utilisateur (appel
uid).
Les noms dutilisateur et les uid sont stocks dans le fichier /etc/passwd.
Les utilisateurs se voient aussi attribuer un rpertoire personnel et un programme (un
Shell) qui est excut lorsquil se connectent.
Les utilisateurs ne peuvent lire, modifier ou excuter les fichiers des autres
utilisateurs sans permission.

Utilisateurs :
Lorsquils ont t invents, les ordinateurs taient normes et cotaient extrmement cher. le
concept dutilisateur a alors t cr afin de permettre plusieurs personnes de partager ces
prcieuses ressources informatiques. Enfin, comme linux offre la possibilit davoir plusieurs
utilisateurs connects sur un mme systme au mme moment, linux est un systme dexploitation
Multi-Utilisateurs.

Multitche et multi-utilisateurs :
Il arrive que le gens confondent le termes multi-utilisateurs et multitche. Un systme
dexploitation multitche permet dexcut de nombreux programmes simultanment. Ainsi, linux
est un systme dexploitation multi_utilisateurs et multitche. cependant, les systmes
dexploitations tels que Windows NT 4.0 sont multitches, mais, comme ils ne permettent qu un
seul individu de se connecter la fois, ne soient pas multi-utilisateurs

Page N 41

Linux : Principes de Base

Elies JEBRI

Groupes
Les utilisateurs sont assigns des groupes ayant un code de groupe unique (appel gid ).
Les gid sont stocks dans le fichier /etc /group.
Chaque utilisateur a son propre groupe :
Un utilisateur peut aussi tre ajout dautres groupes pour avoir un accs
supplmentaire.
Tout les utilisateurs dun mme groupe peuvent partager des fichiers lui appartenant .

Modle de groupe priv dutilisateurs


Certains utilisateurs ont parfois besoin de collaborer entre eux lors dun projet. Il est alors possible
dutiliser des groupes pour y parvenir. Ainsi, pour permettre plusieurs utilisateurs de collaborer
ensemble, ladministrateur systme cre un nouveau groupe et y ajoute ensuite ces utilisateurs. Par
exemple :
groupadd workerbess
usermod _ G workerbess sue
usermod _ G workerbess bob
ce sujet est repris de faon plus dtaille le leon suivante

Contrle au laccs de matriel :


Certains groupes contrlent laccs aux priphriques du matriel. Par exemple, si lon veut
permettre lutilisateur bob dutiliser le lecteur du disquette , et ce mme lorsque bob nest pas
assis son ordinateur, ladministrateur systme ajoute bob au groupe du lecteur de disquette (
floppy).
Usermod - G floppy bob

Page N 42

Linux : Principes de Base

Elies JEBRI

Modle de scurit de linux


Les utilisateurs et les groupes sont utiliss pour contrler laccs aux fichiers et aux
ressources du systme.
Chaque processus a un propritaire et ne peut avoir accs quaux ressources auxquelles son
propritaire a accs
Chaque fichier du systme est la proprit dun utilisateur et est associ un groupe
Les utilisateurs se connectent au systme laide de leur nom dutilisateur et de leur mot de
passe.

Scurit
Dans son pome mending wall, le pote laurat robert Frost a crit good fences make good
neighbors ! le systme dexploitation linux a pris ce concept trs au srieux. En effet, linux
utilise des utilisateurs et des groupes pour riger des barrires entre les utilisateurs du systme
jouer selon les rgles .

Accs limit
Chaque fichier sur un systme dexploitation linux est la proprit dun utilisateur. De plus, les
utilisateurs ne peuvent changer, pas mme lire, les fichier des autres sans en avoir la permission .
cela signifie que linux est virtuellement immunis contre les virus informatiques qui ont t le
flau dautres systmes dexploitation.sous Windows TM par exemple ,les utilisateurs ont un accs
total lensemble du systme dexploitation, ce qui donne une libert complte aux destructeurs.
1- les bonne cltures font les bons voisins (traduction non-officielle de la citation).
.

Page N 43

Linux : Principes de Base

Elies JEBRI

Lutilisateur root
Tout le systme linux possde un compte spcial dadministration : le compte root.
Lutilisateur root est aussi appel super- utilisateur
lutilisateur root jouit dun contrle total sur le systme, il doit donc tre trs
prudent.
Vous ne devriez jamais vous connecter en tant que super_utilisateur sans bonne
raison.
Les dommages possibles pouvant tre provoqus par des utilisateurs normaux (sans
privilges) sont limits.
Le super-utilisateur
Lutilisateur root, aussi appel super-utilisateur, a un accs illimit tous les fichiers,
priphriques et programmes du systme. Il est donc trs important que les administrateurs
systme utilisent un compte utilisateur normal pour effectuer la plupart de leur tches de travail,
afin de protger le systme de dommages provoqus accidentellement. En effet, lorsque lon
travaille depuis un compte utilisateur normal, une commande mal crite ne peut endommager le
systme. Toutefois, lorsque lon travaille en,tant que super-utilisateur, la plus petite faute de
frappe lors de lutilisation de la commande rm ( ou dautres commandes) peut liminer de faon
permanente tous les fichiers du systmes .

Page N 44

Linux : Principes de Base

Elies JEBRI

Utilisateurs et groupes du systme


Les programmes serveur, tels que les serveurs Web ou dimpression, sexcutent
gnralement en tant quutilisateur sans privilges et non en tant que super-utilisateur.
Exemples : daemon, mail, Ip, no body
Lexcution de programmes de cette faon limite les dommages que chaque programme
pourrait causer au systme.

Groupe de systme
Prenons le groupe games comme groupe de systme. Il nest pas rare, dans le cas des jeux, davoir
un fichier ou les meilleurs scores sont stocks. En outre, un jeu doit avoir la possibilit de modifier
le fichier des scores les plus levs. Toutefois, pour viter la tricherie, les utilisateurs, quant eux,
ne doivent pas avoir cette facult. Pour obtenir ce rsultat, il est possible de faire en sorte que le jeu
fonctionne sous le groupe games, lui permettant ainsi de modifier le fichier de meilleurs scores.
Tous les utilisateurs et les groupes du systme ont un nombres uid et gid, allant de 1 499. Vous
trouverez ci-dessous un extrait du fichier/ ect / passwd qui montre quelques utilisateurs du
systme :
Bin : x : 1 : bin : / bin:
Daemon: x: 2: 2: daemon: / sbin:
Adm: x: 3: 4: adm:/ var / adm:
Mail: x: 8: 12: mail: / var / spool / mail:
Ftp: x: 14: 50: FTP User: / var / Ftp:
Nobody: x: 99: 99: Nobody: / :
Voici un extrait du fichier / etc / group :
Bin : x : 1 : root, bin, daemon
Daemon: x: 2: root, bin, daemon
Sys: x: 3: root, bin, adm
Adm: x: 4: root, adm, daemon
Tty: x: 5:
Disk: x: 6: root
Mail: x: 12: mail
ftp: x: 50:
nobody: x: 99:

Page N 45

Linux : Principes de Base

Elies JEBRI

Commandes dinformation sur les utilisateurs


Pour dcouvrir qui vous tes :
Whoami
Pour savoir quel groupe vous appartenez :
Groups, id
Pour savoir qui est connect :
Who, users, w
Visualisation dinformations sur les utilisateurs
Si vous tes connect au systme sous le nom dutilisateur bob, vous pouvez dcouvrir quel est
votre nom dutilisateur laide de la commande suivante :
$ whoami
bob
bob peut ensuite vrifier quel groupe il appartient :
$ groups
floppy workerbees
Enfin, bob peut aussi visualiser les utilisateurs actuellement connects au systme :
$ who
biff
sue
bob

:0
pts / 1
pts / 3

Page N 46

oct 13 19 : 36
oct 13 19 : 44
oct 14 15 : 51

Linux : Principes de Base

Elies JEBRI

Changement de votre identit


Excutez passwd pour modifier votre mot de passe. Les mots de passe inefficaces sont refuss
par dfaut.
Vous pouvez agir en tant quautre utilisateur en excutant
Su [username]
Pour vous connecter en tant quautre utilisateur, utilisez
Su - [username]
Devenir un autre utilisateur
Imaginons que bob a besoin de lire le courrier lectronique de sue. Il peut alors se servir
temporairement de luid sue en excutant la commande suivante :
$ whoami
bob
$ su sue
Password
Sue
Bob peut alors lire le courrier lectronique de sue car il a temporairement pris son identit et p par
consquent le mme droit daccs aux fichiers de sue que sue elle-mme. Notez que cela nest
possible que si bob connaisse le mot de passe de sue. Sans le mot de passe de
sue, bob na qu oublier cette ide.

Page N 47

Linux : Principes de Base

Elies JEBRI

FIN DE LEON 4
Questions et rponses
Rsum
Linux fait appel des utilisateurs et des groupes pour limiter laccs aux ressources du
systme.
Le super-utilisateur ( root ) a le contrle sans privilges spciaux
Les utilisateurs ne peuvent endommager leurs propres fichiers.
Fichiers importants tudis au cours de cette leon :
/ ect / passwd
/ ect / group
Commande importantes tudies au cours de cette leon :
groupadd
groups
passwd
su
usermod
who
whoami

Page N 48

Linux : Principes de Base

Elies JEBRI

EXERCICES DE LA LEON 4
Examen des informations sur les utilisateurs
Dure approximative : 30 minutes
Objectif : Se familiariser avec lutilisation de plusieurs commandes essentielles pour
lidentification des utilisateurs et la commutation entre les comptes
Configuration de dpart : un systme RED HAT LINUX install et fonctionnel et avoir complt
les exercices de la leon 3 . vous devez aussi avoir un compte utilisateur supplmentaire sans
privilges appel visitor, dont le mot de passe est visitor. Vrifiez avec votre instructeur si ce
compte a dj t cr sue votre systme. Si le compte utilisateur visitor na pas encore t cr,
crez- le en suivant les tapes suivantes :
connectez vous sue une console virtuelle en tant que super-utilisateur ;
entrez la commande suivante linvite :
# useradd visitor
entrez ensuite la commande ci-dessous :
# passwd visitor
changement de mot de passe pour lutilisateur student NOUVEAU MOT DE PASSE UNIX :
{Entrez visitor ici}
MAUVAIS MOT DE PASSE : bas sur un mot du dictionnaire
Entrez le nouveau mot de passe UNIX encore une fois : {Entrez visitor ici}
Mot de passe : tous les jetons dauthentification ont t mis jour avec succs

Page N 49

Linux : Principes de Base

Elies JEBRI

Squence 1 : noms de connexion dutilisateurs locaux


Tches :
Dconnectez-vous compltement de votre station de travail. Assurez-vous de bien sortir tous les
terminaux virtuels et du systme X window.
Passer au terminal virtuel 1 ( ttyl) en appuyant sur les touches

CTRL-ALT-F1
Connectez vous votre station de travail sous le nom root avec le mot de passe redhat.
Visualisez les informations au sujet de ce mot de connexion spcifique. Excutez les commandes
suivantes :
# whoami
# groups
# id
Examinez le rsultat de ces commandes.
Visualisez les informations de tous les noms de connexion sur la station de travail. Ace stade, il ne
devrait y avoir quun seul utilisateur connect au systme. Le rsultat de ces commandes
devrait donc tre un peu plus intressant plus loin au cours de la squence.
# users
# who
# w
Examinez le rsultat de ces commandes.
Passez au terminal virtuel 2 (tty2) en appuyant sur les touches

CRTL- ALT- F2
Connectez - vous votre station de travail sous le nom student avec le mot de passe student.
Visualisez les informations au sujet de ce nom de connexion spcifique. Excutez les commandes
suivantes :
$ whoami
$ groups
$ id
Examinez le rsultat de ces commandes
Visualisez les informations de tous les noms de connections existantes sur la station de travail.
$ users
$ who
$w
Examinez le rsultat de ces commandes.
Passez au terminal virtuel 3 ( tty3 ) en appuyant sur les touches
Page N 50

Linux : Principes de Base

Elies JEBRI

CTRL- ALT F3
Connectez- vous votre station de travail sous le nom visitor avec le mot de passe visitor.
Visualisez les informations au sujet de ce nom de connexion spcifique. Excutez les commandes
suivantes :
$ whoami
$ groups
$ id
Examinez le rsultat de ces commandes.
Visualisez les informations de tous les noms de connexion sur la station de travail.
$ users
$who
$w
Examinez le rsultat de ces commandes.

Page N 51

Linux : Principes de Base

Elies JEBRI

Squence 2 : communication entre diffrents comptes utilisateur


Tches :
Passez au terminal virtuel 3 ( tty3) en appuyant sur les touches
CTRL ALT F3
Excutez la commande pwd pour dterminer votre rpertoire actuel. Identifiez votre chemin
daccs excutable de recherche courant. Visualisez vos informations dutilisateur.
$ id
$ pwd
$ echo $PATH
Inscrivez les rsultats ci-dessous:
Id=
Pwd=
$PATH=
Utilisez la commande su sans loption pour commuter lutilisateur root. Excutez la commande
pwd pour dterminer votre rpertoire actuel. Identifiez votre chemin daccs excutable de
recherche courant.
$ su
# id
# pwd
# echo $PATH
Inscrivez les rsultats ci-dessous :
Id=
Pwd=
$PATH=
4. Sortez du compte root, revenant ainsi au compte student
# exit
5.Utilisez la commande su sans loption- pour commuter lutilisateur root. Excutez la
commande pwd pour dterminer votre rpertoire actuel. Identifiez votre chemin daccs excutable
de recherche courant.
$ su # id
# pwd
Page N 52

Linux : Principes de Base

Elies JEBRI

# echo $PATH
Inscrivez les rsultats ci- dessous :
Id=
Pwd=
$PATH=
Quelle diffrence y a-t-il avec ltape 3 ? Pourquoi ?
6. Dconnectez- vous de tous les shells, locaux ou distance, que vous avez utilises au cours de
cet exercice.

Page N 53

Linux : Principes de Base

Elies JEBRI

LEON 5

Autorisations daccs aux fichiers


Objectifs
A la fin de cette leon, vous serez en mesure .
De comprendre la scurit de fichiers linux ;
De contrler des autorisations daccs au fichier ;
De changer des autorisations daccs au fichier .

Thmes abords
Scurit de fichiers linux
Autorisations daccs au fichier
Autorisations daccs au rpertoire
Contrle et modification d autorisations

Page N 54

Linux : Principes de Base

Elies JEBRI

Scurit des fichiers linux


Chaque fichier est la proprit dun utilisateur et est associ un groupe .
Laccs un fichier ou un rpertoire est dict par les autorisations de lecture, modification
(criture )ou excution actives pour lutilisateur du fichier, le groupe du fichier et pour
les autres utilisateurs .
Catgories dutilisateurs
Les autorisations daccs au fichier sont dfinies pour chacune des trois catgories
dutilisateurs. Celles-ci sont reprsentes par une lettre :
U propritaire du fichier (utilisateur) ;
G autres membres du groupe du fichier ;
O- toute autre personne (others / autres ).
Ce quil faut bien comprendre cest que linux divise laccs au fichier en trois catgories gnrales :
accs pour lutilisateur dun fichier, accs pour le groupe dun fichier et accs pour tous les autres
individus .Chacune de ces catgories peut obtenir lautorisation daccs au fichier, indpendamment
des autorisations accordes aux autres catgories.

Page N 55

Linux : Principes de Base

Elies JEBRI

Types dautorisation daccs aux fichiers


R autorisation de lire un fichier ou de visualiser la liste du contenu dun rpertoire .
W- autorisation dcrire ou de modifier un fichier ou de crer et liminer des fichiers dans
un rpertoire .
X- autorisation dexcuter un programme ou daccder aux fichiers dun rpertoire .
Types dautorisation daccs au fichier
Chaque type dautorisation standard peut tre utilis pour restreindre laccs de lutilisateur dun
fichier, du groupe dun fichier ou de tout autre utilisateur.
Types dautorisation spciale

Les excutables SUID / SGID


Normalement, les processus lancs par un utilisateur sont excuts dans
le contexte de scurit de cet utilisateur et de son groupe.
Les binaires SUID et / ou SGID tablis sur un fichier excutable
lexcutent dans le contexte de scurit de lutilisateur ou du groupe
dutilisateurs propritaire.
chmod u + s < nom_ de_ fichier > (SUID)
chmod 4xxx < nom_ de_ fichier >
chmod g + s < nom _ de _ fichier > (SGID)
chmod 2xxx < nom_ de_ fichier >

Le mode daccs Setgid


Normalement, les fichiers crs dans un rpertoire appartiennent au
groupe par dfaut de lutilisateur.
Lorsquun fichier est cr dans un rpertoire dot du binaire setgid, il
appartient au mme groupe que le rpertoire.
chmod g+s rpertoire
chmod 2xxx rpertoire

Le bit setuid dfinit lidentificateur (ID) utilisateur effectif dun processus sur celui du fichier
au moment de lexcution .Aucun effet sur les rpertoires.
Le bit setgid dfinit lidentificateur (ID) groupe effectif dun processus sur celui du fichier au
moment de lexcution . Cela a pour effet, dans un rpertoire, de forcer tous les fichiers qui
Page N 56

Linux : Principes de Base

Elies JEBRI

y ont t crs avoir le mme groupe que le rpertoire sans tenir compte du groupe de leur
crateur .
Le bit sticky, appliqu sur des rpertoires, empche les utilisateurs dliminer des fichiers quils
ne possdent pas .Aucun effet sur les fichiers texte sans mise en forme .

Le sticky bit
Normalement les utilisateurs ayant lautorisation dcrire dans un
rpertoire peuvent effacer tous les fichiers du rpertoire quelles que
soient les permissions et proprits de ce fichier.
Si un rpertoire est dot du sticky bit, seul le propritaire dun fichier
peut effacer ce fichier.
chmod o+t rpertoire
chmod 1xxx rpertoire

Types dautorisation spciale


Chaque type dautorisation spciale peut tre utilis pour modifier le comportement de fichiers ou
de rpertoires pour lutilisateur dun fichier, le groupe dun fichier ou les autres utilisateur .
Le bit setuid peut tre un outil trs puissant et trs dangereux .En effet, si, par exemple, vous appliquez
le bit setuid un programme qui est la proprit du super- utilisateur, chaque fois que le programme
est excut il se comporte exactement comme si ctait le super-utilisateur qui lexcutait. Cela est
ncessaire pour certains programmes, qui en ont besoin pour fonctionner correctement. Exemple : le
programme ping doit avoir le bit setuid root pour envoyer des paquets ICMP standard via le rseau.
Les programmes qui ont le bit setuid doivent tre analyss en dtail afin didentifier toute brche la
scurit, avant de pouvoir sy fier .
Le bit setgid, tout comme le bit setuid, peut tre trs puissant et devrait tre utilis avec prcaution car
il peut autoriser laccs nom intentionnelle aux fichiers et ressources. Il est souvent utilis pour fournir
un accs lev aux programmes . Par exemple, le programme simulateur de terminal minicom a le bit
setgid pour le groupe uucp, afin quil ait laccs aux ports sries de lordinateur (qui sont la proprit
du groupe uucp ).
Lorsque le bit sticky est utilis sur un rpertoire, gnralement / tmp, il empche tout utilisateur
dliminer les fichiers des autres utilisateurs.

Page N 57

Linux : Principes de Base

Elies JEBRI

Analyse des autorisations


Les autorisations daccs au fichier peuvent tre visualises laide de la commande 1s.
$1s 1 /bin/login
-rwsr-xr-x
1 root root
39100 Aug 1 00 : 00/ bin / login
Le type de fichier et les autorisations daccs au fichier sont symboliss par une chane
compose de 10 caractres .Analyse des Rpertoires
Le premier caractre dans la chane daccs permet de distinguer sil sagit dun
rpertoire (d) ou dun autre type de fichier
Analyse des Rpertoires
Le premier caractre dans la chane daccs permet de distinguer sil sagit dun
rpertoire (d) ou dun autre type de fichier .
$ ls ld /bin
drwxr-xr-x 2 root root 4096 Aug
3 09 : 02 /bin/

Page N 58

Linux : Principes de Base

Elies JEBRI

Analyse des autorisations utilisateur :

Les caractres 2, 3 et 4 du mode daccs de la chane identifient les autorisations daces


de lutilisateur.
$ ls -1 /bin/login
-rwsr- xr r

1 root

root

39100 aug

1 00 : 00 / login / login

Ce fichier peut tre lu , modifi et excut suid par lutilisateur.

Le s mis la position 4 indique que ce fichier peut tre excut suid. Un s la position 7
indiquerait plutt que le fichier peut tre excut sgid.

Analyse des autorisations Groupe:

Les caractres 5, 6 et 7 du monde daccs de la chane identifient les autorisations du


groupe.
$ 1s -l README
-rw-rw-1 andersen

visitor

2948 oct 11 14:07 README

Ce fichier peut tre lu et modifi par les membres du groupe visitor, mais ne peut tre
excut.

Analyse des autorisations Autres utilisateurs:

Les caractres 8, 9 et 10 du mode daccs de la chane identifient les autorisations pour les
autres utilisateurs.

$ ls l README
-rw-rw-r-- 1 andersen visitor 2948 oct 11 14:07 README

Ce fichier peut tre lu par les utilisateur non-membres du groupe visitor, mais ne peut tre
modifi ou excut.

Autre exemples

Lutilisateur fred est membre des groupes fred et staff


Lutilisateur mary est membre des groupes mary, admin et staff

Le fichier fileA est la proprit de lutilisateur fred et appartient au groupe fred


Le fichier fileB est la proprit de lutilisateur mary et appartient au groupe root
Le fichier fileC est la proprit du super-utilisateur (root) et appartient au groupe
staff
Page N 59

Linux : Principes de Base

Elies JEBRI

A la lumire des utilisateurs et fichiers indiqus, les niveaux daccs suivants peuvent tre accords :
utilisateur
fre
mary
root

fileA
u,g,o
o
u,g,o

FileB
O
u,g
u,g,o

FileC
o,g
o,g
u,g,o

Si fileA a le mode rwxr-xr--, alors les autorisations daccs pour les utilisateurs sont les suivant :
fred
mary
root

Lecture modification Excution


oui
oui
oui
non
non
oui
oui
oui
oui

Page N 60

Linux : Principes de Base

Elies JEBRI

Changement des autorisations daccs

Pour changer les modes daccs :


o chmod [ -R] mode fichier
Cela a pour effet de changer le mode daccs des fichier et des rpertoires.

Syntaxe chmod
Vous pouvez dfinir chaque mode daccs laide dune experssion numrique ou dune combinaison
de lettres indiquant qui accs au fichier, loprateur pour slectionner les changements
dautorisation effectuer et une autorisation pour le (s) fichier (s) ou le(s) rpertoire (s).
Choisissez qui parmi les lments suivants :
Choisissez loprateur parmi les lments suivant :
u Utilisateur propritaire du fichier
+ Ajoute une autorisation
g Utilisateur du groupe du fichier
- Elimine une autorisation
o Autre utilisateurs
= Assigne une autorisation
a Tous les utilisateurs
choisissez lautorisation parmi les lments suivants :
r Lecture
w Modification
x Excution (ou accs dans le cas des rpertoires )
s Activation du bit user ID ( la position 4 ) ou du bit groupId ( la position 7 )
t Bit sticky (pour empcher tout utilisateur non-propritaire dliminer des fichier dun
rpertoire- se met la position 10)
Exemples :
Chomd g+w .bash_profile
Cette commande donne latorisation de modifier . bash_profile au groupe de fichier.
Chmod go-rw .bash_profile
Cette commande enlve au groupe et aux autres utilisateurs les autorisations d modifier et de lire le
fichier. Lune des options trs utiles de chmod est R(rcursif). Cette option indique la commande
chmod de traverser une arborescence de rpertoires en entier pour changer les autorisations de tous ses
fichiers et sous-rpertoires.

Page N 61

Linux : Principes de Base

Elies JEBRI

Changement des autorisations :


mthode numrique
Fait appel un nombre de trois chiffres :
Le premier spcifie les autorisations Utilisateur ;
Le deuxime spcifie les autorisations Groupe ;
Le troisime reprsente les autorisations Autres.
Les autorisations se calculent en additionnant :
4 (pour la lecture)
2 (pour la modification)
1 (pour lexcution)
Dfinition numrique du mode daccs
Il est parfois plus simple dutiliser la mthode numrique de mode daccs pour changer toutes les
autorisations dun fichier.
Par exemple, utilisez la commande ci-dessous si vous souhaitez accorder uniquement les autorosations
de lecture du fichier file lutilisateur, au groupe et aux autres utlisateurs :
Chmod 444 file
Si vous dsirez accorder les autorisations du lecture, modification et excution du fichier file au
propritaire, les autorisations de lecture et dexcution au groupe et ne donner aucune autorisation aux
autres utilisateurs, utilisez la commande suivante :
Chmod 750 file

Page N 62

Linux : Principes de Base

Elies JEBRI

Autorisations daccs aux fichiers par dfaut


Par dfaut, autorisations de lecture de modification pour tous.
Un umask peut tre utilis pour retirer des autorisations lors de la cration de fichiers.
La valeur umask pour les utilisateurs non privilgis est 002.
La valeur umask pour le super-utilisateur est 022.
Droits daccs + umask = 666 pour un fichier ou 777 pour un rpertoire.
Sans un umask activ, tout fichier cr a les autorisations 666. Cela signifie que nimporte qui
sur le systme a laccs de lecture et de modification tout nouveau fichier cr. De faon
retirer certaines autorisations nous utilisons un umask. Celui-ci indique la liste des autorisations
retirer. Ainsi, un umask 002 fait en sorte que les fichiers crs aient des autorisations 664.
Notez que le privilge dexcution est toujours refus pour les fichiers nouvellement crs, et ce
peu importe le umask activ. En effet, le privilge dexcution doit toujours tre accord de
faon explicite un fichier.
$ umask 022
Remarquez que lorsque vous dfinissez votre umask depuis la ligne de commande, votre
umask est remis la valeur par dfaut lors de votre connextion suivante, il est donc
gnralement dfinit par lun des scripts dinitialisation bash.

Page N 63

Linux : Principes de Base

Elies JEBRI

FIN DE LA LEON 5
Questions et rponses
Rsum
Quels sont les trois modes daccs de base dun fichier ?
Comment pouvez-vous changer les modes daccs dun fichier ?

Fichiers importants tudis au cours de cette leon :


Commandes importantes tudies au cours de cette leon :
Is
chmod
umask

Page N 64

Linux : Principes de Base

Elies JEBRI

EXERCICES DE LA LEON 5
Autorisations daccs aux fichiers

Dure approximative : 30 minutes


Objectif :

Se familiariser avec les fonctions, la syntaxe et lutilisation de plusieurs


commandes essentielles de changement dautorisation et les faons de
combiner ces commandes pour accomplir des tches utilisateur
courantes.
Configuration de dpart : Un systme install et fonctionnel ayant un compte utilisateur prcdemment
cr, appel student.
Squence 1 : exercices pour dfinir des autorisations daccs au fichier UNIX
Tches :
Quels sont les quivalents symboliques (ex. : rwxr-x-r-x) des autorisations
644,755,000 ;711,700,777,555,705,111,600 et 731 ?
644 :
755 :
000 :
711 :
700 :
777 :
555 :
705 :
111 :
600 :
731 :
Imaginons un fichier ayant les autorisations 755. A laide de quelles commandes pourriez-vous
changer ces autorisations pour obtenir --xr---w- ?
Chmod 142 fichier
Vous venez tout juste d tlcharger un fichier excutable fiable depuis Internet. Quelle tape
devez-vous accomplir avant de pouvoir lexcuter ? Indiquez deux faons diffrentes
daccomplir cette tape.
source ./excutable
. ./excutable
Imaginons que vous avez une arborescence de rpertoires appele /home/student/archives
compose de centaines de branches et de sous-rpertoires contenant de nombreux fichiers.
Actuellement, tous les fichiers et rpertoires ont des autorisations 700. Maintenant, vous
dcidez de mettre cette archive la disposition dautre utilisateurs via le web, mais devez
dabord changer les autorisations de faon ce que le serveur web excut en tant
quutilisateur apache puisse y avoir accs. Comment pouvez-vous changer les autorisations en
une seule commande laide de chmod ?
chmod R g+rx, o+rx /home/student/archives
Page N 65

Linux : Principes de Base

Elies JEBRI

Squence 2 : utilisation de umask pour dfinir les autorisations par dfaut dun fichier
nouvellement cr
Tche :
connectez-vous sur votre station de travail et obtenez une invite du shell.
Visualisez votre umask courant.
$ umask
Crez plusieurs fichiers et rpertoires, puis visualisez leurs autorisations.
$ touch umtest1
$ touch umtest2
$ mkdir umtestdir1
$ ls l um*
Avant de poursuivre et de visualiser les autorisations, quoi pensez-vous quelles ressembleront ?

$ ls l um*
*** Fin de la squence 2 ***

Page N 66

Linux : Principes de Base

Elies JEBRI

LEON 6

Le systme de fichier Linux


Objectifs
Principe de base du systme de fichier Linux Ext3
Monter du matriel mobile
Utiliser find
Comprimer et archiver des fichiers

Concepts de hirarchie des fichiers linux


Les fichiers et rpertoires sont organiss dans une arborescence inverse racine unique
Les noms de fichiers sont sensibles la casse ( distinction miniscule/majuscule)
/ est le point de dpart de larborescence du systme de fichier linux
Chaque shell et processus de systme a un rpertoire en cours

Rpertoire de systme linux


/bin
Utilis pour stocker les commandes de lutilisateur. Le rpertoire /usr/bin
stocke galement les commandes de lutilisateur
/sbin
Emplacement de nombreuses commandes de systme, telles que shutdown. Le
rpertoire /usr/sbin contient galement de nombreuses commandes de systme
/root
Le rpertoire personnel du super-utilisateur root
/mnt
Ce rpertoire contient traditionnellement les points de montage pour les systmes
de fichiers monts aprs le dmarrage du systme
/boot
Contient le noyau et dautre fichiers utiliss pour la mise en route du systme
lost+found
Utilis par fsck pour placer les fichiers orphelins (fichiers sans nom)
/lib Contient de nombreux fichiers de bibliothques utiliss par les programmes dans /bin et
/sbin. Le rpertoire /usr/sbin contient plus de fichiers de bibliothques
/dev
stocke des fichiers de priphriques
/etcContient de nombreux fichiers et rpertoires de configuration
/var
Pour les fichiers variables comme les fichiers dinscription et le printer spool
/usr
Contient des fichiers et rpertoires directement lis aux utilisateurs du systme
/proc
Un systme de fichiers virtuel contenant les informations de systme utilises par
certains programmes
/tmp
est un scratch pad pour les utilisateurs et programmes et comprend un accs
global de lecture/criture
/home
Emplacement typique des rpertoires personnels de lutilisateur

Dtails sur le systme de fichier ext3


Page N 67

Linux : Principes de Base

Elies JEBRI

Superblocs ext3
Lorsquun systme de fichier ext3 est cre, le metadata (nom de volume, UID, compte inode,compte
bloc, compte des blocs rservs, emplacement du groupe de bloc, etc) spcifique du systme de
fichier est stock dans un superbloc. Cette donne est essentielle pour lopration du systme de
fichier. Cest pourquoi des copies du systme de fichiers superbloc sont cres ( par exemple tous les
8192 blocs pour les petits systmes de fichier). La commande dumpe2fs peut tre utilise pour afficher
une grande partie des donnes stockes dans le superbloc dun systme de fichiers.

Inodes ext3
Les inodes se comportent comme des cartes ou descriptions des donnes contenues dans les diffrents
blocs du systme de fichiers. Les inodes ne stockent pas les donnes dun fichier, mais elle
contiennent les informations le concernant. La commande stat peut tre utilise pour afficher une
grande partie des donnes stockes dans linode concernant un fichier. Il est noter que stat reporte le
nom du fichier, mais le nom du fichier nest pas stock dans linode du fichier. Il est stock comme
une donne dans lentre du rpertoire.
Ls i montre les numros dinode de chaque fichier du rpertoire en cours

Liens physiques
Les liens physiques permettent en effet un fichier davoir deux noms ou plus.
Ls l indique le nombre de liens physique que possde un fichier dans la deuxime colonne.
Lorsque le nombre de liens du fichier atteints zro, le fichier est effac.
Les liens physiques ont les restrictions suivantes :
Le fichier et le nom de son lien doivent faire partie du mme systme de fichiers
Il ne peut pas y avoir de lien physique entre les rpertoires
Syntaxe
$ ln nomdefichier nomdelien

Liens symboliques
A la diffrence du lien physique, le lien symbolique est un type de fichier qui stocke le nom du
fichier auquel il se rapporte.
Les liens symboliques peuvent stendre travers diffrents systmes de fichier et se rapporter
des rpertoires.
Les permissions des liens symboliques sont toujours en mode 777.
Syntaxe
$ ln s nomdefichier nomdelien

Monter du matriel mobile


Montage manuel
Page N 68

Linux : Principes de Base

Elies JEBRI

Avant daccder aux donnes dun nouveau matriel mobile, le(s) systme(s) de fichiers du
mdia doit/doivent tre mont(s).
Exemples :
$ mount -t vfat /dev/fd0 /mnt/floppy
$ mount /mnt/floppy
$ mount t iso9660 /dev/cdrom /mnt/cdrom
$ mount /mnt/cdrom
Le materiel mobile doit tre dmont avant dtre limin avec umount
Exemple :
$ umount /mnt/cdrom

Montage laide de autofs


Si vous utilisez les options de montage pr-dfinie contenues dans les fichiers de configuration par
dfaut /etc/auto.master et /etc/auto.misc, le dmon dauto-montage contrlera ces rpertoires
magiques et montera automatiquement le systme de fichier lorsque vous accderez au rpertoire.

La commande find
Syntaxe :
$ find [chemin] [options] [expression]
La commande find permet de localiser tous les fichiers correspondant un critre de fichier ou nom
particulier.
La commande find peut tre encore plus puissante si elle est combine avec les options suivantes :
-atime +n, -n
-mtime +n, -n
-name pattern
-size n[c]
-type c

Trouve les derniers fichiers auxquels on a accd il ya plus de ou moins de n


jours
Trouve les fichiers modifis il y a plus de ou moind de n jours
Trouve les fichiers dont le nom correspond pattern
Trouve les fichiers contenant n blocs, ou, si c est spcifi, n caractres
trouve les fichiers de type c. c peut tre b(fichier spcial bloc), c(fichier spcial
caractre), l(lien symbolique), .

Trouver et traiter les fichiers


Syntaxe :
$ find dir_list [options] -exec cmd {} \;
Les fichiers trouvs sont passs par cmd comme des paramtres.
Le commutateur exec peut excuter une commande sur chaque fichier trouv
Page N 69

Linux : Principes de Base

Elies JEBRI

Archivage des fichiers


Crer une archive
Syntaxe :
$ tar cvf fichiers nom_archive
c:
cre une nouvelle archive
v:
produit des messages verbeux
f archive_name :
est le nom du nouveau fichier
Exemple :
$ tar cf /dev/fd0 ~
$ tar cvf myHome.tar ~
$ tar cvf work.tar .bash_profile /tmp

Examiner les archives


Syntaxe :
$ tar tf nom_archive.tar
$ tar tvf nom_archive.tar
Affiche une liste de tous les fichiers contenus dans larchive

Extraire une archive


Syntaxe :
$ tar xvf nom_archive.tar
Larchive sera extraite dans le rpertoire en cours.
Les fichiers gardent leur hirarchie relative au rpertoire en cours.

Compression des fichiers


Utilitaires de compression
* gzip, gunzip
Utilitaire de compression Linux standard, il comprime les fichiers de texte jusqu 75%
Page N 70

Linux : Principes de Base

Elies JEBRI

* bzip2, bunzip2
Lutilitaire de compression Linux le plus rcent, il effectue en gnral de meilleures
compressions que gzip.
* tar
Les archives tar sont souvent comprimes. La commande tar peut comprimer/dcomprimer les
archives en utilisant le commutateur z pour la compression gzip et j pour la compression bzip2
Exemple :
$ tar czf smallhome.tgz ~
$ tar cjf smallhome.tbz ~

Exercice de la leon 6
Principe de base du systme de fichiers Linux
Dure approximative :

1 heure et demi

Dvelopper une meilleure connaissance des principes de base du systme de fichier


Objectif :
Linux : Crer et utiliser des liens, utiliser find, archiver et compresser des fichiers.

Squence 1 : Crer et utiliser des liens


Tche :
Dans un exercice prcdent, vous avez copi le fichier /usr/share/dict/words dans le rpertoire
personnel de lutilisateur student en tant que ~/words. Dans ce cas, vous naviez pas eu
besoin dditer le fichier. Faire une copie du fichier dans votre rpertoire personnel fournissait
un accs facile au fichier utiliser dans lexercice. Nous aurions pu faire la mme chose en
utilisant un lien.
Pour viter la confusion entre loriginal et la copie, effacer la copie de words dans le rpertoire
personnel student :
$ cd
$ rm words
Vous ne vous en tiez aperu ce moment-l, mais le fichier /usr/share/dict/words auquel vous
vous rfriez dans votre opration de copie tait un lien symbolique. Affichez le contenu de
/usr/share/dict pour voir le lien et le fichier auquel il se rfre :
$ ls l /usr/share/dict
Comment pouvez-vous dire que words est un lien symbolique ?
Le caractre l .
Pourquoi le champ de la taille du fichier words est-il tabli 11 ?
La taille d'un lien symbolique est la longueur de la chane reprsentant le chemin d'accs
qu'il vise, sans le caractre NUL final.
Page N 71

Linux : Principes de Base

Elies JEBRI

La chane de permissions pour words permet laccs total tous. Quel impact cela a-t-il sur
le fichier linux.words ? Les utilisateurs non root peuvent-ils utiliser le lien pour crire
des donnes dans linux.words ?
Le droits daccs du lien ne concerne pas le fichier original.
Afficher encore les fichiers ainsi que leur inode respective. Les deux fichiers ont-ils la mme
inode ?
Non
$ ls i /usr/share/dict
Ensuite, crez un lien symbolique (soft link) et un lien physique (hard link) dans votre rpertoire
personnel vers /usr/share/dict/linux.words :
$ ln s /usr/share/dict/linux.words soft
$ ln /usr/share/dict/linux.words hard
Vrifiez que vos nouveaux liens fonctionnent vers les donnes de linux.words:
$ head hard soft
Examinez les liens que vous avez crs laide des commandes suivantes, puis rpondez aux
questions.
$ ls -il hard soft
$ stat hard soft
Taille de fichier reporte de hard .. et soft .
Nombre rel de blocs de donnes utiliss par hardet soft
Comment expliquez-vous la diffrence entre les blocs utiliss par les deux liens ?
Compte de lien pour les hard. Et soft
Proprit (UID/GID) des hard ..et soft .
Le fichier hard na quun utilisateur racine et les autres utilisateurs ont un accs en lecture
seule. Student peut-il effacer ce nouveau fichier ? Pourquoi ?
Pouvez-vous crer un lien symbolique vers un fichier destination qui nexiste pas ? La sortie de ls
vous donne-t-elle des indications ce propos ?
Pouvez-vous crer un lien physique vers un fichier destination qui nexiste pas ? Pourquoi ?
Pouvez-vous crer un lien physique vers un lien symbolique ? Que ce passe-t-il si vous essayez ?
Il sera un lien soft vers le mme fichier original point par le lien symbolique.
Aprs avoir cr plusieurs liens physiques, y a-t-il un moyen de dterminer quel est le vrai
fichier ? Cette question a t-elle un sens ?

Squence 2 : Archiver et compresser


Mise en situation :
Le disque dur primaire de votre systme fait du bruit chaque fois que vous lutilisez. Vous pensez quil
est sur le point de mourir et demprunter avec lui vos donnes les plus importantes. La dernire fois
que vous avez fait un exemplaire de sauvegarde de votre systme remonte deux ans et demi. Vous
dcidez donc deffectuer maintenant un exemplaire de sauvegarde de quelques uns de vos fichiers les
plus importants. Le rpertoire /tmp est stock dans une partition dun disque physique autre que celui
Page N 72

Linux : Principes de Base

Elies JEBRI

qui est entrain de mourir ; Cest donc l que vous allez temporairement stocker vos fichiers. Veiller
cependant ne pas y laisser vos donnes principales trop longtemps, car tmpwatch efface les fichiers
de /tmp qui nont pas t manipuls depuis 10 jours.
Tches :
Utilisez find pour trouver tous les fichiers de /home dont le propritaire est student, puis passez ces
noms de fichiers dans tar pour les ajouter dans une archive tar de /tmp :
$ find /home -user student -exec tar rvf /tmp/backup.tar {} \;
Stockez le contenu de /etc dans une autre archive tar de /tmp:
$ tar cvf /tmp/confbackup.tar /etc
Affichez les deux nouveaux fichiers puis notez leur taille :
$ ls -lh /tmp/*.tar
Taille de votre fichier backup.tar
Taille de votre fichier confbackup.tar
Utilisez gzip pour comprimer vos archives. Notez les nouvelles tailles :
$ cd /tmp
$ gzip *.tar
$ ls -lh *tar*
Taille de votre fichier backup.tar.gz
Taille de votre fichier confbackup.tar.gz
Dcomprimez les fichiers, puis recomprimez-les laide de bzip2, et notez les nouvelles tailles :
$ gunzip *.gz
$ ls -lh *tar
$ bzip2 *tar
$ ls -lh *tar*
Taille de votre fichier backup.tar.bz2
Taille de votre fichier confbackup.tar.bz2
Sur un systme traditionnel UNIX, les deux tapes de larchivage laide de tar puis la
compression de larchive seraient deux oprations spares, comme vous avez fait dans les
tapes prcdentes. Sur un systme Linux muni de la commande tar GNU, le fichier tar
peut tre filtr automatiquement par de nombreux programmes de compression au cours de
la cration du fichier. Essayez daccomplir les tapes suivantes. Les commandes tar
afficheront quelques messages derreur car les utilisateurs non-privilgis nont pas accs
en lecture seule certains fichiers de /etc. Vous pouvez les ignorer dans cet exercice.
$ rm confbackup.tar.bz2
$ tar cfz test1.tgz /etc
Page N 73

Linux : Principes de Base

Elies JEBRI

$ tar cfj test2.tbz /etc


$ file test*

Page N 74

Linux : Principes de Base

Elies JEBRI

LEON 7

Entre/sortie standard et pipes


Objectifs :
Comprendre les canaux E/S standard
Comprendre la redirection de fichier
Comprendre les pipes

Thmes abords :
Canaux E/S standard
Redirection de fichier
pipes

Page N 75

Linux : Principes de Base

Elies JEBRI

Entre et sortie standard


Linux offre trois canaux E/S aux processus :
entre standard - clavier par dfaut ;
sortie standard fentre du terminal par dfaut ;
erreur standard - fentre du terminal par dfaut.*
canaux E/S standard
on fait parfois rfrence ces canaux sous forme abrge : stdin (flot ou canal), stdout (1) et stderr (2).
Le fait davoir deux canaux de sortie permet de sparer les messages derreur et la sortie normale est
affiche lcran.
Il sagit l dune caractristique standard des systmes dexploitation de type UNIX, pouvant savrer
un outil trs puissant.

Redirection de lentre et de la sortie


Lentre, la sortie et lerreur standard peuvent tre rediriges vers
diffrents emplacements.
Les oprateurs de redirection du shell permettant aux canaux E/S standard dtre
redirigs vers, ou depuis, un fichier.
Les pipes permettent aux canaux E/S standard dtre connects lentre ou la
sortie des programmes.
Redirection de fichier et pipes
On utilise aussi bien la redirection de fichier que les pipes pour manipuler les canaux E/S standard.
Toutefois, il est important de se rappeler la grande diffrence entre les deux : les pipes sont utilis
pour envoyez la sortie dun programme vers un asutre programme, afin dy servir dentre.
Oprateurs de redirection couramment utiliss
Oprateur
>
>>
<
2> nom de fichier

Fonction
Commande >fichier
Commande>> fichier
Commande <fichier
Canal derreur

Description
Dirige la sortie standard vers un fichier
Ajoute la sortie standard la fin dun fichier
Reoit lentre standard depuis un fichier
Redirige le canal derreur de la sortie
habituelle vers nom de fichier

Page N 76

Linux : Principes de Base

Elies JEBRI

Redirection de la sortie
Utilisez la commande find pour tudier la redirection de sortie et derreur standard.

find/etc -name passwd


Cette commande permet de rechercher tous les fichiers appels passwd dans le rpertoire / etc et
ses sous-rpertoires.
Par dfaut, la sortie et lerreur standard sont toutes deux affiches lcran.

Exemple de sortie
[ bob@ station 2 guru]$ find /etc name passwd
/etc / passwd
find : /etc/default :Permission denied
/etc/pam.d/passwd
[ bob@ station2 guru]$

Redirection de la sortie standard


Redirection la sortie stand laide de
Par exemple :
Redirection de la sortie standard vers un fichier :
Find /etc -name passwd > findresult
Dan ce cas, lerreur standard saffiche encore lcran.
Exemple de sortie lorsque la sortie standard est redirige vers un ficher et que lerreur standard est
affiche sur le terminal :
[bob@ station2 guru]$ find /etc name passwd > findresult
find: /etc /default: Permission denied
[ bob@ station2 guru]$ cat findresult
/etc /passwd
/etc /pam.d /passwd
[ bob@ station2 guru] $

Page N 77

Linux : Principes de Base

Elies JEBRI

Ecrasement ou ajout
Si le ficher cible de la redirection de ficher laide de > existe dj, celui-ci est cras.
Utilisez >> pour ajouter les donnes un fichier existant, au lieu de > .

Redirection de la sortie et cration/crasement du fichier ou


tupt
[bob@station 2 guru] $ find /etc name passwd > output
find : /etc /default : Permission denied

Redirection de sortie et ajout des donnes au fichier output


[bob@station 2 guru] $ find /etc name passwd > output
find : /etc /default : Permission denied
visualisation du fichier output
[bob@station 2 guru] $ cat output
/etc /passwd
/etc /pam.d /passwd
/etc /passwd
/etc / pam.d/passwd

Redirection de la sortie et crasement du fichier ouput


[bob@station 2 guru] $ finnd /etc name passwd > output
find : /etc /default : Permission denied

Visualisation du fichier ouput


[bob@station 2 guru] $ cat output
/etc /passwd
/etc /pam.d /passwd
[bob@station 2 guru] $.

Redirection de lerreur standard


Redirigez lerreur standard laide de 2>
Par exemple :
Redirection de la sortie standard vers un fichier :
find / etc name passwd 2> finderrors
La sortie standard est affiche lcran.
Redirigez toute autre erreur standard, en lajoutant au mme fichier, laide de 2>> .

Redirection de lerreur standard vers le fichier finderrors


bob@station2 guru $ find /etcname passwd 2> finderrors
/etc/passwd
/etc/pam.d/passwd
Page N 78

Linux : Principes de Base

Elies JEBRI

Visualisation du fichier finderrors


[bob@station2 guru] $ cat finderrors
fin: / etc / default: permission denied
[bob@station2 guru]$

Redirection dautres erreurs standard vers le fichier finderrors


[bob@station2 guru] $ find / tmp name passwd 2>> finderrors
visualisation du fichier finderrors
[bob@station2 guru] $ cat finderrors
find: /etc/default: Permission denied
find: /tmp/orbit-root: Permission denied

Redirection de la sortie et de lerreur standard


Il est possible de rediriger la sortie et lerreur standard simultanment :
Find / -name passwd 2>errs > results
Chaque canal E/S peut tre redirig vers des fichiers diffrents ou vers le mme
fichier :
Find / -name passwd > alloutput 2> & 1 (ou) find / -name passwd & >alloutput

Redirection de lerreur standard vers le fichier errs et redirection de la sortie standard vers le
fichier results
[bob@ station2 guru] $ cat errs
find : /etc/ default : Permission denied
Visualisation du fichier results
[bob@station2 guru] $ cat results
/ect/passwd
/etc/pam.d/passwd
redirection de lerreur et de la sortie standard vers de fichier alloutput
[bob@statuib2 guru] $ find etc name passwd > alloutput 2>&1
Visualisation du fichier alloutput
[bob@station2 guru] $ cat alloutput
/ect/passwd
find : /etc/ default : Permission denied
/etc/pam.d/passwd
[bob@station2 guru] $

Page N 79

Linux : Principes de Base

Elies JEBRI

Redirection de lentre
Redirection de lentre standard laide de < .
Certaines commandes ne fonctionnent quavec une entre standard.
Tr naccepte pas les noms de fichier comme argument son entre doit tre redirige
partirdun autre endroit :

Tr A-Z a-z < .bash profile


Cette commande transforme les caractres majuscules copris dans .
bash_profile en caractre minuscules.
Exemple de sortie
[bob@station2 guru] $ tr A-Z a-z< .bash_profile
# .bash_profile
# get the aliases and functions
if [- f ~ /.bashrc ]; then
. ~/.bashrc
fi
# user specific environment and startup programs
path=$path:$home/bin
bash_env=$home/.bashrc
username=""
export username bash_env path
[bob@station2 guru]$

Utilisation de pipe pour connecter des processus

Les pipe (caractre | ) vous permettent de rediriger la sortie dune commande, de


faon ce quelle devienne lentre dune autre commande :
$ Is /usr/mib | less
Ils permettent aussi de crer des pipelines, une fonction puissante dUNIX:
$ cut fl d : passwd | sort r | less
Voici deux des principes de base de la philosophie dUNIX: faire de petits programmes qui excultent bien une
fonction prcise et sattendre ce que la sortie de tout programme puisse devenir lentre dun autre
programme, quil soit connu ou non ce moment. Lutilisation de pipelines vous permet de tirer parti des effets
de ces deux principes, afin de crer des chanes de commande extrmement puissantes pour obtenir les rsultats
dsirs. La plupart des programmes ligne de commande qui agissent sur les fichiers peuvent aussi accepter
une entre sur lentre standard et une sortie sur la sortie standard. Enfin, certaines commandes, telles que tr,
nont t cres que dans le but dagir au sein dun pipeline (elles ne peuvent agir directement sur des fichiers).

Exemple de sortie
[bob@station2 man] $ pwd
/usr/share/man
[bob@station2 man] $ Is C | tr a-z A-Z
MAN1 MAN3 MAN5 MAN7 MAN9 PT_BR WHATIS
MAN2 MAN4 MAN6 MAN8 MANN TMAC.H
[bob@station2 man] $
Page N 80

Linux : Principes de Base

Elies JEBRI

tee

vous permet dappliquer la commande tee un pipeline, soit de rediriger une sortie vers un
fichier tout en continuant laction du pipeline vers un autre programme.
$ Ispci-v | tee Ispci. out | Less
Dans cet exemple, la sortie de Ispci est crite dans le fichier Ispci. Out alors quelle est aussi
conduite vers less.

Utilisation de tee
La commande tee est trs utile pour enregistrer la sortie diffrents stades dune longue chane de
pipes. Par exemple :

$ command |tee stagel1.out | tee stage2.out | uniq - c| tee stage3.out | sort r | tee
stage4.out | more

Page N 81

Linux : Principes de Base

Elies JEBRI

LEON 8
Traitement de chanes

Objectifs :
Explorer des nombreux utilitaires de traitement de chanes disponibles sous Red Hat
Linux
Thmes abords :
Head/tail
Wc
Grep/expressions rgulires de base
sort
diff
cut
uniq
paste
tr
aspell

Page N 82

Linux : Principes de Base

Elies JEBRI

Head
affiche les premires lignes (10pardfaut) de texte dun fichier.
Head /tmp/output-txt
Utilisez les paramtres n ou - -lines
Pour modifier le nombre de lignes affiches
Head -n 20 /tmp/output.txt
Head est utilis pour nafficher que les premires lignes dun fichier-le nombre de lignes par
dfaut est 10
$head /etc/passwd
root : x :0:0:root:/bin/bash
bin :x : 1:1:bin :/bin:
daemon: x:2:2:daemon:/sbin:
adm: x:3:4:adm:/var/adm:
1p:x:4:7:lp:/var/spool/lpd:
spnc:x:5:0:sync: /sbin:/bin/sync
shutdown:x:6:0:shutdown:/sbin:/sbin/shutdown
halt :x:7:0:halt:/sbin:/sbin/halt
mail:x:8:12:mail:/var/spool/mail:
news:x:9:13:news:/var/spool/news:
loption- nspcifie le nombre de lignes afficher$ head -n 3 /etc/passwd
root : x :0 :0 root:/root:/bin/bash
bin :x :1 :1 :bin:/bin:
daemon:x:2:2:daemon:/sbin:

Tail
Affiche les dernires lignes(10pardfaut) de texte dun fichier.
Tail /var/.org/messages
Utilisez les paramtres n ou lines pour modifier le nombre de lignes affiches
Tail -n 20 /var/log/maillog
La commande tail est utilise pour afficher les dernires lignes
Dun fichier0 le nombre de lignes par dfaut est 10 tail est souvent utlis par ladministrateur
systme pour lire les entres les plus rcentes des fichiers journaux.
# tail / var / log /cron
root (10/13-08 :20 :00 659 ) CMD (
/sbin / rmmod -as )
CRON ( 10 /13 -10:54:37-422) STARTUP (fork ok )
CRON (10/13-14:36:26-422) STARTUP (fork ok )
Root (10/13-14:40:00-661) CMD (
/sbin/ rmmod - as )
CRON (10/13-17:53:08-422 ) STARTUP (fork ok)
Root (10/13/-18 :01:00-658) CMD (run-parts /etc/ cron .hourly )
CRON (10/15-13 :14 :45-422) STARTUP (fork ok)
CRON (10/15-13 :45:56-422) STARTUP (fork ok )
Root (10/15-13:50:00-781) CMD ( /sbin /rmmod as)
Page N 83

Linux : Principes de Base

Elies JEBRI

Page N 84

Linux : Principes de Base

Elies JEBRI

Tail ( suite)
Utilisez f pour suivre la fin dun fichier de texte en cours de modification.
tail f / var /log/ httpd /error log
Trs utile pour contrler les fichiers journaux.
Lorsque vous utilisez loption f , tail continue dafficher le fichier en temps rel ce qui trs pratique lorsque
vous visualisez des fichiers journaux .Ladministrateur systme peut ainsi garder lil sur le journal systme (
auquel il est le seul avoir accs ) laide de la commande suivante :
#tail f /var/log messages
de cette faon,tail f continue dafficher les mises jour apportes au fichier jusqu ce que vous appuyez sur
ctrl- c.
wc
Bien que wc signale compte des mots,de langlais wors cotant ,cet utilitaire permet galement de compter
les lignes et les caractres.
$ wc story .txt
39
237 1901 story .txt
utilisez le paramtrer 1 pour ne compter que les lignes.
Utilisez le paramtre w pour ne compter que les mots
Utilisez le paramtre c pour ne compte que les caractres.
Wc est utile lorsque vient le moment de compter le nombre de caractre de mots ou de lignes dun fichier.En
outre,si vous spcifiez plus dun fichiers ,wc vous fournit galement le total ,comme dans lexemple ci-dessous
$ wc tmpfile . tmp2 file .txt
13
13
26
grep

12
12
24

28 tmpfile .txt
28tmp2file .txt
56total

Utile pour chercher du texte dans des fichiers.


$ grep john /etc /passwd
john : x : 500 :500 : john Doe : /home /john/ :bin/ zsh
bon filtre utiliser dans les pipelines .
ls | grep .c

Grep permet dafficher les lignes de son entre qui correspondent un motif donne comme
argument .
Grep [- variable (s) ] motif [nom (s) de fichier]
Comme la plupart des filtres Linux ,il peut lire son entre depuis un fichier ou une entre
standard. Lorsquon lui donne un seul motif en question, Lexemple suivant demande au
systme une liste des processus en cours dexcution et conduit ensuite la sortie obtenu vers un
processus grep qui naffiche que la ligne contenant le motif init :
$ ps ax
grep init
1 ?
s
0:04 init [5]

Page N 85

Linux : Principes de Base

Elies JEBRI

Lorsquon lui donne plusieurs noms de fichiers , grep afficher avant chaque ligne du fichier dans lequel il a
trouv llment correspondant au motif . La variable i indique grep dignorer la casse lorsquil
effectue la recherche du motif dans le fichier .
$ grep i ghostview * .faq
Comp.text.faq:
sun Pageview, Ultrascript, Ghostview plus ghiotscript):
Postscript. faq : Systems . Or use th mord general utilities ghostview, sgi. faq: foundation; ghostview (a
viewer which uses ghostscript) is likewise
La variable v fait en sorte que grep affiche les lignes de son entre qui ne contiennent pas le motif.
La variable n indique grep affiche les numros des lignes avant chaque ligne correspondant au motif.
-c fait en sorte que seul le compte des correspondants au motif soit affich.
-I fait en sorte que la sortie ne comprenne que le ou les noms de fichier contenant le motif demand.
La variable r excute la commande grep rptition, en commenant par le rpertoire courant.
Le motif peut contenir des expressions rgulires, semblables(mais pas identiques) aux caractres
dextension nom de fichier du shell.

Expressions rgulires et grep


Des recherches plus sophistiques grce aux modles dexpression rgulire.
$grep h [oa]t...5$ /tmp / out . txt
Les expressions rgulires font de grep lun des filters les plus utiliss (et les plus puissants) .
Lensemble des expressions constitue pratiquement,un langage en soi. A laide des expressions
rgulires, grep devient un outil extrmes flexible et puissant.Une expression rgulire est un
modle qui dcrit un ensemble de chanes. Voici quelques exemples :
.
Concordance avec un seul caractre
*
Concordance avec zro occurrence ou plus dun caractre
[ abc] Concordance avec a,b ,ou c
a*
Concordance avec zro ou nimporte quel nombre de rptitions de a, tel que aaa, aaaa
ou aaaaaaaa
a?
Concordance avec un seul a ou aucun a
a+
Concordance avec un seul a ou nimporte quel nombre de rptitions de a.

sort
Trie toutes sortes de donnes texte.
$ sort rn result .txt
Options courante :
-r- inverse lordre du tri afin dobtenir une liste dcroissante (par dfaut, les listes sont en ordre
croissant) ;
-n- effectue un tri numrique ;
-f- ignore la casse des caractres dans les chanes ;
-u- unique.
La commande sort est utilise pour trier des donnes texte. Ces donnes peuvent tre dans un fichier
ou la sortie dune autre commande. Sort est souvent utilis avec des conduits, comme dans lexemple
ci-dessous qui affiche une liste en ordre alphabtique dutilisateurs dont le shell de connexion est le
shell bash.
$ grep bash /etc/passwd sort
alex :x: 503:504::/home /alex:/bin/bash
gdm: x:42:42::/home/gdm:/bin/bash
guru:x:501:501:Guru Labster : /home/guru:/bin/bash
Page N 86

Linux : Principes de Base

Elies JEBRI

Joshua :x:500:500 joshua M. hoffman :/home/ joshua:/ bin /bash


root :x: 0:0:root :/root:/ bin/ bash
star :x: 504:504:: /home /star: /bin/bash

diff
Compare deux fichiers, afin de trouver les diffrences entre eux.
<
-->

diff area.c /tmp/area .c


33c33
x = y + 2;
x = y + 4;
33 c 33 indique la ligne o les deux fichiers diffrents.
< indique la ligne du premier fichier.
> indique la ligne du second fichier.

Diff est utilis pour comparer le contenu de deux fichier, afin den identifier les diffrences. Si vous procdez
la mise jour dun utilitaire et dsirez voir en quoi les nouveaux fichiers de configuration diffrent des anciens,
vous navez qu utiliser diff. Par exemple :
$ diff /etc /named .conf. old /etc /named .conf
20c20
<
file root. hints;
-->
file named. ca;
vous pouvez voir dans cet exemple que dans la nouvelle version de named. Conf la ligne file root . hints ; a
chang et sappelle maintenant file named. ca ;
Notez que diff est un utilitaire trs utilis par les dveloppeurs de logiciels et que ces derniers prfrent
gnralement une sortie diff unifie, obtenue par lajout de loption u.

Cut
Affiche des colonnes de donnes spcifiques dun fichier
$ cut f 4 resultat . dat
loption f spcifie le champ ou la colonne.
Loption - f d spcifie le dlimiteur de champ (par dfaut : TAB)
$ cut - f 3 - d : /etc. /passwd
loption - c vous permet de faire la coupure par caractre :
$ kill ps - aux
cut - c10 -16
Pensez au concept de coupure en termes de << copier et coller >> .La commande cut est utilis
pour couper du texte dun fichier et lafficher la sortie standard .Prenez , par exemple ,la
commande suivante :
$ cut - f 3 - d : / etc /passwd

Page N 87

Linux : Principes de Base

Elies JEBRI

elle permet dafficher une liste duid du fichier / etc passwd car les uid sont stocks dans le champs
3 et le symbole : est utilis comme dlimiteur

uniq
liminer les lignes rptes successive dans un fichier.
Souvent utilis de concert avec sort pour liminer toutes
les rptions.
Utilisez loption - c pour compter le nombre dapparitions de donnes rptes.

Unique <<limine>> les lignes rptez et adjacentes dun fichier .Pour nafficher que des lignes
uniques dun fichier ( soit aprs en avoir limin toutes les rptitions ) , lentre duniq doit dabord
tre trie.
Lexemple suivant fait appel cette technique pour gnrer la liste des shells utiliss dans
/ etc /passwd.
$ cut - d : - f 7 /etc / passwd

sort | uniq

/ bin / bash
/ bin / false
/ bin / sync
/ dev / null
/ sbin / hall
/ sbin / shutdown

paste
Fusionne des donnes provenant de fichiers diffrents en un seul fichier.
$ paste ids . txt data .txt > newdata .txt
utilisez loption - d pour changer le dlimiteur de sortie ( par dfaut : TAB )
$ paste - d : ids . txt data .txt
la commande paste sert regrouper des fichiers .En effet , elle permet de prendre une ligne dans
diffrents fichiers et de <<coller>> ces lignes en une seule et mme ligne dans un nouveau fichier
,spares dun espace TAB .Examinez lexemple suivant :

$ cat numbers .txt


1
2
3
4
5
$ cat letters .txt
A
B
C
D
Page N 88

Linux : Principes de Base

Elies JEBRI

E
$ paste numbers .txt letters .txt
1
A
2
B
3
C
4
D
5
E

tr

Utilis pour transformer ou liminer des caractres dans des donnes.


$ tr A-Z a-z < date .txt > data2.txt
les caractres en majuscule (A-Z) sont transforms en caractres minuscules (a-z).
peut aussi liminer des caractres ( laide de loption d).
$ tr -d \ r < area.c > new.area.c
dans cet exemple, les caractres Entre sont limins.

tr peut tre utilis pour transformer, entasser ou liminer des caractres dune entre standard, crivant
la sortie standard. Lune des utilisation les plus courantes de tr est la conversion de fichiers texte
DOS (les lignes se terminent par un retour de chariot et un retour la ligne) en fichiers texte de type
UNIX (les lignes ne se terminent que par un retour la ligne).
tr -d \ r < dostextfile.txt > unixtextfile
fichier.

- limine les retours de chariot du

aspell
correcteur orthographique interactif trs puissant
plus intelligent que celui de MS WordTM ce quil parat.
Vrification facile de lorthographe dans un fichier
$ aspell check letter.txt
Permet de crer des dictionnaires personnels.
aspell est un correcteur orthographique interactif. Il offre des suggestions de correction dune
interface simple avec menus.

$ aspell check file.txt


some times *peple* type stuff wrong.
people
6) peel
pele
7) pelee
peale
8) peopled
purple
9) peoples
peel
0) pep
i) Ignore
I) Ignore all
r) Replace
R) Replace all
a) Add
x) Exit

Page N 89

Linux : Principes de Base

Elies JEBRI

vous pouvez galement trouver plus de renseignement sur aspell ladresse Web http : // aspell .
sourceforge .net.

FIN DE LA LEON 8
Questions et rponses
Rsum
Traitement de chane de base
Expressions rgulires simples

Fichiers importants tudis au cours de cette leon :


Commandes importantes tudies au cours de cette leon :
head
tail
wc
grep
sort
diff
cut
uniq
paste
tr
aspell

Exercices de la leon 8
Traitement de chanes, E/S standard et
Dure approximative :

pipes

30 Minutes

Objectif : Se familiariser avec de nombreuses applications de traitement de chanes,


lE/S standard et les pipes , alors quils sont utiliss avec les diffrents
utilitaires disponibles dans systmes Red Hat Linux.
Configuration de dpart : un systme Red Hat Linux install et une copie de / etc / passwd dans
votre rpertoire personnel.

Squence1 : traitement de chanes de base


Tches :
faites une copie de /etc / passwd dans votre rpertoire personnel.
$ cd
Page N 90

Linux : Principes de Base

Elies JEBRI

$ cp /etc/passwd .
Il y a une lignes dans / etc / passwd pour chacun des comptes du systmes. Utilisez wc pour
compter le nombre de lignes prsentes dans le fichier passwd.
$ wc -l passwd
Nombre de comptes sur votre systme :
Gnrez une liste des diffrents shells en cours dutilisation sur votre ordinateur et placez-la dans
un autre fichier.
$ cut -d : -f7 passwd > shells
Visualisez le contenu de votre nouveau fichier shells laide de la commande cat. Vous remarquer
que le fichier contient les informations demandes, mais quelles sont prsentes sans ordre
particulier. Triez les lignes de la sortie et placez les nouvelles donnes ordonnes dans nouveau
fichier.
$ sort shells > sorted. shells
5. Certaines valeurs identiques se rptent dans le fichier. Utilisez alors la commande uniq pour
savoir combien de fois chaque valeur est indique.
$ uniq -c sorted. shells > uniq.sorted. shells
Pourquoi vous a-t-il t ncessaire de trier la sortie avant dutiliser la commande uniq ?
(Conseil :essayer uniq -c shells et man uniq)
Utilisez la commande qui suit pour obtenir une liste trie en ordre dcroissant des shells en cours
dutilisation sur lordinateur (bien entendu, les nombres exacts sur votre ordinateur peuvent
tre diffrents des nombres indiqus dans lexemple ci-dessous).
$ sort -nr uniq. Sorted. Shells
12
7 /bin/bash
3 /bin/false
1 /sbin/shutdown
1 /sbin/halt
1 /dev/null
1 /bin/sync
Rsultat:
Vous obtenez une liste numrique trie en ordre dcroissant des shells assigns aux comptes
utilisateur sur lordinateur.

Squence 2 : traitement de chane de base


Tches :
1. Essayez maintenant dutiliser la commande grep pour obtenir uniquement la sortie des lignes
du fichier words (qui devrait encore tre dans votre rpertoire personnel, depuis les exercices
Page N 91

Linux : Principes de Base

Elies JEBRI

de la leon 3) qui contiennent un motif de texte prcis. Par exemple, affichez les lignes qui
contiennent le motif fish.
$ grep fish words
blowfish
bluefish
codfish
sortie tronque
unselfish
unselfishly
unselfishness
comparez attentivement la sortie indique ci-dessus celle qui est obtenue au moyen de la
commande ci-dessous et dterminez ensuite la fonction de la variable I ajoute grep.
$ grep -i fish words
2. A laide de la page man de grep, construisez et testez une commande qui provoquera la sortie
de toutes les lignes contenant le motif fish, de mme que les deux lignes succdant et prcdant
chacune de ces lignes (afin dobtenir un contexte plus tendu).
$ grep -A 2 B 2 fish words
3. A laide de la page man de grep, construisez et testez une commande dont la sortie nindiquera
que le compte du nombre de fois que le motif fish apparat dans words.
$ grep -c fish words
4. A laide de la page man de grep, construisez et testez une commande dont la sortie indiquera
une ligne pour chacune des rptitions du motif fish dans le fichier words, y compris le numro
de ligne o celles-ci se trouvent. Sur quelle ligne le mot starfish a-t-il t trouv ?
$ grep -n fish words
5. Utilisez grep pour afficher la ligne de tout compte commenant par la lettre g .
$ grep ^g passwd
games:x:12:100:games:/usr / games:
gopher:x:13:30:gopher: /usr/lib/gopher-data:
gdm:x:42:42:: /home/gdm: /bin/bash

6. Affichez la ligne de tout compte utilisant le shell bash.


$ grep bash$ passwd
root :x : 0 : 0: /root:/root:/bin/bash
gdm:x:42:42::/home/gdm:/bin/bash
pvm:x:24:24::/usr/share/pvm3:/bin/bash
visitor:x:501:501::/home/visitor:/bin/bash
bob:x:502:502::/home/bob:/bin/bash
student:x:503:503::/home/student:/bin/bash

7. Affichez la ligne de tout compte nutilisant pas le shell bash.


Page N 92

Linux : Principes de Base

Elies JEBRI

$ grep -v bash$ passwd


bin:x:1:1:bin:/bin:
dademon:x:2:2:daemon:/sbin:
adm:x:3:4:adm:/var/adm:
sortie tronque

8. Pour illustrer lutilisation de la commande diff, crez une copie modifie du fichier passwd.
Utilisez dabord grep pour liminer toutes les lignes qui contiennent les lettres N ou P .
$ grep -v [N , P] passwd > modified.Passwd

9. Comme changement final, utilisez tr pour convertir toutes les lettres majuscules (sil en reste)
en minuscules.
$ tr A-Z a-z < modified. Passwd > modified2.passwd

10. Utilisez cat pour visualiser votre fichier passwd original et le nouveau fichier modified2 .
passwd. Si on ne les examine pas attentivement il est assez difficile de voir les diffrences
entre les deux, et ce mme sil sagit de petits fichiers. Imaginez alors ce que ce serait si votre
fichier passwd contenait les entres de milliers dutilisateurs ! Servez-vous de la commande
diff pour gnrer une liste des changements entre les deux fichiers, en format unifi.
$ diff -U 0 modified2.passwd passwd
- - - modified2.passwd
wed oct 18 04:39:06 2000
+ + + passwd wed oct 18 04:08:57 2000
@@ -15 +15,3 @@
-xfs:x:43:43:x font server:/etc/x11/fs:/bin/false
+ftp :x :14 :50 :FTP User:/var/ftp:
+nobody:x:99:99:Nobody: / :
+xfs:x:43:43:x Font server:/etc/x11/fs:/bin/false
@@ -16 ,0 +19 ,2 @@
+rpcuser :x :29 :29 :RPC Service User:/var/lib/nfs:/bin/false
+rpc:x:32:32:Portmapper RPC user: / : /bin/false

Squence 3: exploration de lutilisation des pipes et de la


redirection
Mise en situation
Au cours des deux squences prcdentes, vous avez utilis plusieurs utilitaires de traitement de
chanes pour crer une liste trie de shells, en quatre tapes. Dans cette squence, vous ferez la
mme chose, mais en une tape seulement. Vous approfondire galement lutilisation de
pipes .
Tches :
Pour crer une liste trie de shells, combinez les commandes des tapes 3 6 de la squence 1 des
exercices de la leon 7. contrairement aux exercices de la leon prcdente, vous navez besoin
daucun fichier temporaire car lensemble de lopration est effectu en conduisant la sortie
dune commande vers une autre, de faon rpte.
$ cut -d : -f7 passwd | sort | uniq -c | sort -nr
12
/bin/bash
/bin/false
/sbin/shutdown
/sbin/halt
/dev/null
/bin/sync
Page N 93

Linux : Principes de Base

Elies JEBRI

Si vous dsirez visualiser une liste alphabtique de tous les processus excuts en tant que root,
utilisez ps pour obtenir une liste des processus en cours et des noms dutilisateur, puis
conduisez la sortie vers grep pour nobtenir que la sortie des processus appartenant au root. Le
symbole ^ indique grep de ne chercher qu la chane root au dbut de chaque ligne.
$ ps auxw | grep ^ root
root
1 0.0 0.2 1324
root
2 0.0 0.0
0
root
3 0.0 0.0
0
root
4 0.0 0.0
0
root
5 0.0 0.0
0

536 ?
s
oct 13
0 ?
sw
oct 13
0 ?
sw
oct 13
0 ?
sw
oct 13
0 ?
sw
oct 13
. . . sortie tronque . . .

0:04
0:00
0:00
0:00
0:00

init [5]
[Kflushd]
[Kupdate]
[Kpiod]
[Kswapd]

Imaginons que vous vouliez passer ces donnes un script qui na besoin que des noms de
processus. Vous devez alors utiliser la combinaison de tr et cut pour produire cette liste.
Premirement, tr est utilise pour transformer les espaces blancs en un sparateur de champ
pouvant tre compris par cut (un % dans ce cas). Ensuite, on utilise cut pour afficher
uniquement les noms de processus (champ 11 de la sortie de tr).
$ ps auxw | grep ^root |/ tr -s [ : blank: ] [%] | cut -d% -f11
init
[Kflushd]
[Kupdate]
[Kpiod]
[Kswapd ]
. . . sortie tronque . . .
Vous avez maintenant la liste des processus appartenant root, mais comme vous avez demand cut de nafficher
que le champ 11 (field 11), vous avez perdu les arguments de la ligne de commande. Dans lexemple de sortie de
ltape 2, le premier processus est init [5], mais ltape 3 on ne voit que init. Si vous changez -f 11 -, cut affiche
alors le champ 11 jusqu la fin de la ligne.
$ ps auxw | grep ^root | tr -s [ :blank :] [%] | cut -d% -f11
init % [5]
[Kflushd]
[Kupdate]
[Kpiod]
[Kswapd]
. . . sortie tronque . . .
Voil, vous avez ainsi obtenu la sortie dsire ou presque. Vous souvenez-vous que vous avez utilis tr pour
transformer les espaces blancs en % pour cut ? Vous devez maintenant utiliser tr de nouveau pour remettre les %
en espaces blancs.
$ ps aux | grep ^ root | tr -s [ :blank :] [%] | cut -d% -f 11- | tr [%] [ ]
init [5]
[Kflushd]
[Kupdate]
[Kpiod]
[Kswapd]
. . . sortie tronque . . .
Comme vous avez pu le constater au cours des tapes prcdents, les pipes sont trs pratiques lorsque lon travaille
avec des utilitaires ligne de commande. Toute fois, bien que les tapes soulignes vous permettent de raliser les
tches voulues, assurez-vous toujours tout de mme que le programme qui produit la sortie originale peut aussi la
formater correctement avant de perdre trop de temps manipuler la sortie dune commande. Ps, tout
particulirement, peut produire une sortie sous pratiquement tous les formats imaginables. Notez les variables
utilises ci-dessous pour obtenir le rsultat souhait :
$ ps -u root -o args
init [5]
[Kflushd]
[Kupdate]
Page N 94

Linux : Principes de Base

Elies JEBRI

[Kpiod]
[Kswapd]
. . . sortie tronque . . .
Rsultat :
Vous obtenez une combinaison de commandes utilisant des pipes , aboutit la gnration dune liste de processus
excuts en tant que root sur le systme.

Page N 95

Linux : Principes de Base

Elies JEBRI

LEON 9

INTRODUCTION AUX PROCESSUS


Objectifs :

Comprendre ce quest un processus


Comprendre les tats des processus
Grer les processus
Comprendre le contrle de travail
Thmes abords :

Dfinir un processus
Etats de processus
Gestion de processus
Contrle de travail

Page N 96

Linux : Principes de Base

Elies JEBRI

QUEST-CE QUUN PROCESSUS ?


Un processus compte de nombreux composants et proprits
Exec thread
PID
Priorit
Contexte de mmoire
Environnement
Descripteurs de fichiers
Rfrences de scurit
Processus
Les processus sont communment considrs comme des programmes dexcution. Cest juste,
mais ils prsentent plusieurs composants et proprits.

Lancement des processus


Un processus peut en excuter ( exec ) un autre
Le nouveau processus exec remplace le vieux processus
PID ne change pas
Ramification
Lorsquun processus est ramifie, ( forks ) une copie de ce processus est cre

Lancer un processus

Lorsquun programme en lance un autre (situation trs commune pour un


shell), derrire les rideaux le programme se ramifie et la nouvelle branche
excute le nouveau programme.
Le PID du shell est 28570
[bob @ station2 gurul] $ ps
PID TTY
TIME CMD
28570 pts/8
00:00:00 bash
28587 pts/
00:00:00 ps
[ bob@ station2 guru] $ bash
Le PID du nouveau shell est 28588
Page N 97

Linux : Principes de Base

Elies JEBRI

[ bob@ station2 guru] $ ps


PID TTY
TIME CMD
28570 pts/8
00:00:00 bash
28588 pts/8
00:00:00 bash
28597 pts/8
00:00:00 ps
[ bob@ station2 guru] $ exec bash
Le PID du shell dexcution est toujours 28588
[ bob@ station2 guru] $ ps
PID TTY
TIME CMD
28570 pts/8
00:00:00 bash
28588 pts/8
00:00:00 bash
28606 pts/8
00:00:00 ps
[ bob@ station2 guru] $

Ascendance des processus


Init est le premier processus lance au moment du dmarrage
Il a toujours PID 1
Tous les processus ont un parent, sauf init
Comme les humains, les processus peuvent tre la fois parent et
enfant
Ascendance des processus
La commande pstree affiche lascendance de tous processus excuts sur le systme.
[ bob@ station2 guru] $ pstree
init - + - apmd
-atd
-crond
-deskguide_apple
-gdm - + - x
-gdm - - - gnome session
-gmc
-gnome name sery
-gnome smproxy
-gnome terminal - + - 5* [bash]
-bash - - - telnet
-bash - - - ssh
-bash - - - bash
-bash - - - pstree
-gnome pty helpe
-pine
-gpm
-identd - - - dentd - - - 3* [identd]
-kflushd
-khubd
-klogd

Page N 98

Linux : Principes de Base

Elies JEBRI

Etat des processus


Un processus peut tre dans un des nombreux tats
R Excutable (dans la file dattente dexcution)
S En veille
T - Arrt
D Sommeil irrversible
Z Processus Defunct (zombie)

Les tats suivants sont dfinis dans Linux :


- Excutable

Le processus est dans la file dattente dexcution. Il est en cours


dexcution.
- En veille
Le processus nest pas excut. Il attend un vnement pour se mettre en
marche.
- Arrt
Le processus nest pas excut.
- Sommeil irrversible Le processus est en veille et ne peut tre mis en route que par un
vnement.
Advient en gnral aprs une fonction I/O.
- Zombie
Avant de disparatre, le processus informe ses parents et attend une
confirmation. Sil ne la reoit pas, son PID nest pas libr, mais toutes les
autres ressources le sont. Les processus Zombie sont limins du systme
au lancement suivant et naffectent pas le fonctionnement du systme.

Afficher les processus


Syntaxe ps :
Ps [options]
Les options aux ou auxw sont les plus utilises
Affiche les diffrentes informations concernant les processus du systmes
Contrle du processus : top, gtop
Afficher les processus
La commande ps affiche les informations concernant les processus du systmes. Si vous nutilisez
pas doptions, elle affiche uniquement les processus excuts par le terminal en cours.
Voici quelques exemples parmi toutes les options disponibles. Pour plus dinformations, consultez
la documentation en ligne.
-a
Affiche tous les processus, sauf ceux ne sont pas contrls par un
terminal.
Page N 99

Linux : Principes de Base

Elies JEBRI

-x

Comprend les processus non contrls par un terminal, comme par


les processus dmon.
-i
Longue liste. Contient des informations supplmentaires, comme par
exemple luid du propritaire du processus.
-u
Affiche le nom dutilisateur du propritaire du processus.
Il peut y avoir des centaines de processus sur un systme. Cest pourquoi il existe un technique de
localisation dun processus spcifique : envoyer la sortie grep depuis ps :

exemple

Ps -a x / grep
La commande ci-dessus affichera toutes les lignes de la saisie de la commande ps contenant 1pd.
Si une seule ligne apparat dans la ligne grep, il est probable que le dmon 1pd ne fonctionne pas
et doit tre relanc
Vous pouvez afficher une liste des processus interactive et continuellement mise jour laide de
top ou gtop.

Envoi de signaux aux processus


Syntaxe
Kill [-signal] pid
Kill [-signal] % jobID
Kill -1
Envoie le signal spcifi au processus
Le signal par dfaut est TERM
Loption 1 affiche tous les signaux disponibles
Killall
Envoyer des signaux
Les signaux peuvent tre spcifis par leur nom, comme par exemple KILL, ou par leur
numro, par exemple 9.
La commande kill peut envoyer de nombreux signaux. Toute fois certains programmes ne
rpondront pas certains signaux.
Voici des signaux identiques qui enverront le signal TERM au processus laide du PID
numro 3428 :
Kill 3428
Kill -15 3428
Kill -TERM 3428
Remarquez que le signal TERM est le dfaut.
Les commandes :
Kill -9 3428
Kill -KILL 3428
Sont identiques et enverront le signal KILL au processus.
De plus, pour tuer il existe une commande killall que vous pouvez utiliser pour envoyer un
signal un groupe de commandes, comme tous les processus getty. Elle doit tre utilise
Page N 100

Linux : Principes de Base

Elies JEBRI

avec prcaution car le fait de tuer certains processus peut causer des dommages au systme.
Voici un exemple utile qui envoie un signal KILL tous les processus en cours nomms
Netscape communicator :
Killall -KILL netscape communicator
Les signaux peuvent tre envoys de faon interactive au processus laide de top et gtop.

Terminer les processus


La meilleure faon de terminer un processus
Est de le laisser sachever
Les commandes se terminent et les applications sont quittes
Interrompre avec Ctrl-C ou envoyer un signal TERM
Si tout le reste choue, envoyer un signal KILL
Programmes de sortie
En gnral les processus se terminent tous seuls lorsquils ont termin leur tche.
Certaines commandes pourraient pousser lutilisateur fermer lapplication, par
excutant la commande a : q depuis vi.
De nombreux processus peuvent tre interrompus laide de la commande Ctrl-C, qui
envoie un signal dinterruption (INT) au processus. Le processus est ferm
proprement , ce qui veut dire que les processus enfants sont termins les premiers et
que les oprations I/O en cours sont acheves. Ceci est vrai pour les processus recevant
un signal de terme (TERM) de la commande kill.
Si un processus ne rpond pas un signal TERM, peut tre utilis. Ce dernier risque
tout fois de ne pas terminer proprement le processus. Il est recommand de ne pas
utiliser le signal KILL en premier recours pour terminer un processus. De nombreux
nophytes utilisent KILL car il provoque presque toujours une fin anormale du
processus.cette manuvre peut cependant provoquer des problmes car elle peut
engendrer la cration de processus zombie et la perte de donnes.

Page N 101

Linux : Principes de Base

Elies JEBRI

Modifier la priorit de programmation du processus


Au moment de lancer le processus
Syntaxe
nice [-n adjustment] command
Les processus sont programms avec une priorit par dfaut de 0
La valeur de priorit schelonne de -20 (plus haute priorit) 19 ( la plus basse)
Modifier la priorit du processus au lancement
La commande nice peut tre utilise pour lancer un excutable en modifiant la
priorit programme. ( Rappelez-vous que des utilitaires comme top peuvent tre
utiliss pour dterminer quels processus monopolisent les ressources du systme).
La commande nice ne peut tre utilise quau lancement dun processus.
Sans loption n, nice utilisera une valeur de 10.

Modifier la priorit de Programmation du processus


Suite
Changer la proprit dun processus en
Cours
Syntaxe
Renice # [ [ -p | -g] PID]

[ [-u ]user]

# est la valeur d la priorit est


Augmente, un utilisateur non privilgi
ne peut pas la diminuer
modifier la priorit d un processus en cours
loption p est le dfaut et nest ncessaire quaprs loption u user . Exemple :
renice 3

-u

doug

-p 7134

tablit la priorit de tous les processus de lutilisateur doug ainsi que le processus 7134 3
loption p ne modifie que la priorit des processus numrs et garde intacts les enfant . loption
-g modifie la priorit dun groupe entier .

Excuter un processus au premier


Page N 102

Linux : Principes de Base

Elies JEBRI

Plan
Lorsquune commande est saisie, le shell
Ne lancera aucun autre processus avant Que celui qui en cours ne soit termin et
Que linvite du shell saffiche

Le typeahead buffer vous permet


Dentrer dautres commande ,mais elle
ne seront pas traites avant la fin ou le "retour" du processus en cours
Multitche la ligne de commande
Lorsquun processus est dmarr depuis la ligne de commande dun terminale, il est
gnralement excut en premier plan .le processus peut tre interrompu, relanc en arrireplan ou termin. Ces manuvres sont appeles "job control ",le control de travail.
Le contrle de travail est souvent ncessaire sur les systmes bass sur du texte o il est
impossible douvrire autre fentre terminale. Sous X, il est rarement utilis car il
Est extrmement facile douvrir une fentre terminale.

Excuter un processus en arrire-plan


Excuter une commande en arrire plan
Permet un autre processus d tre
Excut simultanment sur le mme terminal
Lancez un programme en tant que processus darrire-plan en ajoutant une
Esperluette (&) la fin de la commande
Processus en arrire plan
Un processus en arrire plan est toujours lenfant des processus qui lont gnr. Le processus
parent nattend pas que le processus enfant termine pour se poursuivre .
Excuter des processus est lancer en arrire plan peut provoquer une saisie standard est une erreur
standard est peut souvent le reconduire.
Lorsquun processus est lanc en arrire plan, un nouveau sous shell BASHest cr.
Le programme bash est ensuite remplac par la commande en cours d excution(la ramification
exec).comme tous les autres processus d arrire plan peuvent tre tus laide de la commande
KILL(dont nous parlerons plus tard dans cette mme leon )

Suspendre un Processus
Page N 103

Linux : Principes de Base

Elies JEBRI

Les travaux entams au premier plan


Peuvent tre suspendus ils peuvent tre
Repris larrire plan (bg)
Repris au premier plan (fg)
Tus (KILL)

Suspendre un processus de premier plan


Dans une fentre terminale avec ctrl-z.
Suspendre un processus
Appuyer sur ctrl-z pour envoyer un signal au processus de premier plan suspendre. La
commande stty, consulter la documentation en ligne.

Afficher une liste des travaux en arrire-plan et suspendus


La commande jobs affiche tous les processus excuts en arrire-plan ou suspendus.
Le chiffre entre parenthses est le numro du travail, utilis pour tuer les travaux ou les
ramener au premier plan.
Les numros de travaux sont exprims en %
Afficher vos travaux
La commande jobs reporte galement le statut des processus suspendus et excuts en
arrire-plan.
Lidentificateur de travail report peut tre utilis avec dautres commandes pour grer
le processus.
[bob@station2 guru] $ jobs
[1] + Stopped
[2] - Running
[bob@station2 guru] $

man bash
find / -mane joe >output 2>&1 &

Page N 104

Linux : Principes de Base

Elies JEBRI

Rependre des travaux suspendus

Lorsquune commande est suspendue ou mise en arrire-plan, elle peut tre ramene
au premier plan avec fg.

Syntaxe
Fg [job number]

Rependre des travaux en arrire-plan


Lutilisation dune combinaison Ctrl-Z,bg est souvent utile lorsque lutilisateur a oubli
de dmarrer un processus en arrire-plan. Les commandes suivantes placeront par
exemple le processus find en arrire-plan :
Prompt $ find / -name '*.ps' 2> /dev/null >ps.out
^z
prompt$ bg % 1
Le chiffre 'l' ci-dessus se rfre lidentificateur de travail numro un ( lidentificateur de
travail peut varier dil y a ou non dautres travaux. Si vous avez un doute, utilisez la
commande jobs pour vrifier le numro didentification du travail ).

Page N 105

Linux : Principes de Base

Elies JEBRI

FIN DE LA LEON 9
Questions et rponses
Rsum
Dfinir un processus
Etats de processus
Gestion de processus
Contrle de travail
Fichiers importants tudis au cours de cette leon :
Commandes importantes tudies au cours de cette leon :
Kill
Killall
Bg
Fg
Nice
Renice
Ps
Top
gtop

Page N 106

Linux : Principes de Base

Elies JEBRI

EXERCICES DE LA LEON 9

Contrle de processus
Dure approximative :30 Minutes
Objectif :

Apprendre utiliser les diffrentes commandes de contrle de processus.

Configuration de dpart : Un systme Red Hat Linux install et fonctionnant. Un compte utilisateur
nom student, et le mot de passe student.

Squence 1 : Contrle de processus


Mise en situation :
Dans cette squence vous lancerez plusieurs processus puis vous utiliserez les fonctions de contrle de
travail du Shell bash pour les grer et les contrler. Vous commuterez dune console virtuelle lautre.
Veillez soigneusement noter quelle console est utilise avec quelle commande.
Tches :
Commencez par vous inscrire sur les terminaux virtuels et 2 (ttyl, tty2) en utilisant le compte
student.
Passez tty1 (CTRL+ALT+F1) et dmarrez un processus laide de la commande suivante :
$ (while true ; do echo n A >> log; sleep 1; done)
Notez que ce terminal est dsormais utilise par votre processus (excut en premier plan). Le
processus que vous avez lanc ajoute la lettre " A" de faon rpte une seconde dintervalle
au fichier ~/ log. Pour affichez, passez tty2 (CTRL+ALT+F2) et excutez :
$ tail f log
vous devriez voir une squence de caractres "A" qui sallonge.
Passez tty1et interrompez le processus en cours dexcution en appuyant sur CTRL+Z sur cette
console. Le Shell reporte que le processus t arrt et vous donne un numro de travail [1]
pour le travail. Passez tty2 et vrifiez visuellement que le fichier naugments plus.
Passez tty1et lancez nouveau le processus, cette fois en arrire-plan. Utilisez jobs pour montrer
que le travail [1] est en cours dexcution. Enfin, passez tty2 et vrifiez visuellement que le
fichier grossit nouveau :
$ bg
$ jobs
Passez tty1 et lancez deux autres processus laide des commandes suivantes. ( La premire
commande est presque identique celle que vous avez excute dans la deuxime tape. Pour
rappeler la commande, utiliser la flche vers le haut, changez "A" en "B", puis ajoutez
lesperlute la fin. La seconde commande excute la premire, remplaant "B" par "C").
$ (while true ; do echo n B >> log; sleep 1; done) &
$ ^B^C
Entrez jobs et vrifiez que tous les trois sont en cours. Passez tty2 et vrifiez que le fichier
augmente de nouveau, ajoutant cette fois "A", "B", et "C" chaque seconde.
Dans ltape 4, vous avez interrompu le processus de premier plan en appuyant sur CTRL+Z. En
ralit vous avez envoy un message au processus. Utilisez Kill pour afficher une liste de
Page N 107

Linux : Principes de Base

Elies JEBRI

signaux avec leur nom et numro respectif. Utilisez ensuite Kill pour envoyer un SIGSTOP au
travail [1] pour le suspendre. Passez tty1 et excutez :
$ kill -1
$ kill -19 %1
Entrez jobs et vrifiez que le travail [1] apparat comme arrt. Passez tty2 et vrifiez
visuellement que le travail [1] est arrt.
Relancez le travail [1] laide de kill pour lancer un SIGCONT (18) au processus. Utilisez la
commande jobs et tty2 pour vrifier que les trois travaux fonctionnent nouveau (Remarque :
si vous avez besoin daide pour la syntaxe, consultez ltape 8)
Tuez (kill) les trois processus. Si vous ne spcifiez pas de signal envoyer, kill enverra par dfaut
SIGTERM (15). Lutilisation de SIGTERM terminera la plupart des programmes. Aprs avoir
signal les travaux [2] et [3], utilisez jobs pour vrifier quils sont termins :
$ Kill %2 %3
$ jobs
Pour terminer le processus final :
$ fg
$ CTRL+C
Entrez jobs et vrifiez quaucun travail nest affich. Passez tty2 et vrifiez visuellement que
lactivit sest arrte. Arrtez la commande tail en appuyant sur CTRL+C, et dconnectezvous de tty.
Passez tty 1 et nettoyez en effaant le fichier ~/ log .

***Fin de la Squence 1***

Page N 108

Linux : Principes de Base

Elies JEBRI

LEON 10

Le Shell bash
Objectifs :

En apprendre plus sur les shells disponibles


En apprendre plus sur la configuration des shells
Comprendre les divers fichiers de dmarrage
En apprendre plus sur les scripts shell
Thmes abords :

Shells
Configuration des shells
Fichiers de dmarrage du shell
Scripts shell

Page N 109

Linux : Principes de Base

Elies JEBRI

Introduction au shell bash


Bourne Again Shell
Dvelopp pour le projet GNU
Shell Linux standard de facto
Compatible en amont avec le Shell Bourne (sh) le Shell Linux original (standard)

BASH
Le nom <<Bourne Again Shell>> nest quun exemple des noms humoristiques souvent attribus
dans le cadre du projet GNU. Dailleurs, le terme <<GNU>> lui-mme est aussi employ
rgulirement en tant quacronyme de << GNUs Not Unix>> ,soit GNU nest pas UNIX.

Hritage de bash
Shell Bourne (sh) shell original dUNIX, crit par Steven Bourne de AT&T.
Shell C (csh) crit par Bill Joy de Berkeley
Ajouta de nombreuses fonctions, telles que lachvement de commandes, lhistorique et le
contrle des travaux .

Le Shell C
Le nom Shell C a t choisi du fait que son langage semblable au langage de
programme C . comme la plupart des programmeurs UNIX de lpoque programmaient
en C, Bill Joy sest dit quil serait beaucoup plus facile pour rux dutiliser un langage de
scripts Shell similaire au langages de dveloppement dapplications quils utilisaient .

Hritage de bash (suite)


Shell Korn ( ksh) crit par David Korn de AT&T
Met en uvre de nombreuses fonctions csh, telles que lachvement de commandes et
lhistorique .
Shell C amliore (tcsh) un effort de groupe de toute la communaut
Plus de fonctions ,telles que ldition de lignes de commande et un systme dachvement
plus sophistiqu

Tcsh
Le Shell C amlior est un Shell trs utilis. En fait ,il sagit du deuxime Shell le plus utilis, bash
tant le premier. Il comprend de nombreuses fonctions innovatrices, telles que la correction
orthographique de commandes et de fichiers.

Hritage de bash (suite)


Bourne Again She (bash)
Appliqu un grand nombre des nouvelles fonctions que lon retrouve dans csh ,Ksh et tcsh.
Page N 110

Linux : Principes de Base

Elies JEBRI

Achvement de lignes de commande


Edition de lignes de commande
Historique des lignes de commande
Contrle perfectionn des invites

Version 1 .x de bash vs version 2.x


Les versions prcdentes de Red Hat Linux utilisaient la version Lx de bash en tant que Shell par
dfaut et comprenaient la version 2 en tant que paquetage RPM spar .Red Hat Linux 7.0 a adopt la
version 2.x de bash en tant que Shell par dfaut.
Utilisez lune des deux mthodes suivantes pour savoir quelle version de bash est excute :
Appuyez sur CTRL+X puis sur CTRL+ V une invite du Shell bash
Ou
$

chu $ BASH VERSION

variables du Shell
Les donnes des scripts Shell et des rglages denvironnement sont stockes sous
forme de variables.
Par convention, on nutilise que des majuscules.
Rglage de la valeur dune variable :
$ FAV COLOR = bleu
Pour rcuprer la valeur dune variable, utilisez un $ devant le nom de la variable :
$ cho $ FAV _ COLOR bleu

variable du Shell
les variables du Shell peuvent tre utilises de nombreuses faon :le Shell bash les utilise comme
information de configuration .Par exemple ,lhistorique des lignes de commande est contrle par
les variables du Shell suivantes :
HISTFILE =/ home / student /. Bash _history
HISTFILESIZE = 1000
HISTSIZE =1000

Variables du Shell et variables denvironnement


Les variables du Shell nexistant que dans linstance du Shell courant.
Les variables denvironnement sont passes aux gestionnaires de commandes secondaires.
Les variables du Shell peuvent tre exportes dans un environnement.
$ EDITOR = / bin / vi
$ export EDITOR
Page N 111

Linux : Principes de Base

Elies JEBRI

Variables denvironnement
Les variables denivrement sont utilise par des programmes excutes depuis le Shell .Par
exemple, la variable EDITOR est utilise par un certain nombre de programmes ayant besoin
dappeler un diteur de texte pour lutilisateur .Le rglage de cette variable permet aux
utilisateurs demployer leur diteur de texte prfre pour un certain nombre de programmes par
dfaut.
Bash prend en charge une forme e syntaxe condense pour la cration de variables
denvironnement.
Lexemple qui suit fonctionne sous bash et est quivalent aux deux instructions donnes cidessus :
$ export EDITOR = /BIN /vi
pour << effacer>> la valeur dune variable denvironnement,vous navez qu laisser la chane
vide :
$ export EDITOR=

Variables denvironnement couramment utilises


HOME Chemin daccs au rpertoire personnel de lutilisateur.
PATH Chemin daccs de recherche excutable : liste de rpertoires dans lesquels chercher
des programmes.
LANG Identification de la langue que les programmes doivent utiliser par dfaut (ex. :
en pour anglais).
LINES Lignes de texte disponibles sur le terminal courant ou la fentre du terminal.

Chemin daccs de recherche excutable


La variable denvironnement PATH procure une liste de chemin daccs UNIX spars par des deuxpoints.
Par exemple, si vous entrez echo $ PATH la commande, vous devriez obtenir une sortie qui
ressemble ceci :
$ echo $ PATH
usr/bin:/bin:/usr/X11R6/bin:/usr/local/bin:/usr/local/java/bin

$ mkdir $HOME/files
$ 1s -1d $ HOME/files
$ drwxrwxr x
2 joe

joe

4096 oct 16 07:08 /home/joe/files

Page N 112

Linux : Principes de Base

Elies JEBRI

Variables denvironnement couramment utilise (suite)


Columns colonnes de texte disponibles sur le terminal courant ou la fentre du terminal.
PS1 Dfinition de lapparence de linvite de commande.
EDTOR - Editeur par dfaut que les programmes doivent appeler pour ldition de texte.
Personnalisation des invites de bash
Le variable Ps1 permet de contrler quoi linvit de commande doit ressembler et peut contenir des
caractres dchappement spciaux :
[joe@barney
~] $ echo $ PS1
[\ u@\h\w]\ \$

Voici une liste de quelques-unes des squences dchappement quil vous est possible dutiliser pour
formater votre invite :

\d
\h
\H
\l
\s
\t
\T
\@
\u
\w
\w
\!
\\

La date en format jour de lasemaine et mois (ex. : Tue May 26


Le nom dhte jusquau premier.
Le nom dhte
Le nom de base du nom de lunit dentre/sortie du shell
Le nom du shell, le nom debase de $0, la portion suivant la barre oblique
finale
Lheure actuelle en format 24 heures (HH :MM :SS)
Lheure actuelle en format 12 heures (HH :MM :SS)
Lheure actuelle en format 12 heures am/pm
Le nom dutilisateur courant
Le rpertoire de travail courant
Le nom du base rpertoire detravail courant
Le numro dhistorique decette commande
Une barre oblique inverse

UTILISATION DE WHICH
La commande which indique le chemin D accs d un fichier excutable
Lorsqu une commande est entre :
S which xboard
/usr/local/bin/ xboard

Page N 113

Linux : Principes de Base

Elies JEBRI

La commande which effectue une recherche dans les rpertoires numres par votre variable PATH
pour trouver des fichiers excutables correspondants , Lorsqu elle trouve un , elle affiche le chemin d
accs du systme de fichier menant l excutable .
Notez que la commande which ne donne que des informations concernant le chemin d accs d
excutables contenus dans le chemin d accs courant .Par exemple ,la commande which passwd
affiche
/ usr /bin / paaswd, mais n affiche pas /etc./ passwd

EXPANSION de lignes de commande

HISTORIQUE(!)
Permet de remplacer des commandes prcdentes dans la ligne de commande.
$ !cp/less
Tilde(~)
Peut faire rfrence votre rpertoire personnel .
cat. ~/. Bash profil.
Peut faire rfrence au rpertoire personnel d un autre utilisateur.
$ ls ~Julie /public htm
fonctions avances du Shell
Nous destruction davantage de lexpansion de l historique un peu plus loin dans cette
leon .
La fonction d expansion tilde(~)a t emprunte au Shell Cet fait en sorte qu il est facile
de rfrencer des fichiers et des rpertoires l intrieur de votre rpertoire personnel ou
de celui d un autre utilisateur.

Paramtre /variable : ( $)
Remplacer la valeur une variable dans une ligne de
commande.
$ cd $HOME/ public htm

accolades { }
Crent une chane pour chaque modle l intrieur des
accolades , qu un fichier existe ou non .
$ rm hello . {c, o}
Les accolades provoquent lexpansion afin de crer les modles de chane qu elles
dcrivent . Exemple :
$ echo {a , b}
a b
$ echo x (a, b)
xa xb
$
echo x ( , b)
x xb
$ CP file . txt ( ,- Save)
Page N 114

Linux : Principes de Base

Elies JEBRI

CP file . txt file . txt- Save


Les accolades sont pratiques pour gnrer des chanes arbitraires . Autre exemple :
( guru@station4 guru)$ mmkdir -p work/( inbox, out box, pending) /( normal, urgent,
important)
(guru@station4 guru) $cd work/
(guru@station 4 work) $ ls al
total 20
drwxrrwxr- 5guru
guru
4096oct 17 15 :54
drwx------25guru
guru
4096oct 17 15 :54
drwxrwrx-x 5 guru
guru
4096oct 17 15 : 54 inbox
drwxrrwxr
5 guru
guru
4096oct 17 15 : 54 out box
drwxrrwxr
5guru
guru
4096oct 17 15 : 54pending
(gur@station4 work)$ cd inbox
(guru @station4 inbox) $l -al
total20
drwxrwrx-x
5 guru
guru
4096 oct. 17 15 :54
drwxxrwwxr-x
5guru
guru
4096oct 17 15 :54
drwwxrrrwxr-x
2guru
guru
4096oct 17 5 :54important
drwxrwwxr-x
2guru
guru
4096oct 17 15 :54normal
drwxrwrx-x
2guru
guru
4096 oct17 15 : 54urgent

Sortie de commande ou $()


Remplacer la sortie par une commande dans une ligne de
commande.
$echo hostname : hostname

Arithmtique -$()
Remplace le rsultat dune expression arithmtique
dans une ligne de commande
Echo Area : $ ( $x *$y)
Lexemple de remplacement de la sortie de commande donne ci-dessous aurait aussi pu tre
crit de la faon suivante
La methode traditionnelle (Shell Boune) pour faire des oprations arithmtiques
dans une ligne de commande du Shell consistait utiliser la commande expr et le
remplacement de la sortie de commande
$ echo Area : expr $x* $y

Expansion du chemin d accs -* ?


Utilisation de caractre gnrique sur des fichiers
EXEMPLE : ls-al /dev/fd*
* - concordance avec toute chane de caractres
? - concordance avec n importe quel caractre
Page N 115

Linux : Principes de Base

Elies JEBRI

[] - concordance avec tout caractre situe l


intrieur
L expansion du chemin d accs permet bash de remplacer les caractres gnriques par des
caractres ou des chanes de caractres . Examinez l exemple d expansion de caractres
gnriques suivant
$ ls al /dev/hda*
brw-rw---- 1 root
disk
3, 0Aug 24 03 :00 /dev/hda
brw-rw---- 1 root
disk
3, 1Aug 24 03 :00 /dev/hda1
brw-rw---- 1 root
disk
3, 2Aug 24 03 :00 /dev/had2
brw -rw---- 1 root
disk
3, 3Aug 24 03 :00 /dev/had3
brw-rw---- 1 root
disk
3, 4Aug 24 03 :00 /dev/had4
$ Is al /dev/hd ?
brw-rw---- 1 root
disk
brw-rw---- 1 guru
disk
brw-rw---- 1root
disk
brw-rw---- 1root
disk
brw-rw---- 1root
disk

3,
3,
22,
22,
33,

0Aug 24 03 :00 /dev/hda


64Aug 24 03 :00 /dev/hdb
0Aug 24 03 :00 /dev/hdc
64Aug 24 03 :00 /dev/hdd
0Aug 24 03 :00/dev/hde

$Is al /dev/hd[ab]
brw-rw---- 1root
brw_rw---- 1guru

disk
disk

3, 0 Aug 24 03 :00 /dev/hda


3, 65 Aug 24 03 :00 /dev/hdb

Protection contre lexpansion


Les guillemets offrent une isolation contre lexpansion.
Les guillemets simples (') font en sorte que tout soit littral.
$ echo ' $*[ ] '
$*[]
Les guillemets doubles ('') font en sorte que tout soit littral, sauf $, ` (guillemet inverse) et \
(barre oblique inverse).
$ echo Home dir : $ HOME

Dans de nombreux cas, lutilisation de guillemets simples ou doubles donne des rsultats
identiques, ce qui fait croire certains utilisateurs que ces deux faons dchapper
lexpansion sont identiques. Faites attention car ce nest pas le cas ! Comme nous lavons
expliqu dans la diapositive ci-dessus, les deux mthodes sont diffrentes. Jetez dailleurs un
coup dil lexemple suivant qui illustre bien ce concept :
$ echo The current date is `date`
The current date is Mon Oct 16 08:34:28 MDT 2000

Page N 116

Linux : Principes de Base

Elies JEBRI

$ echo ' The current date is`date' `


The current date is `date'

Protection contre lexpansion (suite)


La barre oblique inverse (\) est le caractre dchappement et fait en sorte que le caractre
suivant soit littral.
$ echo Your cost : \ $5 . 00
Elle est aussi utile pour vous permettre dcrire une ligne de commande unique sur
plusieurs lignes.
$ Is -1 \ grep ^d \
cut -c17 25 \ sort \ less
La protection des caractres contre lexpansion laide de la barre oblique inverse (\) est trs
importante pour certaines oprations, telles que la commande find :
$ find / -name foo*
Si vous utilisez la commande ci-dessus, bash effectue lexpansion du caractre *. Toutefois,
dans ce cas-ci le caractre a une signification spcification spcifique pour find ; lexpansion
pourrait ainsi briser la commande find et provoquer quasi certainement un rsultat indsirable.
Pour viter tout cela ,il faut avoir recours la barre oblique inverse \ , qui permet dchapper
lexpansion du *.
$ find / -name foo\ *

Utilisation de nohup

Utilisez nohup pour lancer un processeur en tche de fond qui se poursuit aprs la fermeture de
votre session.
$ nohup tar-cvf sourcee.tar / opt/src& $ exit

Par dfaut, la sortie des travaux de nohup est crite dans le fichier nohup.out.
Excution de processeur en tche de fond
Nohup commande excute la commande spcifie et lui fait ignorer les signaux darrt, de faon
ce que la commande puisse continuer de fonctionner aprs la fermeture de votre session.
Nohup augmente la priorit dordonnancement de commande par 5, de sorte
quelle ait un changement un peu plus petit excuter. Si la sortie standard est un terminal , celle
ci et lerreur standard sont rediriges afin dtre ajoutes au fichier nohup.out ; si ce dernier ne
permet pas lcriture, elles sont ajoutes au fichier $HOME/nohup.out. Enfin, ci ce fichier ne permet
pas lcriture non plus, la commande nest pas excute.
Page N 117

Linux : Principes de Base

Elies JEBRI

Nohup ne place pas automatiquement la commande excute en tche de fond ; vous devez donc le
spcifier de faon explicite, en finissant la ligne de commande par une esperluette & .

History-Rappel de commandes
Bash stocke un historique des commandes auxquelles vous avez eu accs et quil vous est possible
dutiliser pour rpter des commandes.
Utilisez la commande history pour visualiser les commandes enregistres. $ history.
Historique avanc
En plus du rappel de commandes de base effectu laide des flches de direction, le mcanisme
dhistorique de bash prend en charge toute une gamme de mthodes avances pour rcuprer des
commandes depuis la liste de lhistorique.
!!
!x
!n
!-n

- rptition de la dernire commande


- rptition de la dernire commande commenant par x
- rptition dune commande partir de son numro dans la sortie de lhistorique
- rptition dune commande entre n commandes plus tt

Utilisez la forme ^ ancien ^ nouveau pour rpter la commande prcdente dans laquelle ancien est
remplac par nouveau. Par exemple :
$ cp filter.c /usr/local/src/project
$ ^filter^frontend
cp frontend.c /usr/local/src/project
Enfin, vous pouvez appuyer sur CTRL+ r linvite de commande si vous souhaitez excuter une
recherche interactive dans lhistorique pour trouver une commande.

Commandes Composes

Liste de commandes spares par des points-virgules.


Liste entre parenthses ( ) pour excution dans un gestionnaire de commandes secondaire.
$ (cd /usr ;du cks*) &
Liste entre accolades pour excution dans le shell courant.
$ [grep jon messages ; echo Done ]&

Commande composes
Imaginions que vouliez garder le compte du nombre dutilisateurs connects, ainsi qune rfrence
temporelle de lheure et de la date dans un fichier. Cela peut se faire laide de deux commandes :
$ date >> logfile
Page N 118

Linux : Principes de Base

Elies JEBRI

$ who | wc l >> logfile


Cette squence de commandes requiert que vous entriez deux lignes de commande, que vous fassiez
lajout logifile deux fois et, de faon plus gnrale, que vous criviez plus quil nest ncessaire en
ralit. Lorsque vous crivez vers le terminal, vous pouvez simplifier cette tche en conjuguant les
commandes sur une seule ligne et en les sparant par points-virgules .Exemple :
$ date ;who | wc l
Cependant, si votre but est de rediriger lentre standard, vous nobtiendrez pas le rsultat escompt :
$ date ; who | wc l >>logfile
Les deux commandes sexcutent, mais seule la sortie de la seconde commande est redirige vers
logfile.
Un groupe pour gestionnaire de commande secondaire combine les commandes de faon ce
quelles soient traites comme une seule unit. Lorsquun groupe de commandes est plac entre
parenthse, un nouveau gestionnaire de commandes secondaire est activ et la sortie peut tre
redirige comme sil sagissait dune seule commande.
$ (date ; who | wc l ) >> logfile

Valeurs de retour des commandes


Les commandes du shell retournent 0 en cas de succs et dautres valeurs en cas derreur.
La variable $ ? contient la valeur de retour de la dernire commande excute.
$ mkdir / tmp/student/stuff
$ echo $ ?
0
Valeur de retour
De nombreux programmes utilisent diffrentes valeurs de retour en fonction de ce qui se produit
durant leur excution. Les pages de manuel offrent plus de dtails sur les valeurs de retour. Voici,
par exemple un extrait de la page de manuel de fsck, un outil servant vrifier les incohrences
des systmes de fichier au dmarrage :
The exit code returend by fsck is the sum of the flowing conditions :
-no errors
-file system errors corrected
-system should be rebooted
4
- file system errors left uncorrected
- oprational error
16 - usage or syntax error
- shared library error
The exit code returned when all file systems are checked using the A option is the bit-wise or of the
exit code for file system that is chesked.
Les excutables /bin/true/bin false sont souvent utilises shell (et dans dautres situations galement )
pour retourner de faon fiable des codes de sortie 0 et 1 respectivement.

Page N 119

Linux : Principes de Base

Elies JEBRI

Scripts dmarrage

Scripts de commandes excuts lorsque vous vous connectez.


Nombreuses utilisations :

Rglent lenvironnement ;

Etablissent des pseudonymes utiliss couramment ;


Excutent des programmes.

/etc / profile
Script de dmarrage pour lensemble du systme
Analyss par tous les utilisateurs ayant un shell bourne ou driv (c--d sh, ksh,
zsh,bash)
Rgle gnralement la varible PATH par dfaut, les limites dutilisateurs, de mme que
dautres variables et paramtres.
Bash napparat quavec un shell de connexion.
# /etc/ profile
#system wide environment and startut programs
#function and aliasesgo in /ETC/ bashrc
if ! echo SPATH | / bin|grep q /usr/ x11R6/bin ; then
PATH=SPATH | / bin ; then
Fi
Ulimit -s -c 1000000 > /DEV/null 2>&1
If [ id -gn = id un a id - gt 14 ] ; then
Umask 002
Else
Umask 022
Fi
USER=id -un
LOGNAME= SUSER
MALL= /var/spool/mail/SUSER "
HOSTNAME= /bin/hostname
HISTSIZE=1000
If

( -z SINPUTRC3 -A ! -f SHOME/ .inputrc ]; the

INPUTERC= / etc/inputerc
Fi
Export PATH USER LOGNAME MAIL HOSTNAME HISTSIZE INPUTERC
For I in /etc/profile.d/* . sh ; then
If [ -x si ] ; then
si

Page N 120

Linux : Principes de Base

Elies JEBRI

fi
done
uset i

/etc/bashrc
Dfinitions des alias et fonctions systmes.

/etc/profile .d
Red Hat place un certain nombre de scripts de dmarrage spcifiques des applications dans ce
rpertoire .
Scripts appels par une boucle for dans /etc / procdures de rglage des variables et dinitialisation
dexcution des scripts.
$ Is / etc / profile .d /
colorls .csh lang . csh less .csh mc. Csh pvm . csh
colorls . sh lang . sh less . sh mc . sh
pvm . sh

which-2 . csh xpvm. Csh


which-2 sh
xpvm . sh

$ cat / etc / profile . d/ colorls.sh


# color- Is initialization
CLORS=/etc/DIR_ CLORS
eval dircolors sh /etc/ DIR_COLORS
[-f $ HOME /. dircolors ] && eval dircolors sh $ HOME / .dircolors && COLORS = $HOME / .
dircolors
if echo $ SHELL grep bash 2> & 1 > / dev /null: then # aliases are bash only if ! egrep qi
COLOR .*none $ COLORS $ > / dev /null ; then
alias LL = Is 1- -color = tty
alias L. = Is 1s d . [a zA-Z ] * -- color = tty
alias Is = Is color = tty
else
alias II = Is 1
alias I. = Is d . [a AZ- Z ]*
fi
fi

Autres scripts de dmarrage


/ . bash_ profile
situ dans le rpertoire personnel.
Contient les personnalisations ou additions des commandes dans / etc / profile.
Analys uniquement par les shells de connexion
Page N 121

Linux : Principes de Base

Elies JEBRI

/ . basshrc
Situ dans le rpertoire personnel.
Excut par tous les shell.
$ cat .bash_profile
# . bash _profile
# Get the aliases and functons
if [ -f / . bashrc] ; then
. / . bashrc
fi
# User specific environment and startup programs
PATH = $ PATH :$ HOME / bin
BASH_ENV =$HOME /. bashrc
Export BASH_ENV PATH
unset USERNAME
$ cat . basshrc
# . bashrc
# User specific a dises and functions
# Source global definitions
if [-f /etc / bashrc ] ; then
./ etc / bashrc
fi
Bash _ logout
Situ dans le rpertoire personnel.
Excut lorsque vous sortez dun Shell de connexion.
Est utile pour excuter automatiquement des programmes lorsque vous terminez votre session.
Exemples dutilisations :
Faire des copies de sauvegarde de fichiers ;
Eliminer des fichiers temporaires.

Shells de connexion
Les shells de connexion sont les premiers shells lancs(c--d lorsque vous vous connectez)
Les shells lancs depuis un shell de connexion ne sont pas des shells de connexion.
Les shells de connexion rglent
Lenvironnement exports vers les autres shells( qui ne sont pas des shells de connexion.

Page N 122

Linux : Principes de Base

Elies JEBRI

Notions de base sur les scripts


Les scripts Shell sont des fichiers texte qui contiennent des commandes.
Les scripts Shell sont utiles pour :
Automatiser lentre de commande ;
Excuter ladministration du systme et le reprage de pannes ;
Cre des applications simples.
Un script sell est tout simplement un fichier texte contenant des commandes. Les scripts sont utiles
pour automatiser des processus que vous excutez de faon rpte la ligne de commande. Imaginez,
par exemple, que vous excutiez les oprations suivantes chaque matin lorsque vous vous connectez :
vrification de la date du systme ;
visualisation du mois courant laide du calendrier ;
vrification de votre courrier lectronique ;
affichage de la liste des utilisateurs.
Plutt que dentrer les commandes une par une pour excuter les taches 14, vous pourriez crer un
script sell contenant ces commandes. Ainsi, chaque matin vous nauriez qua entrer une seule
commande pour excuter ces 4 taches. Nous crerons prcisment un script pour raliser ce travail au
cours des prochaines pages.
Les utilisateurs UNIX qui ont un rle dadministration du systme et de reprage des erreurs utilisent
souvent les scripts selle. Un grand nombre de ces scripts sont cres de linstallation du systme
dexploitation.
Prenez par exemple les script/etc./profile. Il sagit du script de connexion pour lensemble du systme
qui sexcute chaque fois quun utilisateur se connecte au systme.Les utilisateurs chargs de
ladministration du systme et du reprage des erreurs utilisent souvent ce fichier lorsque doivent
rgler des problmes relis la connexion des utilisateurs.
Les programmeurs crent rgulirement des versions simplifiers de programmes laide de scripts lors
des phases initiales dun proet de programmation. Cette mthode est appele prototypage. Une fois les
programmeurs et les utilisateurs du programme satisfait des fonctions principales du programmes, les
programmeurs crent alors le programme dfinitif et toutes ses fonctions laide dun langage de
programmation tel que C.

Page N 123

Linux : Principes de Base

Elies JEBRI

Cration de scripts Shell


voici la marche suivre pour un script Shell :
utilisez un diteur de texte, tel que emacs , pour crer le
fichier texte devant contenu les commandes.
Faites en sorte que le script soit excutable.
Pour excuter le script :
Placez le fichier du script dans un rpertoire dans le chemin
daccs excutable ou ;
Spcifiez le chemin daccs absolu ou relatif du fichier sur la
ligne de commande.
Les scripts sell contiennent dhabitude une commande par ligne, mais il peut y en avoir plus si vous
les sparez des points-virgules( ;). Le caractre de rptition pour bash est la barre oblique inverse
suivie dune nouvelle ligne. Pour ce faire, appuyez sur la touche/ et ensuite sur la touche Entre depuis
la plupart des claviers. Cela vous permet de saisir une commande qui sentend sur plusieurs lignes.
Assurez-vous que le script est situ dans un rpertoire faisant partie de la liste donne par la variable
denvironnement PATH. Vous navez qu entrer la commande suivante pour vrifier :
Echo SPATH
Si le script nest pas situ dans un rpertoire faisant partie de la liste donne par la variable PATH,
mettez le dans un rpertoire qui en fais partie (tel que, par exemple, SHOME/bin) ou spsifiez le
chemin daccs absolu sur la ligne de commande lorsque vous excutez le script :
/hom/user/mytestscript
./mytestscript

Faire en sorte quun script soit excutable


Changer les autorisations du fichier.
$ chmod a+x myscript.sh
Assurez- vous que la manire ligne contient magic(# !).
#!/ bin/sh
contient le nom du sell (interprteur) utiliser pour analysez le
script.
Aprs avoir cr le script laide dun diteur de texte et lavoir enregistr, vous devez changer les
autorisations du fichier du script afin quil devienne excutable (notez que les scripts doivent aussi tre
lisibles pour tre excuts, de manire ce que le sell puisse lire le script et linterprter en code
excutable ). Si vous ts propritaire dun script (appel script file) et souhaitez qu il soit excutable,
entrez la commande suivante :
chmod u+x script file

Page N 124

Linux : Principes de Base

Elies JEBRI

Gnration dune sortie


utilisez echo pour gnrer une sortie simple. echo "welcome to linux paradise!"
utilisez printf pour gnrer une sortie formate.
printf "the result is %.2f/n" $RESULT

syntaxe semblable la fonction print() de c.


la fonction print fournit plus de flexibilit pour le formatage de la sortie que la commande echo.
Contrairement echo, printf ne fournit pas une nouvelle ligne. Cela vous permet ainsi davoir
plusieurs instructions printf sappliquant une ligne , lors de situations de formatage plus complexes.
Vous devez utiliser la squence dchappement/n si vous avez besoin dune nouvelle ligne.
La valeur format string peut etre compose de caractres littraux, de chaines de contrle de formatage
et doptions supplmentaires. Les chaines de contrle de formatage.sont construire sur le modle %
largeur. Prcision suivi par bune lettre de contrle de formatage.la valeur largeur spcifie la largeur de
champs minimum .La valeur prcision tablit la nombre de chiffre afficher aprs le point dcimal
pour les nombres affichs en notatiion scientifique .Dans le cas de chanes de caractres, prcision
tablit le nombre maximum de caractere afficher. Voooici quelques-unes des lettres de contrle de
formatage existance :C- caractre ,i nombre dcimal ,e- notation exponentielle, s- chaine).
Exemple :
# ! /bin / sh
var l = "Testing"
var 2= 12345
printf "var1 is %10 .5s\ n" $ var1
printf "var1 is %7.7s\ n" $ var1
printf "var2 is %5.5e\ n" $ var2
printf "var3 is %2.1e\ n" $ var2
sortie
var1 is
Testi
var1 is Testing
var1 is 1.23450 e +04
var1 is 1.2e+04

Manipulation dune entre


utlisez la commande read pour attribuer une valeur dentre une variable du shell.
Echo -n "Enter your age : "read AGE

La commande Read prend une ligne depuis lentre standard et la divise en mots (normalement
,un mot se dfinit par une chane de caractres entoure despaces blancs aux extrmits ). Le
premier mot est assign var1 , le deuxime var2 et ainsi de suit .Sil y a de variable ,la
dernire variable se voit assigner tous les mots restants. Loption p est utilis pour afficher
une chane dinvites. Mettez la chane entre guuillements si vous besooin de prsenter
lutilisateur une commande ayant plusieurs mots.
Exemple :
# ! /bin / sh
Page N 125

Linux : Principes de Base

read
echo
echo
echo

Elies JEBRI

- p "Enter several values: " valeu1 value2 value3


valeu1is $value1
valeu2is $value2
valeu3is $value3

Excution conditionnelle laide de linstruction If:


Les instruction logique conditionnelles valuent des expressions test et excutent
diffrentes actions en fonction du rsulta t obtenu.
La structure de contrle if ,then, else, fi est une des faons disponibles pour
appliquer une excution conditionnelle.
La forme de base de linstruction if est la suivante :

If condition
Then
commande(s)
Else
Alt commande (s)
Fi
Si lexpression test vraie ,alors les commandes indiques pares then sont executes .Dans le cas
contraire ,ce sont les commandes indiques aprs else qui sont excutes.
Exemple :
# / bin / sh
read - p "Enter a password" $ pwd entered
if ["$ pwd entred "= " password " ]
then
echo password is correct
else
echo password is incorrect
fi

Excution conditionnelle laide de linstruction case


Lutilisateur de linstruction case est une autre mthode disponible pour appliquer
une excution conditionnelle
Il est possible de reprsenter une srie dinstructions if -then else de faon concise
laide dinstructions case.
La forme de base de linstruction case est la suivante :
Case expression in
Motif 1 )
Instructions ; ;
Page N 126

Linux : Principes de Base

Elies JEBRI

Motif 1 )
Instructions ; ;
*

)
Instructions ; ; # action de case par dfaut

Esac
Si lexpression correspond lun ou lautre des motifs ,alors les instructions qui suivant le motif sont
excutes.
Exemple :
# ! /bin / sh
read - p "Enter a password " $ pwd entered
case $ pwd enterd in
password 1)
echo you enterd password ;;
pattern2 )
echo yoou enterd password 2 ;;
easc

Boucle for
La structure de la boucle for est une mthode servant excuter des commandes rptition pour une
liste de valeurs .Voici sa syntaxe :

For variable in liste-de valeurs


do
commandes
done
les valeurs sont gnralement des chanes .Le bouclage se poursuit tant que la liste de valeurs nest pas puise.

Exemple :
# ! /bin/ sh
read - p "enter several words" words entered
clear
echo the words you entered are:
for word in $ words entered
do
echo $word
done

Boucle while
La structure de la boucle while est une mthode trs utile servant executer un
ensemble de commandes lorsuune des conditions demeure vraie .Sa syntaxe est :
While condition
Page N 127

Linux : Principes de Base

Elies JEBRI

Do
Commandes .
Done

Le script suivant fait appel une boucle qui sexcute sans relche tant que vous
nentrez pas le bon mot de passe ,qui est opensesame (ssame ouvre-toi !).
Exemple :
1. crez le script ci-dessous .Enregistrez le sous le nom while test .Faites en sorte
quil soit excutable et essayez-le.
# ! /bin/ sh
read p " Enter a password " pwd entered
clear
while ["$ pwd enterd "! = " opensame" ]
do
echo sorry ,try again
read - p "Enter a password" pwd entered
done
echo Correct password entered

Boucle unti1
La boucle until ressemble la boucle while, sauf que le bouclage se poursuit jusqu ce qu une
condition savre vraie.

Until condition
Do
Commandes
Done

La structure until est loppos logique de linstruction while.

Page N 128

Linux : Principes de Base

Elies JEBRI

Utilisation de paramtres de position


Les paramtres de position sont des variables spciales qui transmettent les arguments
ligne de commande au script.
Les paramtres de position sont diponibles via les valeurs $ 1 ,$ 2 , $ 3, etc.
$* transmet tous les arguments de la ligne de commande.
La plupart des commandes et des scripts peuvent excuter diffrentes tches , en fonction des
arguments fournnnis au programme.
Exemple :
# !/ bien/ sh
echo the first command line argument is $1
echo the second command line argument is $2
echo the third command line argument is $3

Conseils pour lutilisation de lhistorique


Utilisez les flches de direction pour faire dfiler les commandes prcdentes.
Entrez CTRL-R pour effectuer la recherche dune commande dans lhistorique
des commandes.
(reverse-i-search)
Utilisez ESC. Ou ALT. Pour rappeler le dernier argument de la commande
prcdente.
Historique
Lhistorique reprsente un outil formidable pour amliorer votre productivit. En effet, les utilisateurs
de linux qui prennent lhabitude de se servir de lhistorique emploient le shell de faon beaucoup plus
efficace et rapide.
Vous pouvez ignorer les commandes rptes en double, de mme que les lignes rptes qui ne
diffrent quau niveau des espaces les prcdent, en ajoutant ce qui suit votre fichier. bashrc.
Export HISTCONTROL=ignoreboth

Conseils pour lutilisation de lachvement de commandes


Entrez TAB pour complter des lignes de commande.
Bash complte des commandes et des noms de fichier.
$ xboa<TAB>
$xboard
Personnalisation de lachvement de commandes
Vous pouvez configurer lachvement de commandes de faon ignorer certains fichiers. Par exemple, pour ignorer les
fichiers se terminant par .bak, ajoutez la liogne suivante votre fichier .bashrc.

Export FIGNORE= !.bak !

Page N 129

Linux : Principes de Base

Elies JEBRI

Conseils pour ldition de lignes de commande


CTRL-A dplace le curseur en dbut de ligne.
CTRL-E dplace le curseur en fin de ligne.
CTRL-K limine tout jusqu la fin ded la ligne.
ESC suivi de f dplace le curseur au dbut du mot suivant.
ESC suivi de b dplace le curseur au dbut du mot prcdant ou courant.

Edition de ligne de commande


La conjugaison de ldition de lignes de commande et de lhistorique est un excellent moyen pour
modifier des commandes qui ont t excutes prcdemment. Les combinaisons de touches par
dfaut sous bash sont les mmes que celles de lditeur de texte emacs ; des combinaisons de touches
de style vi sont galement disponibles.

Conseils pour ldition de lignes de commande (suite)


Par dfaut, bash utilise des combinaisons de touches detype amacs pour
ldition de lignes de commande.
Entrez set-o vi pour changer et adoptre des combinaisons de touches de type vi.
Si vous dsirez vi par dfaut, ajoutez la commande ci-dessus $HOME/.inputrc
Combinaisons de touches
La plupart des utilisateurs prfrent les combinaisons de touches de style emacs. Toutefois, les mordus
de vi prfrent bien entendu les combinaisons de touches de style vi. Si vous optez pour ce monde, les
commandes ont un comportement modal, comme si vous tiez sous vi.

Page N 130

Linux : Principes de Base

Elies JEBRI

FIN DE LA LEON 10
Question et rponses
Rsum

Fichier important tudis au cours de cette leon :


/etc/profile
/etc/bashrc
/ . bashrc
/ . bash_profile
Commandes importantes tudies au cours de cette leon :
Sh
Bash
Csh
Ksh
Tcsh
Which
Nohup

Page N 131

Linux : Principes de Base

Elies JEBRI

EXERCICES DE LA LEON 10
Le shell bash
Dure approximative : 45 minutes
Objectif : Dvelopper vos aptitudes en matire de personnalisation du shell bash et de cration de
pseudonymes personnaliss.

Squence 1 : utilisation de pseudonymes


Mise en situation :
Crez et testez un pseudonymes shell, puis installez-le dans / . bashrc.
Tches :
1. Vous avez dcid de crer un pseudonyme ( alias ), de faon ce que le systme excute la
commande clear pour librer lcran lorsque vous entrez cls. Dabord, connectez-vous en tant
quutilisateur student sur le tty1, ensuite entrez et testez votre pseudonyme.
$ alias cls=clear
$ alias
$ cls
2. Ce pseudonyme nest pas enregistrer et par consquent, sera perdu si vous terminez votre
session et vous connectez de nouveau. Aussi , pour vous assurer que ce pseudonyme est
disponible chaque foi que lutilisateur student se connecte, excutez les tapes suivantes :
$ cd
$ vi .bashrc
Localisez la ligne contenant le texte qui suit : # User specific aliases and fonctions.
Ajoutez votre pseudonyme sur la ligne juste en dessous :
Alias cls=clear
Enregistrez le fichier et quittez.
3. Testez le changement effectu en terminant votre session et vous connectant de nouveau sur le
tty1, puis entrez ceci :
$ alias
$ cls

Rsultat:
Un systme ayant un tout nouveau pseudonyme qui libre lcran et est disponible
automatiquement lors de chaque connexion.

Page N 132

Linux : Principes de Base

Elies JEBRI

Sequence 2 : Configuration des options du shell


Mise en situation :
Vous procderez a plusieurs personnalisations de votre environnement shell bash laide de set et
shopt.
Tches :
Connectez-vous sur tty1 en tant quutilisateur student. Visualisez ensuite une liste de quelquesunes des options du shell actuiellement configures :
$ set -o
allexport
braceexpand
errexit
hashall
sortie tronque

off
on
off
on

Notez le rglage actuel ( off ) de loption noclobber. Vrifier sil vous est effectivement possible
dappliquer la fonction clobber aux fichiers laide dune sortie redirige.
$ echo contenu original > foo
$ cat foo
contenu original
$ echo nouveau contenu > foo
$ cat foo
Nouveau contenu
Utiliser set pour modifier loption noclobber et vrifiez ensuite son fonctionnement.
$ set o noclobber
$ echo newer contents > foo
bash: foo: cannot overwrite existing file.
Notez le rglage actuel (off) de loption ignoreeof vrifiez son fonctionnement en appuyant sur
CTRL+D pour savoir si vous tes sortie de votre session.
Reconnectez-vous sur le tty1 en tant que student , excutez le changement suivant loption
ignoreeof et testez-la.
$ set o ignoreeof
$ CTRL+D
$ Utilisez exit pour quitter le shell.
$ set +o ignoreeof
$ CTRL+D
Maintenant, utilisez la commande incorpore shopt du bash2 pour visualiser des option
supplmentaire du shell.
$ Shopt
cdable_vars
cdspell
checkhash

off
off
off
Page N 133

Linux : Principes de Base

checkwinsize
sortie tronque

Elies JEBRI

off

rglez et testez le fonctionnement de loption cdspell (N.B. : prtez une attention toute particulire
aux fautes de frappe faites intentionnellement dans les commandes suivantes) :
$ cd
$ mkdir test_directory
$ cd test_ driectoy
bash: cd: test_ driectoy: No such file or directory
$ shopt s cdspell
$ cd test_ directory
test_directory
$ pwd
/home /student/test_directory
$ cd ..
$ shopt u cdspell
$ cd test_directoy
bsh : cd: test_directoy: No such file or directory
Vous venez tout juste de voir que lorsque vous essayer dexcuter une commande depuis linvite
du shell, il se pourrait en ralit que vous executer un binaire externe, une commande du shell
incorpore, un pseudonyme, une fonction du shell, etc. Il est parfois important de dterminer ce
que le shell excute rellement lorsque vous entez une commande. Utilisez la commande incorpor
du shell type pour demander au shell ce quil utilise pour excuter les commandes suivantes :
$ type cat
cat is /bin/cat
$ type cls
cls is aliased to clear
$ type shopt
shopt is a shell builtin
$ type while
while is a shell keyword

Rsultat:
Une meilleure comprhension des diffrentes options du shell.
*** Fin de la squence 2***

Page N 134

Linux : Principes de Base

Elies JEBRI

Squence dfi : utilisation des fonctions du Shell


Mise en situation :
Si linstructeur estime que le temps le permet, essayez de crer et utiliser lexemple simple de fonction
du shell qui suit :
Tches :
depuis une invite du shell bash, crer une fonction du Shell simple en entrant ceci :
$ lsbytesum ( )
>{
> Totalbytes=0;
> for Bytes in $(ls l
grep ^- | cut c30-41);
> do
>
let TotalBytes=$Total Bytes+$Bytes;
> done;
> TotalMeg=$ (echo e scale=3 \ n$TotalBytes/1048576 \nquit | bc);
> echo -n $TotalMeg
>}
Pour vrifier si votre nouvelle fonction est disponible et pour tre tmoin de son impressionnante
puissance, excutez ce qui suit :
$ set
sortie omise - votre nouvelle fonction est au bas
lsbytesum= ( )
{
TotalBytes=0;
for Bytes in $ (ls 1 grep ^- I cut c30-41);
do
Let TotalBytes=$TotalBytes+$Bytes;
done;
TotalMeg=$ (echo -e scale=3 \ n$TotalBytes/1048576 \nquit | bc) ;
echo -n $TotalMeg
}
invite complte afiche, afin de montrer les changements apports linvite
[stident@stationl student1 $ Ps1= [\ u@\h: \w (\$(lsbytesum) Mb) ] \$
[stident@stationl :~ (11.971 Mb) ] $ cd / bin
[stident@tationl :/ bin (.476 Mb)]$ cd /sbin
[stident@stationl :/ sbin (.587 Mb)] $ cd /etc
[stident@stationl :/ etc (.124 Mb)] $
3. Questions dfi additionnelles:
1) quelles sont les tapes suivre pour que cette fonction soit charge chaque fois que vous
connectez ?
2) Quelles sont les tapes ncessaires pour convertir cette fonction en un simple script shell ?
Resultat :
Une nouvelle invite du shell primaire qui affiche le total de toutes les tailles de fichiers du rpertoire
courant.
*** Fin de la squence dfi***

Page N 135

Linux : Principes de Base

Elies JEBRI

+
LEON 11
X / GNOME / KDE
Objectifs :

Comprendre les concepts et larchitecture de X


Explorer des applications utiles de X

Thmes abords :
Concepts et architecture de X
Applications de X

Page N 136

Linux : Principes de Base

Elies JEBRI

Systme X Window

Fournit la base des composants graphiques de Linux.


Cr en 1986 et toujours employ aujourdhui.
Raisons : son bon design, modulaire et extensible.
Architecture Client / Serveur
X Free 86-mise en uvre Open Source gratuite de X

X
Le systme X Window ( aussi appel X ou X11 , mais jamais Xwindows au pluriel ) est la
base de linterface utilisateur graphique de Red
Hat Linux. Le systme X Window est maintenu par le consortium X, que vous pouvez visiter
ladresse Web http:// www.x.org. Ce dernier cre la mise en uvre de rfrence de X sous la licence
Open Source, appele X licence. Dautres fabricants utilisent le code source pour crer ou construire
leurs propres produits. Le projet Xfree86 ajoute des pilotes de matriel pour toute une srie de cartes
vido,
de mme que de nombreuses extensions et les distribue en tant que Xfree86. A lorigine, Xfree86
ntait destin quaux puces compatibles Intel, mai il est maintenant pris en charge par les systmes
PowerPC, Sparc et Alpha.
Architecture Client / Serveur
Il est important de bien comprendre la relation qui existe entre X et ce que vous voyez lcran. X ne
dfinit pas ce quoi les choses doivent ressembler o la faon dont elles doivent se comporter. X
soccupe plutt de fournir une manire standard selon laquelle les applications, appeles clients X,
peuvent safficher lcran. Le serveur X est donc le programme qui communique avec votre matriel
graphique. Toute application voulant afficher des graphiques lcran est un client X. X fournit ainsi
linfrastructure ncessaire aux clients X.
Xinerama
La version 4.x de Xfree86 est base sur X11 dition 6.4, alors que la version Xfree86 3.3.x est base
sue X11 dition 6.3. Lune des caractristiques des intressantes de X11R6.4est lajout de Xinerama.
Xinerama est une extension du serveur X qui permet de nombreux moniteurs physiques de se
comporter comme sils ntaient quun seul et unique cran. Cela vous permet de glisser et dplacer
des applications dun moniteur physique lautre. X a toujours t multi-monitteurs ( aussi appel
multi-head), sauf que ses fentres ne peuvent stendre sur plusieurs moniteurs physiques ou sortir de
leurs limites. Xinerama est la solution pour remdier cette restriction.

Page N 137

Linux : Principes de Base

Elies JEBRI

Protocole X
Les applications X communiquent avec un afficheur via le protocole X.
X est indpendant du systme dexploitation.
Il est disponible sur de nombreuses plates-formes.
Lhistoire du protocole X.

X est protocole
Dans lunivers X, les applications (appeles clients X) sont complment spares de lafficheur (
appel serveur X). X utilise un protocole rseau asynchrone pour la communication entre les clients X
et le serveur X. ce protocole dfinit la faon dont les lments graphiques sont communiqus entre les
client X et la serveur X. lun des avantages de cette mthode est de permettre au protocole X de cacher
les dtails individuels du systme dexploitation et du matriel sous-jacent. Un client X excute sur un
systme dexploitation, quel quil soit, peut afficher sur nimporte quel serveur X en cours dexcution
sur nimporte quel systme dexploitation.
Sur un poste de travail unique, les clients X et le serveur X communiquent galement entre eux
laide du protocole X, mais au lieu dutiliser le protocole TCP/IP, ils ont recours une connexion
(socket) UNIX grande vitesse. Gnralement, il sagit du fichier socket / tmp / .X11-unix /XO.
Histoire de X
En 1984, le MIT ( Massachusetts Institute of Technology) cre le projet Athena. Son objectif est de
rassembler tous les postes de travail incompatibles existants produits par diffrents fabricants et de
dvelopper un rseau de postes de travail graphiques pouvant tre utilis des fins daide
lenseignement. La solution obtenue est un rseau enmesure dexcuter des applications locales et
dappeler simultanment des ressources distance.
Le premier environnement dexploitation graphique vritablement indpendant du type de matriel
utilis et de son fabricant est ainsi cr : le systme X Window.
Dj en 1986, des organisations externes commencent demander le systme X. En 1988, le MIT
lance officiellement la version 11 dition 2. le Consortium X grer aujourdhui tout ce qui trait au
dveloppement de
X ; sa version la plus rcente est ldition 6. Le systme X Window, fonctionnant laide du protocole
X, est lenvironnement graphique de Linux. Il faut comprendre que X nest pas une GUI en soi, mais
bien linfrastructure graphique de base derrire la GUI.

Transparence rseau
Le protocole X peut tre envoy via un TCP/IP
Il permet aux applications dexcuter et dutiliser les ressources dun
ordinateur, tout en affichant et acceptant lentre, laide dune souris ou
dun clavier, dun autre ordinateur.

X distance
Les client X excuts sur un hte peuvent afficher sur le serveur X dun autre hte via rseau, en
autant que les autorisations ncessaires aient t accordes. X permet un accs sans problme des
Page N 138

Linux : Principes de Base

Elies JEBRI

clients dune station au serveur dune autre station de travail et ce, mme si cette dernire excute un
systme dexploitation diffrent de celui excute par la premire station.
Le serveur X utilise par les clients X pour afficher leur interface est dtermine par la variable
denvironnement DISPLAY. Par dfaut, celle-ci est rgle sur : 0, qui reprsente lcran principal de
lordinateur local. Si vous souhaitez, par exemple, spcifier au systme dafficher les client X de saffron
sur lcran principale de lhte somehost .example . com, utilisez ce qui suit :
[ user @ saffron ] $ export DISPLAY =somohost. Example. Com: 0

par dfaut, le serveur X ne permet pas aux ordinateurs distants dafficher leurs clients x sur lcran
local. Il existe deux mcanismes pour autoriser les clients afficher sur un serveur X :xhost, qui peut
tre utilis pour permettre tous les utilisateurs dun hte donn dafficher sur un serveur X ; et xauth
, qui ne permet laffichage quaux clients X ayant un tmoin1 de donnes spcifique.
Gnralement, lorsque ssh est utilis pour connecter un ordinateur distant, la variable DISPLAY et le
tmoin xauth de lutilisateur sont automatiquement rgls de faon permettre aux clients X dtre
excuts sur des ordinateurs distants dafficher laide de leur serveur X local. Cela permet aussi de
protger les donnes du protocole x envoyes, en les transmettant via un tunnel crypt.

Versatilit le X
Flexibilit des composants principaux :
Aptitude utiliser des polices de caractres sur un ordinateur local ou distant ;
Diverses ouvertures de session graphiques
-- gdm, kdm, xdm
Nombreuses possibilits de
Personnalisation de la GUI :
Divers gestionnaires de fentres ;
Divers ensembles de widgets.
Le systme X Window est extrmement modulaire et permet ladministrateur ou
lutilisateur final de permuter des composants son bon vouloir. Cette modularit explique
dailleurs pourquoi, aprs plus de 15 ans, X est encore trs utilis.
Widgets
Un Widget est un composant dune application GUI. Les widgets peuvent tre des
boites de dialogue, barres de dfilement, menus, case cocher, listes, etc. Il existe de nombreuses
bibliothques de widgets que les applications peuvent utiliser : Athena, Motif, QT, GTK+, et
bien dautres. La bibliothque QT est utilis par lenvironnement KDE, alors que la
bibliothque GTK+ est utilis par lenvironnement GNOME.
Lenvironnement bureau par dfaut peut tre dfaut peut tre dfini dans / etc./
sysconfig/ desktop ; vous avez le choix entre GNOME, KDE ou Anotherlevel. En outre, chaque
utilisateur peut galement dfinir son propre environnement bureau par dfaut laide de
switchdesk.

Page N 139

Linux : Principes de Base

Elies JEBRI

Gestionnaires de fentres
Gestionnaires de fentres :
Clients X spciaux ;
Excution de dplacements, dimensionnements et mises au point des fentres ;

Personnalisation dapplications ;
Rduction, agrandissement et restauration de boutons ;

Barre de titre ;

Menus darrire plan et barre doutils


Les gestionnaires de fentres sont des types particuliers de client X. Ils englobent dautres clients et
leur permettant dtre dplacs, redimensionns ou mis sous forme dicne. Il peuvent galement
servir personnaliser le fentre root, les menus configurables, les liens dapplication et les bureaux
virtuels. Les clients X peuvent tre gr par nimporte quel gestionnaire de fentres.
Il existe une multitude de gestionnaires de fentres disponibles pour X Red Hat Linux en fournit
plusieurs :
sawfish, gestionnaire de fentre par dfaut du bureau GNOME.
Englightenment, autre solution, trs intressante du point de vue graphique et offrant une grande
configurabilit.
Fvwm, gestionnaire de fentres moins gros et trs utilis, qui se prte bien aux situations de mmoire
restreinte.
WindowMaker, gestionnaire de fentres GNU conu pour imiter lapparence et le confort dutilisation
de la GUI Nex Step.
Twm, gestionnaire de fentres de base utilis comme gestionnaire de secours par dfaut.
KDE ( K Desktop Environment) fournit son propre gestionnaire de fentres :Kwm

Sawfish
Gestionnaire de fentres par dfaut de GNOME
Anciennement appel Sawmill.
Personnalisation par thmes
http : / / sawill . thmes . org

Grandes flexibilit et possibilits de personnalisation


sawfish-ui
Fait aussi de loutil de configuration de Gnome.

Configuration de Sawfish

Page N 140

Linux : Principes de Base

Elies JEBRI

GNOME
Trois caractristiques principales :
Environnement bureau cohrent et facile utiliser ;
Vaste gamme doutils et de bibliothques pour le dveloppement de
logiciels ;
Applications de bureautique GNOME Office.

Utilise GTK + un ensemble de widgets.

KDE
KDE signifie K Desktop Environnement(environnement bureau K).
Environnement bureau cohrent
Applications de bureautique Koffice
Utilisation lensemble de widgets QT.

Environnement X original
X11 sans GNOME ou KDE

Solution plus lgre pour matriel bas de


gamme
WidowMaker
Gestionnaire de fentres inspir de la GUI NeXTSTEP.
twm

Lun des gestionnaires de fentres originaux


pour X

Switchdesk
Outil de commutation de lenvironnement bureau
Possibilit de choisir GNOME, KDE ou simplement un
gestionnaire de fentres.

Modifie le fichier ~/ .Xclients de lutilisateur.


GNOME
KDE
WindowMaker
Twn

(exec gnome-session)
( exec startkde)
(exec / user / bin / wmaker)
(exec / user / bin / wmaker)

Page N 141

Linux : Principes de Base

Elies JEBRI

Configuration de la souris
X est conu pour fonctionner avec une souris trois boutons.
Toutefois, si vous avez une souris deux boutons seulement, il est possible dmuler le troisime
bouton en appuyant sur les deux boutons en mme temps.

Les roulettes de dfilement sont prises en charge par Red Hat Linux 7.
Cependant, certaines applications ne peuvent pas en tirer parti
Mouseconfig- configuration de la souris.

Switchdesk
Outil de commutation de lenvironnement bureau
Possibilit de choisir GNOME, KDE ou simplement un gestionnaire de fentres.

Modifie le fichier ~/ .Xclients de lutilisateur.


GNOME
KDE
WindowMaker
Twn

(exec gnome-session)
( exec startkde)
(exec / user / bin / wmaker)
(exec / user / bin / wmaker)

Environnement X original
X 11 sans GNOME ou KDE
Solution plus lgre pour matriel bas de gamme
WindowMaker
Gestionnaire des fentres inspir de la GUI NeXTSTEP.
Twn
Lun des gestionnaires de fentres originaux pour X

Switchdesk
Outil de commutation de lenvironnement bureau
Possibilit de choisir GNOME, KDE ou simplement un
gestionnaire de fentres.

Modifie le fichier ~/ .Xclients de lutilisateur.


GNOME
KDE
WindowMaker
Twn

(exec gnome-session)
( exec startkde)
(exec / user / bin / wmaker)
(exec / user / bin / wmaker

Configuration de la souris
X est conu pour fonctionner avec une souris trois boutons.
Toutefois, si vous avez une souris deux boutons seulement, il est possible dmuler le troisime
bouton en appuyant sur les deux boutons en mme temps .
Les roulettes de dfilement sont prises en charge par Red HAT Linux 7.
Cependant, certaines applications ne peuvent pas en tirer parti .
Page N 142

Linux : Principes de Base

Elies JEBRI

Mouseconfig configuration de la souris

Copier et coller
Slectionnez le texte dsir laide du bouton gauche de la souris .
Collez la slection laide du bouton centrale de la souris .
Appuyez sur les deux boutons simultanment si vous avez une souris deux boutons uniquement
Couper /Copier / Coller
Outre lutilisation de la souris pour copier et coller, lenvironnement GNOME offre la possibilit de se
servir des touches CTRL-C (copier ), CTRL-X(couper) et CTRL-V(coller) .

Lancement de X Free 86
X peut tre lanc automatiquement :
Le gestionnaire dcran fournit une ouverture de session graphique .
X peut tre lanc manuellement depuis une ouverture de session texte :
Utilisez la commande s t a r t x .
Vous pouvez configurer le systme de faon ce quil lance automatiquement X au dmarrage .Dans
ce cas, un programme X spcial, appel gestionnaire dcran, offre une invite de connexion graphique,
afin que vous vous connectiez directement dans votre environnement X .
Si X nest pas lanc automatiquement au dmarrage de lordinateur, vous devez vous connecter sur
lune des consoles texte virtuelles et excuter la commande startx depuis linvite du shell. Ce faisant,
votre environnement X est lanc automatiquement . A la fin de votre session, lorsque vous quittez X,
vous revenez linvite du shell .

Terminaux GUI

X term
Fait partie de Xfree86, le terminal original.
Rxvt
Remplacement plus lger de xterm
Gnome-terminal
Terminal par dfaut de GNOME acile utiliser
Konsole
Terminal standard de KDE

Editeurs GUI
Xemacs
Version x de lditeur emacs
Gvim
Version GUI de vim, requiert le RPM vim-x 11
Gedit
Editeur de texte simple de GNOME
Kwrite
Editeur de texte par dfaut de KDE

Midnight Commander de GNU


Page N 143

Linux : Principes de Base

Elies JEBRI

Gestionnaire de fichiers pour GNOME 1.0et 1.2


Lancement depuis le menu de GNOME ou laide de la commande gmc
Prise en charge de la connexion aux serveurs ftp
Version en mode de texte disponible ; mc
Sera remplac par Nautilus dans GNOME 1.4 .

gtop

Contrle puissant des processus


Interface base sur top en mode de texte
En mesure dafficher de faon graphique lutilisation de mmoire interne de chacun des
processus

Gftp
Client ftp graphique
Interface fentre divise, inspre du client ftp windows trs utilis WS-FTP .
Prise en charge des signets
Prise en charge dopratrtions via les proxy FTP et H TTP

Gimp
Signifie GNU Image Manipulation Program (programme de manipulation dimage de GNU)
Retouche de photo
Composition et personnalisation dimage
Est presque lquivalent, au niveau des fonctions, de Photo Hhop 5.0.
EST puissant en termes de filtres et de scripts

Xchat
Excellent client IRC
Prise en charge de :
Signets ;
Connections simultanes des rseaux IRC multiples ;
Gnralement considr comme tant le meilleur client IRC disponible pour tout systme
dexploitation

Navigateurs Web

Netscape navigateur Web standard


Mozilla netscape Open Source nouvelle gnration
Konqueror gestionnaire de fichiers de KDE, navigateur original en mode de texte
Links navigateur avanc en mode de texte

Applications de bureautique
Koffice
Suite bureautique intgre pour KDE
Page N 144

Linux : Principes de Base

Elies JEBRI

Kword, kspread, kpresenter , killustrator, kchart


Abiword
Traitement de texte multi-plateforme
Permet dimporter des fichiers word97 et RTF.
GNUMERIC
Tableur pour GNOME, clone dExcel
Open Office version Open Source de la suite bureautique Star Office

Utilitaires pour traitement dimage


Display
Fait partie de la suite Image Magick.
Affiche des images et y applique des effets.
Convert
Effectue la conversion entre divers formats dimage
Gqview
Catalogue les images
Ee
Afficheur dimages haute performance

Applications audio
Xmms
Lecteur de MP3 puissant, prenant en charge les modules externes.
Gmix
Pupitre de mixage standard de GNOME
GTCD
Lecteur de CD de GNOME , prenant en charge CDDB.

Applications KDE
Kdevelop
Environnement de dveloppement intgr
Konqueror
Gestionnaire de fichiers de KDE, navigateur Web simple
Kmail
Client de messagerie POP3
Kuser
Administrateur dutilisateurs et de groupes

Personnalisation de x

X configurator
Outil de configuration de x dvelopp par Red Hat .
Privilges de super-utilisateur ncessaires
Slection de la carte vido
Slection du moniteur
Page N 145

Linux : Principes de Base

Elies JEBRI

Slection de la rsolution
Slection de lintensit de la couleur

FIN DE LA LEON 11
Questions et rponses
Rsum
Quelles sont les proprits du systme x Window ?
Quels sont les deux principaux environnements GUI de x ?
Fichiers importants tudis au cours de cette leon :
Commandes importantes tudies au cours de cette leon :
Xconfigurator
Sawfish
Gnumeric xmms
Gnome-terminal
Xchat
Gimp
Kdevelop
Gmix
Switchdesk

Page N 146

Linux : Principes de Base

Elies JEBRI

EXERCICES DE LA LEON 11
Personnalisation de lenvironnement
Graphique
Dure approximative : 15 Minutes
Objectif :
Explorer les diffrentes options de personnalisation de
lenvironnement GNOME.
Configuration de dpart :Un systme Red Hat Linux install et fonctionnel qui
excute GNOME .

Squence 1 : Personnalisation du gestionnaire de fentres


Mise en situation :
Linstallation de votre systme est toute rcente et vous souhaitez maintenant explorer les diffrentes
options disponibles dans le gestionnaire de fentres Sawfish.
Tches :
Pour commencer la configuration de Sawfish, lancez sawfishui depuis une session X. vous
trouverez sur la gauche une liste des sections dont les options, sur la droite, peuvent tre
modifies.
Dbutez par la section Appearance. Faites diverses tentatives afin de trouver le thme qui vous
convient le mieux.
Cliquez sur la section Focus. Essayez les diffrentes options offertes et examinez bien leffet
quelles ont sur les fentres prsentes lcran. Slectionnez ensuite le rglage que vous
prfrez.
Ouvrez la section Minimizing / Maximizing et essayez les diffrentes options de rduction et
dagrandissement. Assurez-vous de rduire et agrandir une fentre chaque fois que vous
procdez un changement pour voir leffet obtenu choisissez les paramtres qui vous plaisent
le plus.
explorez les diffrentes options de la section Placement. Slectionnez le rglage qui vous semble
le plus agrable.
Rsultat :
Un environnement GNOME qui excute un gestionnaire de fentres Sawfish personnalis
selon vos gots.
*** Fin de la squence 1***

Page N 147

Linux : Principes de Base

Elies JEBRI

LEON 12

Impression et messagerie
Objectifs :
Comprendre comment imprimer sous Red Hat Linux
Comprendre les diffrents clients de messagerie disponibles sous Red Hat Linux
Thmes abords :

Impression

Gestion de la file dattente


Format dimpression

E mail

Client e-mail

Page N 148

Linux : Principes de Base

Elies JEBRI

Imprimer sous Linux


Les imprimantes peuvent tre locales ou en rseau
Les demandes dimpression sont envoyes une fille dattente
Les travaux en fil dattente sont envoye limprimante selon un systme premier
arriv b, premier servi
Les travaux peuvent tre effacs avant ou pendant limpression

Imprimer
Le systme dimpression de Red Hat Linux est trs flexible .Les imprimante peuvent tre parallles en
srie ou un rseau le support est prvu pour imprimer sur des imprimante Ipd Windows et Netware
distance.

Files dattente
Une ou plusieurs files dattente sont associes chaque imprimante .Les travaux dimpression sont
envoyer une file dattente et non pas une imprimante .Diffrentes files pour la mme imprimante
peuvent avoir diffrente options de priorit ou de sortie.

Travaux
Lorsque un fichier a t envoy une file dimpression ,il est appel travail .Les travaux peuvent tre
effacs durant limpression ou lorsquils sont dans la file dattente.

LPRng
Le logiciel dimpression de la dernire gnraux pour UNIX
Utilis les commandes traditionnelles 1 PR
Ajouter des fonctionnalits comme lauthentification avances et la direction
dynamique des files dattente pour limpression

LPRng
LPRng contient de nombreuses options dimpression comme par exemple la direction dynamique
des files dattente dimpression .Cela permet un travail plac dans la file dtre dplacer une
autre file .Il propose galement des fonctionnalits supplmentaire comme lauthentification ou la
capacit davoir pluisieur imprimantes sur la mme file dattente.

Commandes dimpression
1 pr Envoie un travail la file dattente dimpression
1 pq Affiche le contenu de la file dattente
1 prm Elimine un travail de la file dattente
Page N 149

Linux : Principes de Base

Elies JEBRI

lpr
cette commande est utilis pour envoyer un travail limprimante .Loption- P est utilise pour
slectionner une file dattente autre que la file d attente par dfaut .Loption -# est utilise pour tablir
le nombre dexemplaires pour imprimer 5 exemplaires du fichier report .ps sur limprimante
accounting :
$ lpr - Pac counting - # 5 report . ps
1pq
lorsque vous entrez dans 1 pq sans options ,il affiche les travaux qui se trouvent dans la file dattente
par dfaut comme dans 1 pr loption - P est utiliser pour spcifier une file autre que la file par dfaut
.Exemple :
$ 1pq
printer : 1 p @ local host
Queue : 1 printable job
Server : pid 31541 active
Unspoiled : pid 31542 active
Status : enable for spooling
Rank Owner /ID
Class Job Files
Size Time
Active guru @ 1 oc 1 host +540
A 54 results
30
1prm
pour supprimer un travail de la file dattente dimpression ,excutez la commande 1 prm suivie du
numro de travail .Exemple :
$ 1 prm 540
printer 1 p @ local host :
notez que 1 prm rpond au nom de la file dattente de laquelle le travail a t supprim.

lpc

contrler dimprimante ligne


afficher ltat de limprimante
valider / invalider une file dattente dimpression
valider / invalider une imprimante
avancer ou reculer un travail dans la file dattente
mode interactifs et non interactifs

lpc
lpc est utilis pour contrler les imprimantes ,la file dattente et les travaux la plupart de ses fonctions
ne sont disponible qu ladministrateur de systme .Un utilisateur peut cependant vrifier ltat dune
imprimante en excutant la commande suivant
$ 1 pc statut < queue>
autre commandes que peut utiliser ladministrateur de systme :
Page N 150

Linux : Principes de Base

1 pc entable <queue>
1pc stop <queue>
1 pc start <queue>
1 pc direct <queue> <destint >
1 pc down < queue>

Elies JEBRI

Valide la file pour la file nomme


Stoppe limpression de la file nomme
Entame limpression de la file
Redi rection du travail vers la nomme
Stoppe la file et limpression

Si vous entrez 1 pc sans option la ligne de commande ,elle est lance en modalit interactive .
Toutes les commandes identique sont disponibles .Pour de plus amples informations ,lancez 1 pc en
modalit interactive et tapez help.

Imprimer depuis la ligne de commande

formats reconnus
Postscript
ASCII
Utiliser loption P pour indiquer une imprimante autre que limprimante par dfaut :
$ 1pr - P1 assertif report .ps

la commande 1 pr excut limpression depuis la ligne de commande .Il est trs facile dimprimer sur
limprimante par dfaut .Notez lexemple :
$ 1 PR report .ps
le systme dimpression Linux imprimera les fichiers en format ASCHou Postscript .La plupart des
applications sous Linux sortent en forme Postscript.

Imprimer depuis les applications

la plupart des applications sortent en format Postscript


limpression depuis les applications utilise aussi le systme dimpression LPRng
les travaux sont envoys aux files dattente
les options lpr peuvent tre utilises

lorsque vous imprimez depuis les applications comme Nets cape, la commande 1 pr. est toujours
utilise.
Notez lexemple suivant :

Utilitaire dimpression

en script convertit le texte en Postscript


gv Affiche des fichiers en Postscript
ps2 pdf Comme Postscript en PDF
pdf2 ps convertit PDF en Postscript

Page N 151

Linux : Principes de Base

Elies JEBRI

red Hat Linux contient de nombreux utilitaires permettent de crer des sortites pour limprimante et
dinteragir avec les fichiers Post Script.
En script
Cette commande convertit le texte en pot scripts et lenvoie la file dattente dimpression ou dans un
fichier. En script est souvent utilise pour envoyer la sortie dune commande limpression laide
dun canal.
Gv
Lutilitaire ghost view est utilis pour afficher les fichiers Post Script et PDF.
Ps2 pdf
Cette utilitaire permet de cre facilement des fichier PDF vous pouvez en effet utiliser nimporte quel
programme crant des fichiers Post Script ,puis utiliser ps2 pdf pour convertir le fichier en format
PDF.
Pdf2 ps
Cet utilitaire convertit les fichiers PDF en fichiers Post Scripts ce qui facilite limpression de
documents PDFdepuis la ligne de commande.

E- mail

un hte Linux peut tre un serveur ou client de messagerie


denombreux clients e-mail sont disponibles
modalit texte
pine ,mutt
graphique
nestscape Messenger ,Kmail ,balsa ,avolution

le courrier lectronique est devenu lun des lment dintrnet les plus utilise Linux a t cre sur
Internet et a toujours pris en charge la messagerie, que se soit en tant que serveur ou en tant que client
.Plusieurs clients de messagerie sont disponibles pour Red Hat Linux et de nouveau clients sont
constamment en cours de dveloppement.

clients e-mail
pine- Interface facile utiliser dirige par un menu
mutt-Client de messagerie largement configurable
netscape messenger- Graphique, filtrage avanc, comptes
multiples
kmail- Graphique, facile utiliser, il fait partie de KDE
pine
pine est conu pour tre facile utiliser par les nophytes, mais il est galement flexible pour les
habitus. Il prsente une interface dirige par menu au bas duquel sont affiches les commandes les
plus importantes.
pine opre en modalit texte.
Page N 152

Linux : Principes de Base

Elies JEBRI

mutt
mutt est un client de messagerie extrmement configurable et flexible, mais il nest pas aussi convivial
que pine. Lune des caractristique principales de mutt est son affichage optionnel chan des
messages.
Netscape Messenger
Netscape Communicator comprend Messenger, un client de messagerie. Il peut grer plusieurs
comptes prsente des options de filtrage des messages trs flexibles et graphique.
Kmail
KDE contient le programme kmail. Ce petit programme simple constitue un bon choix pour les
dbutant dans le domaine de le messagerie

POP et IMAP
POP- Post office protocol
Permet la rcupration distance et la suppression de messages
Les messages doivent tre archivs chez le client
IMAP- Internet message access protocol
Permet la rcupration distance de messages et la gestion des dossiers de
messages bass sur le serveur
Si votre messageries se trouve dans sur un serveur distance, vous devriez utiliser POP ou IMAP pour accder vos
messages. Ces protocoles permettant de rcuprer les messages distance.
POP

Le Post Office Protocol est plus ancien des deux. Il vous permet de rcuprer votre courrier et de leffacer
sur le serveur. Aprs avoir t tlcharg, votre message peut tre archiv sur le clien
IMAP
Le Internet Message Access Protocol peut afficher, trier et grer les messages sur le serveur mme. Imap permet
galement au logiciel client de crer et manipuler des dossiers sur le serveur. Cette approche permet dexcuter des
copies de sauvegarde centralises et stocker les messages

Filtrer les e-mails


Netscape messenger prend en charge des options de
filtrage trs flexibles
Le filtrage de pine et mutt est gr par les possibilits de
procmail
Il est souvent utile de filtrer le courrier qui vous arrive. Vous pouvez filtrer vos messages selon diffrents critres :
par expditeur, objet, etc. voici un exemple daffichage de cration de filtre sous Netscape
Messager :

Page N 153

Linux : Principes de Base

Elies JEBRI

Le filtrage de messages pour pine et mutt peut tre pris en charge par le programme procmail. Pour
plus dinformations, tapez man procmail

Fetchmail
Rcupre un message distance et le transfre au systme de courrier local
Prend en charge de nombreux protocoles
POP
IMAP
SMTP
Fetchmail savre souvent utile si vous avez plusieurs comptes e-mail et que vous voulez
recevoir tout les messages un seul endroit. Dans ce cas, fetchmail serait configur pour
rcuprer les messages depuis tous vos compte distance et les transfrer celui que vous
consultez.

Page N 154

Linux : Principes de Base

Elies JEBRI

FIN DE LA LEON 12
Questions et rponses
Rsum
Imprimer depuis la ligne de commande
Imprimer depuis les applications
Clients e-mail

Fichiers importants tudis au cours de cette leon :


Commandes importantes tudies au cours de cette leon :
lpr
lpq
lprm
lpc
enscript
gv
ps2pdf
pdf2ps
pine
mutt
fetchmail

Page N 155

Linux : Principes de Base

Elies JEBRI

EXERCICE DE LA LEON 12

Pr-processus dimpression
Dure approximative : 30 Minutes
Objetctif : Apprendre prparer la sortie pour limpression.

Configuration de dpart : Un systme Red Hat Linux install et fonctionnant.


Squence1 : Utiliser sed, enscript, et mpage pour prpare la sortie pour limprimante..
Mise en situation :
Vous profitez des fortunes que vous offre votre systme Red Hat Linux et voudriez imprimer toute la
liste pour les prsenter vos amis.
Tches :
1. les fortunes se trouvent dans diffrent fichiers. Vous devrez dabord les rassembler dans
un seul grand fichier laide des commandes suivant.
$ cd /user/share/games/fortune
$ for I in ls grep v .dat ; do cat si >> /tmp/fortunes. Text; done
la seconde ligne de commande de cet exemple utilise litration for pour grep tous le fichiers de
fortune (fichiers qui ne terminent pas par .dat) et le cat dans un grand fichier laide dun droulement
complmentaire.
2. Passez au rrpertoire /tmp et utilisez less pour afficher le contenu fichier fotunes. text. Vous derivez
obtenir que le fichire contient toutes les fortunes et que chaque fortune soit suivie dun %. Utilisez la
commande sed pour rapidement nettoyer :
$ sed s/^ % $// fortunes. texte > fortunes. texte. Cleaned
Utilisez encor lesss pour afichier le contenu de fortunes. text. Cleaned.
3. Pour prpare le fichier limpression, utilisez enscript pour le convertir de texte postscript.
$ enscript G o fortunes. ps fortunes. text. Cleande
4. Utilisez ghostview pour vrifier le rsultat de la conversion. Vous devez vous trouver dans X pour
excuter ghostivew.
$ gv fortunes. ps
5. le fichier est maintenant prt pour tre imprim. Mais il est trs long et utilisera beaucoup de papier.
Pour que les fichiers ncessitent moins de papier, utilisez mpage pour reformater de faon ce que
chaque page imprime contiennent 4 pages de texte.
$ mpage fortunes. ps > fortunes4x.ps
6. Utilisez nouveau ghostview pour affihcer fotrunes4x.ps. le fichier est maintenant prt tre
imprim et utilis.
Rsultat : fortunes4x.ps qui contient toutes les fourtunes avec 4 page de texte par page imprime.

Page N 156

Linux : Principes de Base

Elies JEBRI

LEON 13

Opration de base de mise en rseau


Objectifs :
Apprendre les commandes de bases pour tester un rseau et
dceler des pannes
Examiner les r-commandes ainsi que leurs quivalents
scuriss
Comprendre lutilisation de rdist et rsync
Thmes abords :

ping / traceroute
host / dig / fwhois
netscape / lynx / links
ncftp / telnet
r { sh, login , cp} / ssh scp
rdist / rsync

Page N 157

Linux : Principes de Base

Elies JEBRI

Ping
Mesure la connectivit et le temps dattente entre le systme local et le
systme distant.
$ ping www.redhat.com
Appuyer sur CTRL+C pour faire cesser lexcution de ping
Utilise des paquets cho ICMP pour effectuer la mesure.
Indique des statistiques concernant les paquets perdus.
$ ping www.redhat.com
PING www.redhat.com (216.148.218.195) from 10.3.0.04 : 56 (84) bytes of data.
64 bytes
64 bytes
64 bytes
64 bytes
64 bytes
64 bytes
64 bytes
64 bytes
64 bytes
64 bytes

from
from
from
from
from
from
from
from
from
from

216.148.218.195: icmp_seq=0
216.148.218.195: icmp_seq=1
216.148.218.195: icmp_seq=2
216.148.218.195: icmp_seq=3
216.148.218.195: icmp_seq=4
216.148.218.195: icmp_seq=5
216.148.218.195: icmp_seq=6
216.148.218.195: icmp_seq=7
216.148.218.195: icmp_seq=8
216.148.218.195: icmp_seq=9

ttl =55
ttl =55
ttl =55
ttl =55
ttl =55
ttl =55
ttl =55
ttl =55
ttl =55
ttl =55

time =29.6
time =29.1
time =28.8
time =28.1
time =28.3
time =29.7
time =29.1
time =32.0
time =29.1
time =50.5

ms
ms
ms
ms
ms
ms
ms
ms
ms
ms

--- www.redhat.com ping statistics--10 packets transmitted, 10 packets received, 0% packet loss
round-trip min/ avg /max = 28.1/31.5/51.5 ms
ping est un utilitaire utile pour tester la connectivit dun rseau. Comme vous pouvez le constater
dans lexemple ci-dessus, ping permet de calculer la perte de paquets et le dlai dattente( indiqu en
mille secondes, droite compltement). Notez qen cas de panne ou de non-disponibilit du DNS,
vous pouvez utiliser ping accompagn de loption n pour dsactiver la dtermination du non

Traceroute
Indique le chemin du rseau entre le systme local et
le systme distant.
$ / user / sbin / traceroute www. redhat . com.
Fournit les statistiques dattente chaque saut.
Est utile pour localiser la congestion dun rseau.
Comme traceroute affiche des informations concernent chaque saut lors des dplacements des
paquets, il est trs utile pour reprer des erreurs de routage ou de congestions survenant sur un
chemin de routage spcifique. Examinez attentivement lexemple suivant de sortie, qui indique les
noms, les adresses IP et les dlais moyens de dplacement aller-route pour chacun des routeurs
entres lhte source qui excute la commande et lhte de destination ( www.yahoo.com)
Page N 158

Linux : Principes de Base

Elies JEBRI

$ / user /sbin / traceroute www.yahoo.com


trace route : Warning : www. Yahou.com has multiple addresses; using 216.32.74. 51
traceroute to www.yahoo.akadns.net (216.32. 51) , 30 hops max, 38 byte packets
1
serverl.example.com (10. 100.0. 254) 1.256 ms 0.579 ms
2
guru.gurulabs. com (10. 1. 0. 1) 1.693 ms 0.638 ms 0.809 ms
209.140.75.25 (209.140.75.25) 19.736 ms 21.853 ms 21.749 ms
dsl-gw-e3 . inconnect . com (207. 173. 110. 29) 21.299 ms 20.572 ms 18.636 ms
slc-corel.inconnect.com (209.140.64.1) 21.729 ms 20.090 ms 20.418 ms
inconnect-gw.salt-lake.good.net (209.140.5.5) 21.285 ms 20.500 ms 21.281 ms
salt- lake .san-jose.good .net (209.54.101.121) 44.239 ms 40.396 ms 39.789 ms
goodnet-gw.san-jose.exodus.net (207.98.191.42) 43.827 ms 41.646 ms 41.577 ms
bbr02-g3-0.sntc02.exodus.net (216.33.154.100) 41.653 ms 42.646 ms 41.577 ms
bbr02-p0-0.sndc03.exodus.net (216.32.173.6) 42.550 ms 41.663 ms 43.329 ms
bbr01-p2-0.stng01.exodus.net (209.1.169.166) 105.686 ms 104.476 ms 104.774 ms
dcr04-g9-0.stng01.exodus.net (216.33.96.146) 109.222 ms 109.293 ms 105.182 ms
csr21-ve241.stng01.exodus.net (216.33.98.10) 104.805 ms 103.939 ms 109.264 ms
216.35.210.126 (216.35.210.126) 106.513 ms 111.175 ms 104.754 ms
www2.dcx.yahoo.com (216.32.74.51) 110.062 ms 105.049 ms 106.963 ms

Host
Envoie une recherch un systme de nom de domaine.
$ host home.netscape.com
Renvoie linformation du DNS au sujet du nom dhote demand ou de
ladresse IP.
$ host 207 .200.89.226
ci-dessus : une recherche renverse
La plupart des types de recherches sont possibles avec loption t.
$ host www .redhat.com
www.redhat . com has address 216 .148 .216.195
host est pratique pour dterminer des noms dhte et des adresses IP. Lorsque il est entr avec un nom
dhte comme argument ( comme dans lexemple ci- dessus ) , il vous donne une adresse IP . vous
pouvez aussi lui donner une adresse IP comme argument pour rechercher le nom dhte correspondant
$ host .216.148.218.195
195.216.148.216.in-addr.arpa. domain name pointer www.redhat.com.
Cette commande peut aussi tre utilise pour rechercher dautre types de renseignements DNS avec
loption-t
$ host -t mx .nets cape .com
netscape .com . mail is handled by 20 xwing.aoltw.net
host remplace lancienne commande nslookup.

Page N 159

Linux : Principes de Base

Elies JEBRI

dig
Un commande avance de lemplacement de host
$ dig www.redhat.com
Sortie semblable celle obtenue avef host -v
Utilisez loption x avec les adresses IP.
$ dig -x 216 . 148 . 218 .195
Peut tre excute depuis une ligne de commande ou un lot de traitement.
Dig est une commande alternative host et peut agir de deux faons : elle peut accepter une recherche
simple depuis linvite du shell ou lire un lot de traitement ( spcifi avec loption-f) contenant une liste
de commandes excuter.
$ dig slashdot.org
; Dig 9.1.0 slashdot.org
; ; global options : printcmd
; ; Got answer:
; ; - HEADER - opcode: QUERY, status: NOERROR, id: 27957
; ; flags: qr rd ra; QUERY: 1, ANSWER: 1, AUTHORITY : 3, ADDITIONAL: 3
; ; QUESTION SECTION:
; slashdot.org .

IN

ANSWER SECTIO :
slashdot.org .

7906

IN

; ; AUTHORITY SECTION:
slashdot.org

7906

IN

NS

7906

IN

NS

7906

IN

NS

IN
IN
IN

A
A
A

64.28.67.150

ns2.andover.net.
slashdot.org

ns3.andover.net.
slashdot.org

ns1.andover.net
; ; ADDITIONAL SECTION:
ns3.andover.net
87893
ns2.andover.net
94063
ns1.andover.net
94062

209.192.217.105
209.192.217.104
64.28.67.55

; ; Query time: 10 msec


; ; SERVER: 207.175.42.153#53 (207.175.42.153)

; ; WHEN: Wed Apr 11 15:07:22 2001


MSC SIZE rcvd: 159

Fwhois
Trouve des donnes denregistrement de domaines auprs d InterNIC et
de bureaux denregistrement de domaines ( ex. : Network Solutions)
$ fwhois yahoo.com
Page N 160

Linux : Principes de Base

Elies JEBRI

Est utile pour trouver ou vrifier des informations concernant des


domaines.
$ fwhois redhat.com
[ whois.crsnic.net]
Sortie limine
Registrant :
Red Hat Software ( REDHAT-DOM)
P.O. Box 13588
Research Triangle Park, NC 27709
US
Domain Name. REDHAT.com
Administrative Contact, Technical Contact, Zone Contact:
Network Operations center ( NOC144-ORG) noc@REDHAT.COM
Red Hat Software
P .O.Box 13588
Research Triangle Park, NC 27709
US
919-547-0012
Fax 919-547-0024
Billing Contact:
Accounts Payable ( AP1279-ORG) ap @ REDHAT.COM
Red Hat Software
P.O Box 13588
Research Triangle Park, NC 27709
US
919-547-0012
Fax 919-547-0024
Record last updated on 12-May-2000
Record expires on 27-May-2001.
Record created on 26-May-1994.
Database last updated on 16-Oct-2000 03:15:57 EDT.
Domain servers in listed order:
NS.REDHAT.COM
NS2.REDHAT.COM
NS3.REDHAT.COM

207.175.42.153
208.178.165.229
206.132.41.213

Navigateur Netscape
Red Hat Linux comprend Netscape Navigator( navigateur seulement) et
netscape Communicator( courrier lectronique, lecture de nouvelles
dition HTML).
$ netscape
Des modules externes sont disponibles pour RealAudio, Flash et
Shockwave.
Page N 161

Linux : Principes de Base

Elies JEBRI

Permet de consulter des fichiers locaux ( pratique pour visualiser de la


documentation locale).
file:/ usr/share/doc/HTML/index.html

Netscape est outil formidable pour visualiser des image et des fichiers locaux. Slectionnez Consulter
une pqge (Open) depuis le menu Fichier (File) pour lancer une page Web partir dun fichier local.

Navigateur lynx
Navigateur Web rapide et lmentaire en mode de texte uniquement
$ lynx http: / / www.redhat.com/
Ne permet pas de laffichage de tableaux, cadre ou images.
$ lynx
3)
Red Hat, Inc
Get Free Priority FTP Access and official Red Hat Support !
Sign up for your official Red Hat benefits today!
[space. gift] As an owner of red Linux 7.0 you are entitled to all of these benefits:
[spacer. gif]
[bullet. gif] [spacer. gif] Priority Online Access
-- press space for next page-Arrow keys: Up and Down to move. Right to follow a link; Left to go back.
H) elp O) ption P) rint G)o M) ain screen Q) uit /=search [delete]=history list
Comme vous pouvez le constatez dans lexemple de fentre ci-dessus, lynx naffiche aucun image.
Toutefois, il est trs indiqu pour la consultation rapide dinformations texte.

Navigateur links
Navigateur en mode de texte semblable lynx
$ links http : / / www.slashdot.org/
Prend en charge les tableaux et les cadres
Le navigateur links est un navigateur en mode de texte, mais, contrairement lynx, il prend en charge les
tableaux et les cadres. Cela fait de links un outil trs intressant pour naviguer dans des sites sans images, tels
que slashdot.org.
Page N 162

Linux : Principes de Base

Elies JEBRI

ncftp
Client FTP ligne de commande versatile
Session dutilisateurs anonymes ou rels
$ ncftp ftp.cdrom.com
$ ncftp - u joe ftp.myserver.com
Transferts automatiss
Ncftpget et ncftpput
ncftp est un client FTP ligne de commande utile, dot de fonctions telles que les signets et
lachvement tab . vous trouverez ci-dessous un exemple de session interactive.
$ ncftp ftp.redhat.com
NcFTP 3.0.0 beta 21 (October 04 , 1999) by Mike Gleason (ncftp @ncftp.com).
Connecting to 216.148.218.192
FTP server ready.
Logging in
Please read the file README
it was last modified on Tue Jan 25 08:51:37 2000 - 264 days ago
Please read the file README.roughcuts
it was last modified on Fri Jan 21 17:32:20 2000 - 268 days ago
Guest login ok, access restrictions apply.
Logged in to ftp.redhat.com.
Ncftp /pub >
Les transferts automatiss ncessitent une commande et aucune interaction:
$ ncftpget ftp : / / ftp.redhat.com/redhat/current/iso/7.0-i386-respin-discl.iso
7.0-i386-respin-disl.iso:
KB/s

ETA: 36:05

1.83/644.45 MB 335.53

wget
Rcupre des fichiers via HTTP et FTP.
Est non-interactif- pratique dans les scripts shell
Peut suivre des liens et traverser des arborescences de rpertoires sur un
serveur distant- utile pour raliser des images miroirs de sites Web et
FTP.
Page N 163

Linux : Principes de Base

Elies JEBRI

Wget peut tre utilis pour rcuprer un fichier via http ou FTP :
$ wget http:// www.redhat.com/tarining/
--12:20:03-- http: // www.redhat.com:80/training/
connecting to www.redhat.com:80connected!
HTTP request sent, awaiting response 200 OK
Length: unspecified [text/html]
OK -> .
12:20:05 (9.95 KB/s) - `index . html` saved [14362]
Les options ressayer de wget peuvent savrer utiles lorsque vous tentez de rcuprer des
fichiers depuis des sites FTP trs occups :
$ wget --tries=50 --wait=30 ftp: / /updates.redhat.com/7.0/i386/gnupg-1.0.4-5.i386.rpm
Lorsque vous utilisez wget pour raliser des images miroir dun site, en partie ou en entier, vous
pouvez limiter le nombre de niveaux de rptition (suivre de liens) :
$ wget --recursive --level=1 --convert-links http : / / www.redhat.com/training/
reportez-vous wget --help et info wget pour connatre les nombreuses autres options.

Telnet
Se connecte dautre htes
Mthode traditionnelle nom scurise dinteragir avec des systmes distants .
Nous recommandons aujourdhui dutiliser ssh.
Est encore utile toutefois pour vrifier des services excuts sur des ports arbitraires
$ telnet localhost 25
telnet est trs pratique pour vrifier des services et reprer des pannes de mme que pour accder
des systmes distants. Examinez les deux exemples , examiner les deux exemples suivants
dabord , nous effectuons la commande telnet vers localhost afin dobtenir une invite de connexion
s telnet localhost
trying 127 .0 .0 .1
connected to localhost.
Escape character is '^]'.
Red hat linux release 7.1 (seawolf)
Kernel 2.4-2-2 on an i686
Ensuite , vers le port 25 pour nous assurer que sendmail est en cours dexcutions
Page N 164

Linux : Principes de Base

Elies JEBRI

telnet locahost 25
trying 127 .0 .0 .0
connected character is ^].
220 localhost; localdomain ESMTP sendmail 8.11.2/8.11.2 ; fri, 13 Apr 2001
08 : 10 : 22 -0400

Shell scuris :ssh


Technologie de cryptage cl publique qui remplace telnet
Permet laccs scuris aux systmes distants
$ ssh joe@barney
joe@barneys password :
$ ssh barney Is /tmp
$ scp -p serverl:/home/user/file.txt
ssh
ssh permet la connexion et lexcution de commandes distances via une connexion crypte scurise.
Lexemple suivant montre comment excuter df -h sur lhte hork :
$ ssh hork df -h
jmh@horkspassword:
filesystem
/dev/hda9
/dev/hdal
/dev/hda6
/dev/hda5
/dev/hda7
/dev/hdcl

size
252M
19M
508M
2.OG
252M
2.3G

Used avail use %mounted on


137M 102M 57% /
5.5M 12M 31% /boot
29M 453M 6% /tmp
1.7G 22IM 88% /usr
119M 120M 50% /var
1.9G 298M 87% /home

scp
scp fonctionne de la mme faon que CP ,sauf il effectue la copie dun hte un autre dans un canal
crypt scuris
$ scp hork :proclog
proclog
100% ********************** **** 28117
00 :00 ETA
il est aussi possible dutiliser sftp, un programme interactif de transfert de fichiers semblable un
simple client FTP . il est ncessaire que le sshd de lhte distant puisse en charge sftp pour que le
client sftp fonctionne.

ridist
Maintient des copies identiques de fichiers sur diffrents systmes.
Utilise rsh par dfaut, mais peut aussi utiliser ssh
$ ridist -p /usr/bin/ssh fichiers_source
utilise des fichiers source , qui spcifient dans quels systmes les fichiers sont copis.

Page N 165

Linux : Principes de Base

Elies JEBRI

rdist est un programme qui sert maintenir des copies identiques de fichiers dans plusieurs
ordinateurs hte , il prserve des information , telles que le propritaire, le groupe , le mode , de mme
que lheure et la date de la dernire modification des fichiers lorsque et peut mettre jour des
programme en cours dexcution. rdist lit les commandes depuis un fichiers source pour rediriger les
fichiers ou les rpertoires mis jour

rsync
Outil de remplacement pour cp
permettant deffectuer des copies depuis ou vers des systmes distants.
Peut utiliser ssh pour le transport.
$ rsync --rsh=ssh mysong.mp3 \
barney:/home/joie
Est plus rapide que rcp car il ne copie que les diffrences dans les fichiers correspondant
rsync est un programme qui fonctionne sensiblement de la meme manire que rcp , mais il a beaucoup
plus doptions et utilise le protocole de mise jour distance rsync pour acclrer normment les
transferts de fichiers lorsque la destination existe dj .en effet , le protocole de mise jour distance
rsync permet rsync de ne transfrer que les dfrences entre deux ensembles de fichiers laide dun
algorithme de recherche et de somme de contrle efficace . ce programme est trs bien pour des taches
telles que la mise jour du contenu de sites we car il permet de ne transfrer que les changements
requis.

Page N 166

Linux : Principes de Base

Elies JEBRI

FIN DE LA LEON 13
Questions et rponses
Rsum
Apprentissage de commandes de base pour
tester un rseau et dceler des pannes
Examen des r-commandes et de leurs quivalents scuriss
Comprhension de rdist et rsync

Fichiers importants tudies au cours de cette leon :


Commande importantes tudies au cours de cette leon :
Ping
traceroute
host
dig
fwhois
lynx
links
ncftp
ncftpget
telnet
rsh / rlogin /rcp
ssh / scp
rdist
rsync

Page N 167

Linux : Principes de Base

Elies JEBRI

EXERCICES DE LA LEON 13

Client rseau de base


Dure approximative : 40 minutes
Objectif :

Sexercer utiliser divers outils pour transfert de fichiers entre votre


systme et un systme distant

Configuration de dpart : Un systme Red Hat Linux install et fonctionnel. Un ordinateur serveur
de la salle de classe servant de serveur ftp et ssh. Un nom dutilisateur et un mot de passe dun compte
valide sur lordinateur serveur de la classe.
Squence 1 : transfert de fichiers laide de ncftp
Mise en situation :
Au cours de cette squence, vous vrifierez la connectivit rseau entre votre ordinateur et le serveur
de la salle de classe.
Vous utiliserez ensuite ncftp pour transfrer des fichiers entre ces deux ordinateurs.
Tches :
Linstructeur vous donnera le nom ladresse IP du serveur de la salle. Vrifiez la connectivit
rseau entre votre ordinateur et le serveur de la salle laide de ping qui vous permet dentrer
le nom ou ladresse du serveur.
$ ping -c 3 server1
PING server1 . example. Com (192 . 168 . 0.254) from 192. 168 . 0 . 2 :
64 bytes from server1 .example . com (192 . 168 . 0 . 254) : icmp_sep=0
64 bytes from server1.example . com (192 . 168 . 0 . 254) : icmp_sep=0
time=212 usec
64 bytes from server1.example . com (192 . 168 . 0 . 254) : icmp_sep=0
time=218 usec

56 (84) bytes of data.


tt1 = 255 time=214 usec
tt1 = 255
tt1 = 255

--- server1 . example . com ping statistics --3 packets transmitted, 3 packets received, 0% packet loss
round-trip min/avg/max/mdev = 0.212/0.214/0.218/0.017 ms
Utilisez ncftp pour vous connecter de faon anonyme au serveur de la sale de classe et obtenir un
fichier du serveur.
$ cd
$ ncftp server1
NcFTP 3.0.1 (March 27, 2000) by Mike Gleason (ncftp@ ncftp . com)
Connecting to 192 . 168 . 0 .254
Server1. example . com FTP server (Version wu-2 . 5 . 0 (1) Tue sep 21 16 : 48 : 12
1999 ) ready.
Logging in
Guest login ok, access restrictions apply.
Logged in to server1.
Page N 168

EDT

Linux : Principes de Base

Elies JEBRI

Ncftp / > cd pub


Ncftp / pub > 1s
Getme
Ncftp / pub > get getm
Getme:
Ncftp / pub > exit
Examinez et modifies ensuite le fichier texte que vous venez de rcuprer.
$ cat getme
{votre nom } was hera !
$ pico getme
Entrez votre nom lendroit indiqu entre parenthses, puis enregistrez le fichier sous le nom
getme. XY o XY sont vos initiales.
$ cat getme. Bc
Bryan Croft was here !
Utilisez ncftp pour connecter au serveur de la sale de classe en tant quutilisateur student et
transfrez votre fichier modifi dans le rpertoire personnel de lutilisateur.
$ ncftp -u student server1
NcFTP 3 . 0 . 1 (March 27, 2000) by Mike Gleason (ncftp@ ncftp.com).
Connecting to 192 . 168 . 0 . 254
Server1 FTP server (Version wu-2. 6 . 1 (1) Wed Aug 9 05 : 54 : 50 EDT 2000 ) ready.
Logging in
Password requested by 192 . 168 . 0 254 for user student.
Password requested for student.
Password: entrez_votre_mot_de_pass__cet_endroit
User student logged in.
Logged in to server1.
Ncftp / home / student > put getme . bc
Getme . bc:
Ncftp / home / student > exit
Rsultat:
Le transfert dun fichier texte modifi et rebaptis au serveur de la dalle de classe.
*** Fin de la squence 1***

Page N 169

Linux : Principes de Base

Elies JEBRI

Squence 2 : communication crypte suite ssh


Mise en situation :
Au cours de cette squence, vous utiliserez la suite doutils ssh pour effectuer le transfert scuris dun
fichier entre votre ordinateur et le serveur de la salle de classe. Vous tablirez ensuite une session de
connexion crypte avec le serveur et vrifierez si votre fichier a t transfr avec succs.
Tches :
Commencez par faire une copie de votre fichier getme . XY, utilis lors de la squence prcdente
(noubliez pas que vous avez mis vos initiales la place de XY, vous devez donc vous assurer
dcrire le bon nom de fichier dans lexemple ci-dessous).
$ cd
$ cp getme . bc getme . bc . secure
Transfrez de nouveau votre fichier au repertoire personnel de lutilisateur student sur le serveur
de la salle de classe de faon scurise au moyen dune session crypte.
$ scp getme . bc . secure student @ server1:
The authenticity of host server1 . example . com cant be established.
DSA key fingerprint is 6f : 10 : ec: 42: cd:cd:1b:cc:16:d2:8d:ef:5b:49:20:1c.
Are you sure you want to continue connecting (yes/no) ? yes
Warning : Permantly added server1 . example . com, 192 . 168 . 0 . 254 (DSA) to the list of
known hosts.
student@ server1. example . coms password: entrez_votre_mot_de_pass__cet_endroit
getme . bc . secure
100% \ ******************************************\
00 : 00
Etablissez une session crypte avec le serveur de la salle de classe et vrifiez si votre fichier a t
transfr au serveur.
$ ssh student@server1
student@server1 . example . coms password:
[student@server1 student] $ 1s *bc
getme . bc getme . bc . secure
[student@server1 student ] $ exit
Rsultat :
Le transfert scuris dun autre fichier texte modifi et rebaptis au serveur de la salle de
classe.
*** Fin de la squence 2***

Page N 170

Linux : Principes de Base

Elies JEBRI

Mise en situation :
Cette squence servira vous faire utiliser la commande rsync pour excuter une synchronisation
avec plusieurs fichiers du serveur de la salle de clase.
Tches :
Excutez une opration de synchronisation (c. --d. avoir des fichiers identiques sur
diffrents ordinateurs) avec le rpertoire personnel du serveur de la salle de classe, en
transfrant des fichiers nouveaux ou modifis votre systme local.
$ cd
$ rsync --rsh= ssh student@server1:get*.
student@station 3s password:
$ 1s getme*
getme.af
getme . ai
getme . bg
getme . cf
getme . af . secure getme . ai . secure getme . bg . secure getme . cf . secure
getme . ag
getme . bc
getme . bh
getme . cg
getme . ag . secure getme . bc . secure
getme . bh . secure
getme . cg . secure
. . . sortie tronque . . .
Rsultat:
Synchronisation entre le rpertoire personnel de student sur le serveur et votre rpertoire personnel
local.
***Fin de la squence 3***

Page N 171

Linux : Principes de Base

Elies JEBRI

LEON 14

Utiliser lditeur vi
Objectifs :
Utiliser lditeur vi
Commencer et terminer une session ddition vi
Positionner le curseur dans vi
Insrer et effacer du texte
Editer en utilisant vi
Utiliser des recherches de texte par expressions rgulires dans vi

Thmes abords :
Lditeur vi
Sessions ddition vi
Sauvegarde de fichier
Positionnement du curseur dans vi
Insertion et suppression de texte
Editer du texte laide de vi
Expressions rgulires dans vi

Page N 172

Linux : Principes de Base

Elies JEBRI

Vi : vue densemble
Vi est labrviation de visual editor, diteur visuel . Il est lditeur de
texte standard de linux
Il est utilis dans de nombreux systmes dexploitation UNIX.
Le programme vi distribu par Red Hat Linux est en ralits vim (vi improved ) ; il comprend de
nombreuses caractristiques amliores . Cette leon se concentre sur les caractristiques
traditionnelles de vi.

Page N 173

Linux : Principes de Base

Elies JEBRI

Lancer vi
Vi filename
Si le fichier existe, il est ouvert et son
contenu saffiche
Si le fichier nexiste pas, vi cre lorsque
les dition sont sauvegardes pour
premire fois.

Editer un fichier existant avec vi


Les ditions vi sont excutes dans le travail et buffer de la mmoire . Au dbut dune session
ddition , vi lit le fichier diter au buffer de travail. Durant la session ddition , vi effectue toutes
les modification sur lexemplaire du fichier qui se trouve en mmoire. Il ne modifie lexemplaire qui
se trouve sur le disque que lorsque vous crivez le contenu du buffer de travail sur le disque.

Vous pouvez spcifier la position initiale de votre curseur lorsque vous ouvrez un fichier.
Exemple :
Vi +53 filename
Vi +/foo filename
Ouvrira filename avec le curseur plac au dbut de la ligne 53 ou la premire occurrence de
la chane foo.
Crer un nouveau fichier, Lancez simplement vi en spcifiant le nom du fichier que vous
voulez crer.

Page N 174

Linux : Principes de Base

Elies JEBRI

Modes vi
Vi opre en deux modes :
Mode commande
Naviguer, supprimer, couper, coller, rechercher.
Passez en mode commande en appuyant sur ESC
Mode insertion
Tapez le nouveau texte
Passez en mode input en tapant
[ iIaAoOcCRsS ]
Il existe de nombreuses faons dentrer en mode insertion, selon la manire dont vous
voulez commencer ldition de texte. Le tableau ci-dessous prsente les diffrentes
mthodes dentrer en mode insertion et le comportement qui y est- associ :
i
I
a
A
o
O
c
C
R
s
S

-Insrer le texte devant lemplacement du curseur


-Insrer le texte au dbut de la ligne en cours
-Ajouter le texte aprs lemplacement du curseur
-Ajouter le texte la fin de la ligne en cours
- Ouvrir la ligne et dplacer le curseur la ligne au-dessous de la ligne en cours
- Ouvrir la ligne et dplacer le curseur la ligne au-dessus de la ligne en cours
- Commencer lopration de modification
- Modifier la fin de la ligne
- Entrer remplacement mode insertion (commencer rcrire le texte)
- Remplacer un caractre
- Remplacer toute la ligne (effacer la ligne puis aller en mode insertion au dbut de la
ligne)

Il nexiste quune faon de sortir du mode insertion : en appuyant sur ES.

Page N 175

Linux : Principes de Base

Elies JEBRI

Dplacer le curseur
Pour utiliser les commandes standard de dplacement du curseur, vrifiez que vous tes en mode
commande
La plupart des systmes grent le dplacement du curseur laide des touches flches, mme en
mode insertion
H - gauche dun caractre
L - droit dun caractre
K -en haut dun caractre
J -en bas dun caractre
0,$ - dbut /fin de la ligne en cours
-premier caractre non vide de la ligne en cours
= ou entre - Ligne suivante
w -dbut du mot suivante
b -dbut de mot prcdant
e -fin du mot suivant
gg -haut du fichier en cours
G -fin du fichier en cours
nG -aller la ligne nn du fichier en cours
n% -aller la ligne n pour cent du fichier en cours
La plupart de ces commandes peuvent tre accompagnes dun prfixe numrique pour se dplacer
une distance spcifique . Exemple :
12K - se dplacer de 12lignes vers le haut.
20b - reculer de 20 mots.

Sauvegarder et sortir de vi
Depuis la lignes de commande (appuyer sur ESC) :
:w - Ecrire sur le disque
: q - Quitter si les modifications ont t
sauvegardes
Pour des raisons historiques, plusieurs
commandes peuvent gnrer des actions
semblables ou identiques :wq ou :x ou
zz crivent des fichiers et quittent.
Sauvegarder et / ou sortir des commandes
Si vous devez sauvegarder un exemplaire de votre document dans un nom de fichier autre
que celui dans lequel vous lavez ouvert , vous pouvez spcifier un nouveau nom de fichier
durant lopration dcriture comme suit :
:w [filename ]
Page N 176

Linux : Principes de Base

Elies JEBRI

Pour contourner les protections et crire dans un fichier en lecteur seule qui vous
appartient :
:w !
Pour quitter maintenant en effaant des ditions :
:q !

Couper, Copier et Coller

Lorsque vous effacez du texte , vi place


le texte effac dans un buffer

Vous pouvez galement "yank ", copier ,


du texte dans le buffer sans leffacer

Vous pouvez galement "paste ", coller, le contenu


du buffer dans le document

Les deux commandes primaires utilises pour effacer du texte et le placer dans le buffer sont "d "
et "x " . Elles peuvent toutes deux tre associes des commandes de dplacement :
X
nx
dd
ndw
d$
nd$

- effacer un seul caractre


- effacer les prochains n caractres
- effacer la ligne en cours
- effacer les prochains n mots
- effacer la fin de la ligne
- effacer n lignes en-haut

Pour copier du texte dans le buffer sans leffacer , vous


semblables aux commandes deffacement prsentes :
Yw
nyw
dd
y$
yy
:$

-copier un mot
-copier les prochains n mots
-effacer la ligne en cours
-copier la fin de la ligne
-copier toute la ligne
curseur
- Aller en fin du fichier.

sans

pouvez utiliser des commandes

considrer

lemplacement

du

Pour "coller " du texte depuis le buffer dans votre document, vous pouvez utiliser les commandes
suivantes :
P coller le texte droite lemplacement en cours.
P coller le texte gauche de lemplacement en cours.

Annuler les modifications


u -annule la dernire modification en ligne
Page N 177

Linux : Principes de Base

Elies JEBRI

u -annule toutes les modifications dune ligne avant de dplacer le curseur


une ligne
:e ! pour abandonner toutes les modifications et recharger la dernire
version sauvegarde.
Excution de commandes :
Esc :! <cmd>

Rcuprer un fichier
Si votre session vi est termine par la fermeture du Shell ou tout autre vnement inattendu,
vous pouvez souvent rcuprer le texte qui risque dtre perdu. Le systme effectuer parfois une
sauvegarde du buffer de travail . Utilisez les commandes suivantes pour voir si vi a sauvegard
le contenu de votre buffer de travail :

Vi r filename
Si votre travail a t sauvegard, vous ditez un exemplaire de voter buffer de travail.
Utilisez immdiatement :w pour sauvegarder cet exemplaire sauvegard sur le disque. Vous
pouvez maintenant continuer diter.

Rechercher du texte
peut chercher des chanes simples ou de puissantes expressions rgulires
vous pouvez rechercher vers lavant avec / ou en arrire avec ?
chercher des retours la ligne la fin du document
appuyer sur n pour chercher la prochaine occurrence
En mode commande, tapez / ou ? pour lancer la recherche de texte. Lorsque vous avez entr la chane
de recherche , elle sera affiche au bas de lcran. Lorsque elle est entre, le curseur se placera sur le
prochain emplacement de la chane de recherche.
Pour effacer de nombreuses recherches indiques, suivez les tapes suivantes :
Entrez la chane de recherche selon les instruction ci-dessus
Effectuez les modifications dans le texte trouv, par exemple laide de la
commande 'change'.
Rptez la recherche laide de la commande n
Rptez la commande, le cas chant, laide de la commande.
De nombreuse autres commandes de recherche et remplacement existent. Voici quelques
exemples :
: s/ oldtext /newtext /g
-rechercher et remplacer toutes les instances dune ligne avec
confirmation
:% s/ oldtext /newtext /g -rechercher et remplacer toutes les instances dans un fichier entier sans

:10.20S / oldtext /newtext /g -remplacer toutes les instances entre les lignes 10 et 20

Page N 178

Linux : Principes de Base

Elies JEBRI

:.,+5S /oldtext /newtext /g -remplacer toutes les instances de la ligne en cours jusquaux 5 lignes
suivantes.

Chercher du texte avec des expression rgulires


les expressions rgulires sont des mcanismes puissantes utilise pour chercher des caractre
de texte
les chanes ordinaires sont des expressions rgulires simples
utilis par de nombreux utilitaires, y compris vi et grep

les expressions rgulire sont orientes sur les lignes ( commande de rechercher de vi est
oriente sur les lignes ) .En cas dautre termes , une recherche d expression rgulire de "Jane
Smith " ne trouvera pas "Jane " la fin dune ligne et "Smith " au dbut de la ligne suivante .

Que sont les expressions rgulires ?

les caractristiques des caractre rgulier et des mta-caractres utiliss pour chercher les
lignes de texte.
Les mta-caractres sont des caractre qui ont une signification particulire, comme ., qui
entend " tout caractre"
Elles sont diffrents des lignes de commande de la gnration, des noms de fichiers avec * , ? ,
[ ] et ~

Une expression rgulire est une chane forme de caractre ordinaires et de caractre spciaux
optionnels (appels mta-caractres) . Un mta-caractres a une signification particulire :il dcrit les
caractristiques des caractre.
Les expressions rgulires utilisent certains des caractre de la gnralement nom fichiers , mais ont
un autre but et fonctionnent diffremment .

Page N 179

Linux : Principes de Base

Elies JEBRI

Mta- caractres dexpression rgulire


Symbole

.
[]

Dfinition
tout caractre simple
tout caractre simple dans le [ ]

Dbut de la ligne

Fin de la ligne

Cit le prochain caractre

le caractre , correspond un seul caractre , Smith ,correspondrait Smith ou Smith 4 et non pas
simplement Smolt
les parenthses carres dlimitent un ensemble de caractre dont lun est le correspondant cela
ressemble au . mais ne vous permet pas de restreindre plus que tout caractre. Exemple :
/ [ L1 ] inux
trouvera la prochaine occurrence de Linux sans tenir compte de la majuscule . Des sries de caractre
peuvent aussi aussi correspondre :
/ Step 1 [ 0 - 9 ]
correspondrait autant Step 10 qu .Step 13 mais pas Step 20 ou Step 1.
^ et $ sont des ancrages qui correspondrent des caractristique respectivement au dbut au la fin de
la ligne . Exemple :
/ ^ Step 1 [ 0-9]
correspondrait Step 15 uniquement sil se trouvait en dbut de la ligne .
/ supprimer le sens spcial du proche mta-caractre .On pourrait utiliser :
/ \ / etc \ / rc \.d
pour chercher le rpertoire / etc / rc .d dans un document .sans utiliser le trait oblique arrire le trait
oblique lui-mme signalerait la fin de lexpression rgulire.

Page N 180

Linux : Principes de Base

Elies JEBRI

Revue des expressions rgulires


A quoi correspondent les commandes suivantes ?
Sm. th
Sm [ iy ] th
www\ .redhat \.com
^#!
^ ^ Yipes ! $$
smith , smyth , sm) th , sm th , ..
smith and smyth
www. redhat . com
# ! ( au dbut de la ligne )
^ Yipes ! $ en tant que ligne entire .Le premier ^ et le dernier $ signifient que lma correspondance
est ancre au dbut et la fin de cette ligne .Le second ^ est littral comme 1 est le mot
Yipes le pont dexclamation et le premier $ .Ainsi seul ^ Yipes ! $ seul sur une ligne sera
trouve.

FIN DE LA LEON 14

Questions et rponses
Rsume
Dbuter et terminer une session ddition vi
Commandes de mouvement et ddition
Rechercher et remplacer
Brve introduction aux expressions rgulires

Page N 181

Linux : Principes de Base

Elies JEBRI

EXERCICES DE LA LEON 14

Vi
Dure approximative : 1 Heure

Objectif :

vous habituer aux capacits ddition de lditeur de texte vi.

Configuration de dpart : Un systme Red Hat Linux install et fonctionnant.


Le paquetage vim-common doit tre install.
Squence1 : vimtutor
Mise en situation :
Utilisez vimyutuor pour vous habituer utiliser lditeur de texte vi.
Tches :
1.Inscrivez-vous comme lutilisateur student sur tty1. nexcutez pas la commande suivnate depuis une
session X :
$ vimtutor
Suivez simpelment les instructions qui saffichent lcran.

Rsultats :
Vous avez termin les exercices de vimtutor et avez appris aimer et apprcier vi.
***Fin de la squence***

Page N 182

Linux : Principes de Base

Elies JEBRI

LEON 15

OUTILS SYSTEME
Objectifs :
Comprendre la configuration de terminal
Apprendre comment rassembler des informations concernant le systme
Apprendre planifier des tches retardement
Apprendre utiliser Cron
Comprendre les notions de base de RPM
Apprendre les devoirs dun administrateur systme
Thmes abords :

Configuration de terminal
Rassemblement dinformations sur le systme
Excution de commandes retardement
Cron
RPM
Devoirs de ladministrateur systme

Page N 183

Linux : Principes de Base

Elies JEBRI

Configuration de terminal
TERM-Variable du type de terminal
Stty-changement ou visualisation des paramtres du terminal
Reset-remise ltat initial du terminal
Resize-rgllage du terminal la grandeur de la fentre courante
Le terminal est la fentre laide de laquelle vous interagissez avec la ligne de commande . Le
terminal peut tre une console virtuelle, un pseudo-terminal tel que xterm ou mme un terminal passif
connect physiquement au systme. Il est important de bien rgler les paramtre de terminal, afin que
les programmes saffichent correctement et que le clavier fonctionne adquatement.
TERM
Cette variable indique au systme quel type de terminal est utilis. Si elle nest pas configure
correctement, les programmes saffichent mal, voire pas du tout. Les types et dfinition de terminal
sont numrs dans le fichier / etc. / termcap. Pou rgler votre type de terminal, utilisez la commande
export :
$ export TERM= linux
stty
cet utilitaire configure ou affiche les paramtres du terminal . Il arrive parfois que la touche
deffacement arrire nefface pas, mais quelle produise plutt un caractre. Cela peut tre corrig
laide de la commande suivante :
$ stty erase ^ ?
rest
Il arrive de temps autre que la sorte dun programme ou dune commande fasse en sorte que le
terminal cesse dafficher les caractres correctement . Vous pouvez arranger cela en entrant la
commande de reset ltat initial. Mme si vous ne voyez rien . Entrez simplement reset et appuyer
sur la touche Entre.
Resize
Une fentre pseudo-terminal, telle que xterm, peut tre redimensionne la grandeur dsire laide de
la souris. Cependant, cette commande indique au systme de rgler la grandeur du terminal la
grandeur de la fentre courante, ce qui permet dassurer que la sortie dun programme est correcte.

Page N 184

Linux : Principes de Base

Elies JEBRI

Rassemblement dinformations concernant votre systme


uname-affichage des informations systme
hostname [-i ] :
nom dhte / adresse IP
/sbin / infconfig-utilitaire pour interfaces rseau
Le rle dadministrateur systme implique que lon connaisse les paramtres et les activits du
systme. Il existe cet effet de nombreux utilitaires pour vous permettre de rassembler des
information sur le systme.
Uname
Cette commande affiche diffrentes informations sur le systme. Loption a affiche tout. Exemple :
$ uname a
Linux station2 2.4 2 #1 Tue Apr 8 20 :41 :30 EDT 2001 i 686 unknow
Ifconfig
En plus de permettre la configuration dinterfaces rseau, cette commande, lorsquelle est entre sans
argument, fournit une liste des interfaces actives. Utilisez loption a pour visualiser toutes les
interfaces, actives ou inactives :
$ / sbin / ifconfig a
Linux encap :Local Loopback
inet addr : 127.0.0.1 Mask :225.0.0.0
UP LOOPBACK RUNNING MTU :3924 Metric:1
RX packets:5230 errors:0 overruns:0 frame:0
TX packet:5230 errors:0 overruns:0 carrier:0

Collisions:0 txqueuelen:0

Page N 185

Linux : Principes de Base

Elies JEBRI

Rassemblement dinformations
Concernant votre systme ( suite)
Who qui est en ligne
Last liste de tous les utilisateurs connects
Free affichage de la mmoire libre et utilise
Woh
Cette commande permet dafficher une liste des utilisateurs actuellement connects et de la priode de
connexion de chacun. Si vous utilisez les options H et i vous ajouterez galement la sortie les
titres des colonnes et les temps morts.
$ who - H - i
USER LINE LOGIN- TIME IDEL FROM
Root ttyl oct 17 01:17 08:40
Bob tty4 oct 16 06:06 10:29
last
la commande last affiche une liste des utilisateurs qui se sont rcemment connects, de mme que les
vnement systme rcents, tel que les redmarrages et arrts.
$ last
guru
guru
guru
reboot

pts/9
:0
Tue Oct 17 09:06 - 09:06 (00:00)
pts/8
:0
Tue Oct 17 08:06 still logged in
pts/10
:0
Tue Oct 17 08:06 still logged in
system boo 2.2.16-22 Fri Oct 13 19:33
3+14:25)

Free
Utilisez cette commande pour visualiser la mmoire libre et utilise.
$ free
total
used
free
shared buffers
cached
Mem:
257536 247204 10332 155652 8516
98356
-/+ buffers/ cache: 140332 117204
136040
1604 134436

Page N 186

Linux : Principes de Base

Elies JEBRI

Planification de processus excuter plus tard


Syntaxe
at heure < commandes>
atq [utilisateur]
atrm [utilisateur Id _ de _ travail _ at ]
Les commandes sont excutes au moment indiqu.
Toute sortie non redirige est envoye par courrier lectronique
lutilisateur.
Vous pouvez entrer une commande par ligne terminant lentre par un CTRL D seul sur une
ligne.
Largument heure peut avoir diffrents formats, illustrs dans les exemples ci- dessous. Reportez
vous la documentation en ligne pour avoir plus de dtails.
at 8 :00 pm December 7
at 7 am Thursday
at now + 5 minutes
at midnight + 23 minutes
la commande atq fournit une liste des travaux at actuellement en cours. Tout utilisateur privilgi(
root) peut entrer un nom dutilisateur comme argument pour obtenir les travaux en cours dautres
utilisateurs.
La commande atrm utilise pour liminer des travaux at en cours. LId_de_travail_at saffiche
lorsque le travail est soumis et aussi la demande atq. Tout utilisateur privilgi peut liminer les
travaux at dautres utilisateurs en fournissant le nom dutilisateur( user ID) de ceux-ci.

Planification de processus Priodiques :


Le mcanisme cron permet aux
processus dtre appeles priodiquement.
Lutilisateur ne doit pas tre connect.
Les travaux cron sont numrs dans un fichier cron tab.
Le mcanisme cron est contrl par un dmon appel crond. Ce dmon sactive toutes les
minutes environ et dtermine si certaines des entres des fichiers table cron des utilisateurs ont
besoin dtre excutes. Si le moment dexcution dune entre est pass, lentre est excute.
Il possible de rgler des travaux de sorte qils soient excuts aussi souvent qune fois par
minute ou aussi peu quune fois par an.

Page N 187

Linux : Principes de Base

Elies JEBRI

Utilisation de cron
Vous devez modifier et installer votre fichier
table cron.
Vous ne pouvez modifier directement un fichier
table cron.
Modifier le fichier et installez-le avec cron tab.
Ou
Modifier le fichier au moyen de cron tab.
Syntaxe
cron tab [- u utilisateur] fichier
crontab [-l-r -e]
les fichiers table cron(cron tab) sont stocks dans /var/spool/cron, auquel seuls les utilisateurs
privilgis ont accs. Pour accder au fichier crontab courant, on utilise la commande crontab.
Il existe deux faons de modifier le fichier crontab ; modifiez-le dans le rpertoire courant puis
installez-le en lutilisant comme argument avec la commande crontab ou alors utilisez loption -e.

Option
-u user
-e
-l
-r

Meaning
Install crontab for user. (Must be privileged to use)
Edit the current crontb using the editor specified in the VISUAL
or EDITOR environment variables
List the contents of the current crontab
Remove the current crontab

Page N 188

Linux : Principes de Base

Elies JEBRI

Format du fichier crontab


Une entre est compose de 5 champs dlimits par des espaces et suivis par une ligne de
commande.
Une seule entre par ligne et aucune limite quant la longueur de la ligne.
Les champs sont : minute, heure, jour du mois, mois et jour de la semaine.
Les lignes de commentaire commencent par un #
Vous pouvez sparer les champs dune entre par un nombre indfini despaces simples ou
despaces TAB.
Les valeurs de champ valides sont les suivantes :
Minute
Heure
Jour du mois
Mois
Jour de la semaine

0-59
0-23
1-31
1-12
0-6, 0 = dimanche

Les valeurs multiples peuvent tre spares par une virgule. De plus, le symbole ' *' plac dans un
champ signifie toutes les valeurs valides.
Le fichier crontab dun utilisateur devrait ressembler ceci :
#Min

Hour DoM Month DoW

13

13

13

Command

1,3,5 find ~ -name core |xargs rm -f

Mall s boo$LOGNAME< BOO;TXT

Gestionnaire de paquetages RPM


RPM permet aux utilisateurs de construire et de chercher des paquetages logiciels.
RPM permet ladministrateur systme dinstaller, mettre jour, liminer et
construire des paquetages.
RPM vrifie lespace disque requis et les dpendances lors de linstallation de
paquetages.
Installation de paquetages RPM :
Les noms des fichiers de programme RPM sont construits sur le modle suivant : paquetageversion-contruction.architecture.rpm. Ainsi, on pourrait avoir comme nom typique dun fichier de
paquetage xfm-1.3.2-13.i386.rpm. Pour installer ce fichier, procdez comme suit :
#rpm ivh xfm- 1.3.2-13.i386.rpm
Si le paquetage xfm est dj install ou si les paquetages dont dpend xfm ne sont pas installs,
rpm affiche un message derreur.
Mise jour de paquetages RPM
Page N 189

Linux : Principes de Base

Elies JEBRI

Rpm peut tre utilis pour installer un nouveau paquetage ou mettre jour un paquetage dj
install.
# rpm Uvh xfm-1.3.2-16.i386.rpm
Cette commande a pour effet de dsinstaller toute ancienne version du paquetage xfm et dinstaller
le nouveau fichier du paquetage dont le nom est indiqu dans la ligne de commande. Il est trs
courant dutiliser la variable U lors dune linstallation. Vous pouvez spcifier plusieurs noms de
fichier de paquetage sur la ligne de commande, mais lensemble de la commande choue si lun
des noms spcifis provoque une erreur dinstallation.
Actualisation de paquetages RPM
Vous pouvez demander rpm de ne mettre jour un paquetage RPM que si son ancienne version
est installe. Dans le cas contraire, le paquetage dont le nom apparat sur la ligne de commande
nest de commande nest pas install.
# rpm Fvh xfm-1.3.2-16.i386.rpm
Elimination de paquetages RPM
Vous pouvez liminer un paquetage du systme en ajoutant la variable e rpm. Le nom du
paquetage, et non pas un nom de fichier du paquetage, est donn comme argument.
# rpm e xfm
Si un autre paquetage dpend de xfm, rpm affiche un message derre
Interrogations rpm
Fournissent une liste des fichiers contenus dans un paquetage.
Fournissent une liste dinformations au sujet dun paquetage.
Indiquent quel paquetage des fichiers appartiennent.
Fournissent une liste des totaux de contrle et dautres informations sur les fichiers.
Interrogations de paquetages RPM
Rpm q xfm indique le nom, la version et la construction, si xfm est install.
Rpm qa indique les noms, les versions et les numros de construction de tous les paquetages
installs.
Rpm qf /bin/grep indique le nom du paquetage propritaire de /bin/grep (le chemain daccs
complet du fichier est ncessaire).
Rpm q ---changelog xfm fournit une liste des changements apports au paquetage xfm en
ordre chronologique.
Rpm q ---scripts xfm fournit une liste de tous les scripts avant et aprs installation.
Rpm q ---requires xfm fournit une liste des dpendances du paquetage xfm.
Listes de fichiers RPM
Rpm ql fileutils fournit une liste des noms de fichier contenus dans le paquetage fileutils
install.
Rpm qlp xfm 1.3.2-16.i386.rpm numre les fichier contenus dans le fichier de paquetage
spcifi.
Rpm gp ---filesbypkg *. Rpm donne le nom de paquetage et de chaque fichier de paquetage
spcifi.
Rpm gp filesbypkg *. Rpm donne le nom de paquetage et de chaque fichier dans le
paquetage de tous les fichiers se terminant par .rpm.
De nombreuses interrogations de paquetages installs peuvent galement tre effectues sur
des fichiers de paquetage.
Listes dinformations RPM
Page N 190

Linux : Principes de Base

Elies JEBRI

Rpm qi fileutils fournit une description du paquetage fileutils install, de mme que la date de
construction, lhte de construction, la date dinstallation et dautres informations.
Rpm qip xfm-1.3.2-16.i386.rpm fournit le mme genre de renseignements, mais fichier de
paquetage pour le indiqu.

GnoRPM
Outil GNOME RPM :
GnoRPM
Loutil GNOME RPM est une application graphique qui excute les mmes fonctions de base
que lutilitaire ligne de commande rpm. Il est trs pratique pour naviguer dans les
applications actuelle installes et interroger des paquetages, tout cela au moyen dune interface
pilote avec les souris. En outre, la fonction intgre Web Find effectue la recherche et
linstallation de paquetages directement depuis Internet.
GnoRPM peut tre lanc partir du menu pied GNOME en slectionnant Programs>System-GnoRPM ou depuis une invite de commande en entrant gnorpm

Devoirs de ladministrateur Systme

Gestion des utilisateurs


Gestion des logiciels
Contrle des journaux
Maintien de la scurit
Et tout le reste !

Gestion des utilisateurs


Lajout et llimination dutilisateurs nest quun des aspects de la gestion des utilisateurs.
Ladministrateur systme doit aussi parfois contrler laccs des utilisateurs, les parts de
disque, la politique des mots de passe et tout autre lment relatif aux utilisateurs du systme.
Gestion des logiciels
La tche dinstallation et de dsinstallation de logiciels est une partie importante de
ladministration systme. Aussi est-il extrmement important de toujours tre au fait des
publications errata et des avis de bogue les plus rcents.
Contrle des journaux
Il est trs important de contrler les divers fichiers journaux du systme. Il arrive souvent
quune entre dans un fichier journal soit le seul indice pour signaler que le systme quelque
chose qui ne va pas. Il est primordial de contrler les journaux sur une base quotidienne.
Maintien de la scurit
Maintenir la scurit signifie quil faut appliquer une politique de mots de passe svre,
restreinte laccs aux utilisateurs lorsque ncessaire et contrler laccs au systme et ses
ressources. Faire des copies de sauvegarde rgulirement aide aussi maintenir les
informations de scurit. Par dessus tout, la scurit ncessite quon sy applique. Cela signifie
que vous devez constamment tre jour dans lexcution de vos taches administratives !
Et tout le reste !
Page N 191

Linux : Principes de Base

Elies JEBRI

Il est nest pas rare que ladministrateur systme doive faire tout le ncessaire pour maintenir le
systme en tat de fonctionnement, ce qui inclut, par exemple, la rpartition ou linstallation de
matriel, la remise en marche au beau milieu de la nuit, etc

FIN DE LA LEON 15
Question et rponses
Rsum
Configuration terminal
Informations systme
Commande retardement
RPM
Administration du systme

Fichiers importantes tudis au cours de cette leon :


/etc/ termcap
Commandes importantes tudis au cours de cette leon :
stty
reset
resize
uname
ifconfig
who
last
free
at
atp
atrm
rpm
gnorpm

Page N 192

Linux : Principes de Base

Elies JEBRI

EXERCICES DE LA LEON 15
Outils systme

Dure approximative : 20minutes


Objectif

se familiariser avec les sous systmes at et cron . Explorer


la puissance de RPM.
Configuration de dpart : un systme Red Hat Linux install et fonctionnel.
Squence 1 : at
Mise en situation :
Utilisation de loutil at pour planifier un travail qui doit tre excut une date ou une heure
ultrieure.

Tches :
1.Prparez un travail at destin tre excut dans 5 minutes en entrant la commande ci-dessous. Ds
que vous entrez la commande, une invite at saffiche.
$ at now + 5 min
2.Indiquez at destine tre excut dans 5 minutes .
at > echo " This message was automgially sent via the at facility. "

3. Pour faire comprendre at que vous avez termin dentrer les commandes, appuyez
sur CTRLd.at vous rpond alors en vous affichant lheure laquelle lexcution du
travail est prvue.
at > <EOT
Job 4 at 2000-10-20 07 :31

Page N 193

You might also like