Vous êtes sur la page 1sur 110

Chapitre

I. Introduc2on Linux
I.A. Historique
I.B. Les Caractris2ques des systmes
I.C. Les distribu2ons Unix
I.C.1. Types de distribu2ons
I.D. Quelques dni2ons sous Linux
I.D.1. Le Kernel
I.D.2. Chemin daccs dun chier
I.D.3. Montage/Point de montage
I.D.4. Les noms des disques durs
I.D.5. La Par22on Swap
I.D.6. Les types de chiers sous Linux
I.E. Installa2on Linux (TP n1 )

I.E.1. Par22onnement du disque


I.E.2. Dmarrage sous GNOME
I.E.3. Dmarrage sous KDE

Introduc2on




v Dans le fonc2onnement global d'un PC, Windows est appel systme d'exploita2on.
Le systme d'exploita2on permet comme son nom l'indique d'exploiter les ressources du PC
(processeur, mmoire, carte graphique, lecteur DVD...etc.).



v Sans systme d'exploita2on, on se retrouverait comme avec une voiture sans moteur.
Et bien, Linux est un autre systme d'exploita2on disponible pour les PC.
Linux ne dsigne en ralit que le noyau sans interface graphique

Linux = (Le Noyau)

Introduc2on



v Pour obtenir un systme d'exploita2on (qu'on dsigne par GNU/Linux), il faut lui rajouter
tout un tas de logiciels et u2litaires. Linterface graphique sous Linux est un logiciel comme
un autre. Ainsi, il existe plusieurs Interfaces graphiques,
Les deux plus rpandues tant GNOME et KDE.




v De plus, tant donn que Linux (=le noyau) est sous licence libre (code source disponible et
Librement modiable) et galement gratuit, il est possible de "fabriquer" son propre
systme Dexploita2on Linux. Le rsultat de cela est qu'il existe un grand nombre de
systmes Dexploita2on GNU/Linux: on parle alors de distribu2ons.



I.A. Historique

Le dveloppement de Linux trouve son origine au dbut des annes 1990. Linus Torvalds est
alors tudiant un tudiant nlandais, l'universit d'Helsinki.

Cre par les laboratoires Bell dAT&T dans les annes 70.
UNIX a t dvelopp pour fournir un environnement de programma2on comparable ceux
des grands systmes.
La premire version dUNIX est crite en fortran et assembleur. Elle tait mono-tche.
UNIX est rcrit en C. Il est devenu adaptable (portable) sur divers ordinateurs.

I.B. Les Caractris2ques des systmes




Un systme dexploita2on est un ensemble de programmes qui coordonnent le fonc2onnement
des dirents composants matriels et logiciels dun systme informa2que.
UNIX est un systme dexploita2on ayant les caractris2ques suivantes :

Mul1-u1lisateurs et Mul1tches : cela signie que plusieurs u2lisateurs peuvent accder
simultanment au systme et excuter un ou Plusieurs programmes.

Temps partag : cest--dire que les ressources du processeur et du Systme sont rpar2es
entre les u2lisateurs.

Systme de chiers hirarchique : plusieurs systmes de chiers Peuvent tre ranachs au


systme de chiers principal ; chaque systme de chiers possde ses propres rpertoires.

I.B. Les Caractris2ques des systmes


Entres-Sor1es intgres au systme de chiers : les priphriques sont reprsents par


des chiers, ce qui rend le systme indpendant du matriel et en assure la portabilit ;
laccs aux priphriques est donc iden2que laccs aux chiers ordinaires.

Ges1on de la mmoire virtuelle : un mcanisme dchange entre la RAM et le disque dur


permet de pallier un manque de RAM et op2mise le systme.

Processus rentrants : les processus excutant le mme programme u2lisent une seule
copie de celui-ci en RAM.

Interface u1lisateur interac1ve (shell) : elle est cons2tue dun programme spar du
noyau permenant lu2lisateur de choisir son environnement de travail. Elle intgre un
langage de commandes trs sophis2qu (scripts).

I.C. Les distribu2ons Unix


I.C.1. Types de distribu2ons

v Toutes les distribu2ons ne Sont pas forcment gratuites.


qLinspire et Red Hat sont deux exemples de distribu2ons


payantes
q La distribu2on Mandriva est disponible en version
payante et en version gratuite

qLes distribu2ons les plus rpandues sont Ubuntu,


Mandriva, Suse, Fedora, Debian.

I.D. Quelques dni2ons sous Linux



I.D.1. Le Kernel
v Noyau (kernel) : ensemble de fonc0ons systme assurant la ges0on de la mmoire,
des E/S et des processus

I.D. Quelques dni2ons sous Linux


I.D.2. Le chemin daccs dun chier

Le systme de chier de Linux est une abstrac2on


virtuelle indpendante de tout support matriel. Tous
les rpertoires sont relis une racine "/" (parfois
nomm dossier racine) et aucun moment leur
support physique nest visible lu2lisateur de base.

I.D. Quelques dni2ons sous Linux


I.D.3. Montage/point de Montage

I.D. Quelques dni2ons sous Linux


I.D.4. Les noms de disques durs

hda

h : la premire lenre indique si le disque est de type IDE ou SCSI (un type de
connexion dirent la carte mre). Si c'est une IDE, la lenre est un h, si c'est un
SCSI (ou un S-ATA), la lenre est un s.

d : cene lenre ne change pas.

a : c'est cene lenre qui indique les dirents disques durs. hda reprsente le
premier disque dur IDE, hdb le second, hdc le troisime etc.

Lorsqu'on cre des par22ons, on ajoute gnralement un chire reprsentant le


numro de la par22on. Ainsi, si on a 3 par22ons sur notre disque hda, elles seront
nommes hda1, hda2, hda3...

I.D. Quelques dni2ons sous Linux



I.D.5. la par22on swap

Le swap sous Linux est ncessaire pour faire fonc2onner son


systme de manire op2male, mme avec beaucoup de
mmoire. L'espace de swap permet au systme d'y inscrire
toutes les donnes temporaires ncessaires aux
fonc2onnement des programmes en cours d'excu2on : en
gros, on y trouve tout ce qui est u2lis pour la mmoire
virtuelle.


I.D. Quelques dni2ons sous Linux

I.D.6. Les types de chiers sous linux

Les systmes UNIX dnissent dirents types de chiers :




Les chiers physiques, enregistrs sur le disque dur. Il s'agit du chier au sens
o on l'entend gnralement ;
Les rpertoires sont des chiers (nuds) de l'arborescence pouvant contenir
des chiers ou d'autres rpertoires. Un rpertoire con2ent minima un
rpertoire parent (not ..), correspondant au rpertoire de plus haut niveau,
et un rpertoire courant (not .), c'est--dire lui-mme ;
Les liens sont des chiers spciaux permenant d'associer plusieurs noms
(liens) un seul et mme chier. Ce disposi2f permet d'avoir plusieurs
instances d'un mme chier en plusieurs endroits de l'arborescence sans
ncessiter de copie, ce qui permet notamment d'assurer un maximum de
cohrence et d'conomiser de l'espace disque. On dis2ngue deux types de
liens :


I.D. Quelques dni2ons sous Linux

I.D.6. Les types de chiers sous linux


Les liens symboliques reprsentant des pointeurs virtuels (raccourcis)


vers des chiers rels. En cas de suppression du lien symbolique le
chier point n'est pas supprim.


Les liens physiques (aussi appeles liens durs ou en anglais hardlinks)
reprsentent un nom alterna2f pour un chier. Ainsi, lorsqu'un chier
possde deux liens physiques, la suppression de l'un ou l'autre de ces
liens n'entraine pas la suppression du chier.


I.D. Quelques dni2ons sous Linux

I.D.6. Les types de chiers sous linux

Les chiers virtuels n'ayant pas de relle existence physique car ils
n'existent qu'en mmoire. Ces chiers, situs notamment dans le
rpertoire /proc con2ennent des informa2ons sur le systme (processeur,
mmoire, disques durs, processus, etc.) ;


Les chiers de priphriques, situs dans le rpertoire /dev/,
correspondent aux priphriques du systme.

Chapitre 2
II. Prise en main de Fedora

II.A. La hirarchie des chiers sous linux


II.B. Le super-u2lisateur
II.C. No2on de chemin ou PATHNAME
II.D. Commande rela2ves aux rpertoires
II.D.1. la commande ls
II.D.2. la commande cd
II.D.3. la commande pwd
II.D.4. la commande mkdir
II.D.5. la commande rmdir

II.E. Ges2on des chiers et des rpertoires en mode commande (TP n2 )


II.E.1. Exercice 1 : Dplacement dans une arborescence de rpertoire , Listage du contenu
II.E.2. Exercice 2 : Cra2on et manipula2on de rpertoires
II.E.3. Exercice 3 : Manipula2on et visualision de chiers


II.A. La hirarchie des chiers sous Unix


/
la racine, elle con2ent les rpertoires principaux

/bin
Con2ent les excutables essen2els au systme, employs par tous les u2lisateurs.
/boot
Con2ent les chiers de chargement du noyau, dont le chargeur d'amorce.

/dev

Con2ent les points d'entre des priphriques.

/etc

Con2ent les chiers de congura2on ncessaires l'administra2on du systme (chiers passwd, group, ini@ab, ld.so.conf,
lilo.conf, ...).

/home

Con2ent les rpertoires personnels des u2lisateurs. Dans la mesure o les rpertoires situs sous /home sont des2ns
accueillir les chiers des u2lisateurs du systme, il est conseill de ddier une par22on spcique au rpertoire /boot an
de limiter les dgts en cas de satura2on de l'espace disque.

/lib
/mnt
/proc

Con2ent les bibliothques standards partages entre les direntes applica2ons du systme.
Permet d'accueillir les points de montage des par22ons temporaires (cd-rom, disquene, ...).
Regroupe un ensemble de chiers virtuels permenant d'obtenir des informa2ons sur le systme ou les processus en cours
d'excu2on.

/root

Rpertoire personnel de l'administrateur root. Le rpertoire personnel de l'administrateur est situ part des autres
rpertoires personnels car il se trouve sur la par22on racine, an de pouvoir tre charg au dmarrage, avant le montage
de la par22on /home.

/tmp
con2ent les chiers temporaires
/usr
Hirarchie secondaire
/usr/bin con2ent la majorit des chiers binaires et commandes u2lisateurs
/usr/lib

con2ent la plupart des bibliothques partages du systme

/usr/local con2ent les donnes rela2ves aux programmes installs sur la machine locale par le root
/usr/src

con2ent des chiers de code source

/var

con2ent des donnes versa2les telles que les chiers de bases de donnes, les chiers journaux (logs), les chiers du
spouleur d'impression ou bien les mails en anente.


II.B. Le super-u2lisateur


An de permenre ladministra2on du systme, un u2lisateur


spcial, nomm super u2lisateur (ou root), est toujours
considr par le systme comme propritaire de tous les
chiers (et des processus).
Le root est le seul connatre son mot de passe et le seul qui
peut ajouter de nouveaux u2lisateurs au systme.

II.C. No2on de chemin ou PATHNAME




Quand l'u2lisateur se connecte au systme Unix, il est posi2onn
automa2quement dans un rpertoire par dfaut qui est gnralement son
rpertoire de travail. Aprs l'u2lisateur peut se dplacer d'autre
rpertoire. Mais un instant donn, il est dans un des rpertoire dans
l'arbre.

Laccs un chier, du point de vue de lu2lisateur, seectue en
dsignant le nom du chemin (pathname) qui y mne. Ce chemin peut
tre :

absolu : partant de la racine
rela1f : par1r du rpertoire courant. Le rpertoire courant est un noeud
de l'arbre du systme de chier dont lequel est posi1onn l'u1lisateur
un instant donn.

II.C. No2on de chemin ou PATHNAME

Un chemin vers un chier scrit en sparant les dirents nuds qui le


composent par le caractre / .

Il y a deux rpertoires spciaux :

. : Pour dsigner le rpertoire lui-mme.


.. : Pour dsigner le rpertoire pre.

II.D. Commande rela2ves aux rpertoires

La commande ls
Syntaxe :
ls [op1ons] [noms]

Descrip2on :
ls liste les rpertoires et les chiers prciss dans noms. Par dfaut, la sor2e est
envoye l'cran par ordre alphab2que. Les op2ons dterminent les
informa2ons acher et la prsenta2on de l'achage. Sans op2ons, ls
n'envoie que le nom des chiers. Si noms n'est pas prcis, c'est le rpertoire
courant qui est list.

Op2ons courantes:
-R Traitement rcursif
-a Tous les chiers (y compris ceux qui commencent par un point)
-d Ache le nom des rpertoires sans leur contenu
-l Format long (avec beaucoup de dtails)
nom est le nom d'un chier ou d'un rpertoire (avec ou sans mtacaractres)

II.D. Commande rela2ves aux rpertoires

La commande cd
Syntaxe :
cd [rpertoire]

Descrip2on :
La commande cd permet de changer le rpertoire de travail. Si
rpertoire n'est pas prcis, alors le nouveau rpertoire de travail
sera le rpertoire de connexion ($HOME).

Op2on :
rpertoire reprsente le futur rpertoire de travail.

II.D. Commande rela2ves aux rpertoires

La commande pwd
Syntaxe :
Pwd

Descrip2on :
La commande pwd permet d'acher le rpertoire de travail.

Op2on :
La commande pwd n'accepte pas d'op1on

II.D. Commande rela2ves aux rpertoires

La commande mkdir
Syntaxe :
mkdir [-p] nouveau_rpertoire

Descrip2on :
La commande mkdir cr le rpertoire spci sur la ligne de commande
(nouveau rpertoire ). Si l'un des rpertoires intermdiaires n'existe
pas, la commande retourne un code d'erreur (exit status) sans crer le
rpertoire (sauf si l'op2on -p est spcie).

Op2ons courantes
-p permet de crer tous les rpertoires intermdiaires qui n'existeraient
pas.
rpertoire reprsente le nom du rpertoire crer. C'est un argument
obligatoire

II.D. Commande rela2ves aux rpertoires

La commande rmdir
Syntaxe :
rmdir [-p] [-s] rpertoire

Descrip2on :
La commande rmdir supprime le rpertoire spci sur la ligne de
commande (rpertoire ). Si il existe des chiers ou des sous rpertoires,
la commande retournera un code d'erreur ( exit status).

Op2ons courantes
-p permet de dtruire tous les sous-rpertoires vides.
-s mode silencieux (aucun achage).
rpertoire reprsente le nom du rpertoire dtruire. C'est un
argument obligatoire.

Chapitre 3
III. Les commandes de Ges2on des Fichiers sous linux

III.A. La commande cp
III.B. La commande mv
III.C. La commande rm
III.D. La commande cat
III.E. La commande less
III.F. La commande nd
III.G. La commande grep
III.H. La commande head
III.I. La commande tail
III.J. La commande sort
III.K. La commande ln
III.L. La commande wc
IV. La ges2on des u2lisateurs et des groupes sous Linux
IV.A. Les droits d'accs
IV.B. Les permissions
IV.C. Changement de propritaire et de groupe
IV.D. Droits daccs tendus (SUID, SGID et S2cky bit )
V. Lditeur de texte Vi

III. Les commandes de Ges2on des Fichiers sous linux

La commande cp
Syntaxe :
cp [-i] [-p] chier1 chier2
cp [-i] [-p] [-r] source1 [source2...] rpertoire

Descrip2on :
La commande cp copie le contenu de chier1 dans chier2 ;
ou bien elle copie source1 et source2 (etc...) dans rpertoire .

Op2ons courantes
-i mode interac2f, demande la conrma2on avant crasement.
-p conserve les dates du chier source.
-r copie rcursive de rpertoires.
source X reprsente le nom des chiers ou rpertoires copier.

III. Les commandes de Ges2on des Fichiers sous linux

La commande mv
Syntaxe :
mv [-f] [-i] source1 [source2...] des1na1on

Descrip2on :
La commande mv dplace les chiers chier1, chier2 etc...
dans des2na2on .
Si des2na2on est un chier, alors mv a pour ac2on de renommer
chier1 en des2na2on ; si des2na2on est un rpertoire, alors mv dplace
chier1 dans ce rpertoire.

Op2ons courantes
-i mode interac2f, demande la conrma2on avant crasement.
-f force la commande.
sourceX reprsente le nom des chiers ou rpertoires a dplacer.
des2na2on reprsente le nom des chiers ou rpertoires de des2na2on.

III. Les commandes de Ges2on des Fichiers sous linux

La commande rm
Syntaxe :
rm [-f] [-i] [-r] chier1 [chier2...]

Descrip2on :
La commande rm supprime les chiers spcis sur la ligne de
commande.
Si vous n'avez pas les droits d'criture sur chier1 , alors rm vous
demandera de conrmer votre ac2on ; la rponse oui (y) dtruira quand
mme le chier (sous rserve d'avoir les droits d'criture sur le
rpertoire).

Op2ons courantes
-i mode interac2f, demande la conrma2on avant chaque suppression.
-f force la commande (aucune conrma2on).
-r rcursif (dtruit tous les sous rpertoires.

III. Les commandes de Ges2on des Fichiers sous linux

La commande cat
Syntaxe :
cat [chier...]

Descrip2on :
La commande cat visualise et/ou concatne les chiers
spcis sur la ligne de commande.
Par dfaut, cat lit sur l'entre standard et ache le rsultat
sur la sor2e standard.

Op2on :
La commande cat n'admet pas d'op1on.

III. Les commandes de Ges2on des Fichiers sous linux

La commande less

Syntaxe :
less [chier...]

Descrip2on :
La commande less ache page par page le contenu dun
chier spcis sur la ligne de commande.

Op2on :
La commande less n'admet pas d'op1on.

III. Les commandes de Ges2on des Fichiers sous linux

La commande nd
Syntaxe :
nd rpertoire op1on1 [op1on2...]

Descrip2on :
La commande nd permet de rechercher un chier dans
l'arborescence par2r du point spci.

Op2ons courantes:
-name ch recherche sur le nom ch
-size n recherche sur la taille en blocs
-c2me n recherche sur la date de cra2on
-print ache le rsultat de la recherche
! nga2on du critre de recherche

III. Les commandes de Ges2on des Fichiers sous linux

La commande grep
Syntaxe :
grep [-ilsfv] expression [chier...]

Descrip2on :
La commande grep permet de rechercher expression dans chier .
Elle ache les noms de chiers ainsi que les lignes contenant expression.

Op2ons courantes
-i ne 2ent pas compte des minuscules et des MAJUSCULES
-l n'ache que le nom des chiers (pas les lignes)
-s pas de message d'erreur sur les chiers inaccessibles
-f ch spcie un chier contenant les expressions rechercher
-v ache toutes les lignes, sauf celles qui con2ennent l'expression
expression chane de caractres
chier nom des chiers traiter

III. Les commandes de Ges2on des Fichiers sous linux

La commande head & tail


Syntaxe :
head [-n] [chier...]
tail [-n|+n] [chier]

Descrip2on :
La commande head ache les n premires lignes d'un chier,
alors que tail ache les dernires lignes d'un chier.
Si n n'est pas prcis, il prend la valeur 10.

Op2ons courantes
-n nombre de lignes acher depuis le dbut/la n de chier
+n achage par2r de la ligne numro n
chier nom des chiers traiter

III. Les commandes de Ges2on des Fichiers sous linux

La commande sort
Syntaxe :
sort [-ufnr] [-o c] [chier...]

Descrip2on :
La commande sort trie les lignes des chiers en arguments et ache le rsultat
l'cran.
Par dfaut sort eectue un tri par ordre alphab1que; mais les op2ons
suivantes en modient les critres.

Op2ons courantes
-u permet de n'acher qu'une seule fois les lignes mul2ples
-f ne direncie pas les minuscules et MAJUSCULES
-n eectue un tri numrique
-r ordre dcroissant
-o c enregistre la sor2e dans c

III. Les commandes de Ges2on des Fichiers sous linux

La commande ln
Syntaxe :
ln [-s] chier1 chier2
ln [-s] chier1 [chier2...] rpertoire

Descrip2on :
La commande ln permet de crer des entres mul1ples dans l'arborescence
d'un systme de chiers pour un mme chier physique.
Ce qui revient dire que si l'on modie un chier, ses liens le sont aussi.
ln permet aussi de faire des liens dans des systmes de chiers dirents
par la mthode des liens symboliques (un peu comme les raccourcis de chez
MS). Si le dernier argument de la ligne de commande est un rpertoire, ln cre
des liens dans ce rpertoire pour tous les chiers prcits (chier1,
chier2, ...).

Op2on :
-s permet de faire un lien symbolique

III. Les commandes de Ges2on des Fichiers sous linux

La commande wc
Syntaxe :
wc [-lwc] [chier...]

Descrip2on :
La commande wc compte le nombre de lignes, mots, ou caractres
d'un chier texte. Si aucun chier n'est pass en paramtre, c'est
lentre standard qui sera lue. Si aucune op2on (-lwc) n'est prcise,
alors wc compte le nombre de lignes, mots, et caractres du chier.

Op2ons courantes
-l prcise que c'est le nombre de lignes qui doit tre compt
-w prcise que c'est le nombre de mots qui doit tre compt
-c prcise que c'est le nombre de caractres qui doit tre compt


IV. La ges2on des u2lisateurs et des groupes sous Linux

No1on d'u1lisateur (user)


Toute en2t (personne physique ou programme par2culier) devant interagir avec
un systme UNIX est authen2 sur cene machine par un u2lisateur ou user.

Ceci permet d'iden2er un acteur sur un systme UNIX. Un u2lisateur est
reconnu par un nom unique et un numro unique (la correspondance
nom/numro est stocke dans le chier /etc/passwd).


IV. La ges2on des u2lisateurs et des groupes sous Linux

Groupe
Un u2lisateur UNIX appar2ent un ou plusieurs
groupes. Les groupes servent rassembler des
u2lisateurs an de leur anribuer des droits
communs. Par exemple, sur un systme dot d'une
carte son, il y a souvent un groupe audio qui
regroupe les u2lisateurs autoriss en faire usage.


IV. La ges2on des u2lisateurs et des groupes sous Linux

Les Autres
tout un chacun n'tant ni propritaire du chier, ni
membre du groupe propritaire du chier.


IV. La ges2on des u2lisateurs et des groupes sous Linux
IV.A. Les droits daccs

Par la proprit d'un chier, on dsigne quel


u2lisateur appar2ent le chier, qui le possde.

par2r de cene possession (ou non), il sera ensuite
possible de dnir des permissions d'accs sur le
chier.


IV. La ges2on des u2lisateurs et des groupes sous Linux
IV.A. Les droits daccs

La possession d'un chier se dnit sur trois catgories :



-1- l'u1lisateur propritaire du chier (u).La plupart du
temps, il s'agit du crateur du chier.
-2- le groupe propritaire du chier (g). Si un
u2lisateur est membre d'un certain groupe qui possde
la proprit d'un chier, l'u2lisateur aura aussi
certaines permissions par2culires sur ce chier.

-3-les autres ,world, le reste du monde(o).Tout un
chacun n'tant ni propritaire du chier, ni membre du
groupe propritaire du chier.

IV. La ges2on des u2lisateurs et des groupes sous Linux


IV.B. Les Permissions

Les permissions : dsignent ce que les diverses


catgories d'u2lisateurs (propritaire d'un chier,
membres du groupe propritaire d'un chier et le
reste du monde) ont l'autorisa2on d'eectuer sur
un chier donn.

IV. La ges2on des u2lisateurs et des groupes sous Linux


IV.B. Les Permissions

Les permissions se dnissent sur trois niveaux :



la lecture d'un chier : cene permission est ncessaire pour
pouvoir accder au contenu d'un chier (couter une piste audio,
visionner un lm, lire un texte, naviguer l'intrieur d'un
rpertoire). Cene permission est note r (pour read, lire).
l'criture dans un chier : cene permission est ncessaire pour
pouvoir apporter des modica2ons un chier (corriger un texte
et enregistrer les changements ; ajouter, modier ou supprimer
un chier dans un dossier ; etc.). Cene permission est note w
(pour write, crire).

l'excu1on d'un chier : cene permission est ncessaire
par2culirement pour les logiciels, an qu'ils puissent tre
excuts. Cene permission est note x (pour execute, excuter).

IV. La ges2on des u2lisateurs et des groupes sous Linux


IV.B. Les Permissions

IV. La ges2on des u2lisateurs et des groupes sous Linux


IV.B. Les Permissions

Type de chier
d = directory
(Rpertoire)

User

Group

Others

IV. La ges2on des u2lisateurs et des groupes sous Linux


IV.B. Les Permissions

La commande chmod

Syntaxe :
chmod [-R] mode nom [...]
chmod [-R] [ ugoa]{+|-|=}[ rwx] nom [...]


Descrip2on :
La commande chmod change les droit d'accs aux chiers spcis sur la ligne de commande.
Deux manires d'anribuer les droits sont possibles. La premire s2pule les droits de manire
numrique par un calcul des direntes valeurs associes aux droits; la seconde permet de spcier ces
mmes droits de manire plus symbolique.


Op2ons courantes
-R rcursif sur tous les chiers et sous-rpertoires contenus si nom est un rpertoire
mode c'est la combinaison des droits numriques
ugoa caractre spciant le champ d'applica2on des modica2ons : u reprsente l'u2lisateur, g le
groupe, o les autres, a regroupe tous ces derniers.
+|-|= indique l'ac2on accomplir respec2vement l'ajout du droit, son retrait, ou bien son aecta2on.
rwx indique le droit proprement dit (r lecture, w criture, x excu2on).

IV. La ges2on des u2lisateurs et des groupes sous Linux


IV.B. Les Permissions

Exemple 1:

$ chmod 777 toto


$ chmod g-rw toto
$ chmod -x toto

rappel: r=4,w=2,x=1.
7=4+2+1 (r+w+x).
Les droits du chier toto seront donc
rwxrwxrwx

Le groupe propritaire du chier toto
n'aura plus l'accs ni en lecture, ni en criture.
rwx-- xrwx

Plus personnes n'aura le droit
d'excu2on sur le chier.
rw---- rw

IV. La ges2on des u2lisateurs et des groupes sous Linux


IV.B. Les Permissions

Exemple 2 :

$ chmod u+rwx,go+rx chier


donne tous les droits au user, et les droits en lecture et excu2on aux autres u2lisateurs.

chmod u+rwx,go+rx chier



chmod 755 chier

IV. La ges2on des u2lisateurs et des groupes sous Linux


IV.B. Les Permissions

A la cra2on dun chier, le systme met des valeurs de permissions par dfaut :

-rw- r- - r- - (644) pour les chiers.
dwx r-x r-x (755) pour les rpertoires.

Il est possible de changer les valeurs par dfaut, pour la session courante, par la commande
umask .

IV. La ges2on des u2lisateurs et des groupes sous Linux


IV.B. Les Permissions

La commande umask

Syntaxe :
umask [???]

Descrip2on :
La commande umask permet de dnir les droits aects par
dfaut aux chiers lors de leur cra2on. Si le masque ??? est omis,
alors umask ache le masque en cours.

Op2ons courantes
??? Chaque ? reprsente une valeur entre 0 et 7 qui est le complment
7 des droits aecter aux chiers. Si l'on veut avoir des chiers avec 751
(rwxr-x--x ) comme droits, il faudra dnir comme masque 026 (on
remarque que 7+0 = 5+ 2 = 1+ 6 = 7).

IV. La ges2on des u2lisateurs et des groupes sous Linux


IV.B. Les Permissions

Exemple 1:
$ umask 022
$ umask
022

Vos chiers seront donc crs avec


les droits 755 (777-022 = 755)
Pour connaitre le mask par dfaut de
la session ouverte


IV. La ges2on des u2lisateurs et des groupes sous Linux
IV.C. Changement de propritaire et de Groupe


IV. La ges2on des u2lisateurs et des groupes sous Linux
IV.C. Changement de propritaire et de Groupe

UID : Ladministrateur anribut un numro chaque u2lisateur


(User iden2ca2on), ce numro est mmoris dans les descripteurs de
chiers pour en iden2er le propritaire. Cest donc linforma2on
per2nente, u2lise par le systme Linux, pour iden2er un u2lisateur.
LUID de root est 0.



GID : Ladministrateur iden2e le groupe de connexion dun u2lisateur
grce au champ GID (Group Iden2ca2on). Le chier /etc/group associe un
nom de groupe ce GID et dnit les groupes supplmentaires de
lu2lisateur.


IV. La ges2on des u2lisateurs et des groupes sous Linux
IV.C. Changement de propritaire et de Groupe

Les commandes chown & chgrp

Syntaxe :
chown [-R] [-h] u1lisateur nom [...]
chgrp [-R] [-h] groupe nom [...]

Descrip2on :
La commande chown change le propritaire des chiers spcis sur la ligne de
commande.
La commande chgrp change le groupe des chiers spcis sur la ligne de
commande.

Op2ons courantes
-R : rcursif sur tous les chiers et sous-rpertoires contenus si nom est rpertoire
-h : traitement sur les liens symboliques
Nom : exprime le nom d'un chier ou d'un rpertoire
U1lisateur : reprsente soit le nom de l'u2lisateur, soit son UID
Groupe : reprsente soit le nom du groupe, soit son GID


IV. La ges2on des u2lisateurs et des groupes sous Linux
IV.C. Changement de propritaire et de Groupe

La commande id

Syntaxe :
id [u1lisateur]

Descrip2on :
La commande id ache des informa2ons concernant le Numro
d'u2lisateur (UID) ainsi que sur les groupes d'appartenance (GID).
Si u2lisateur est omis, id ache les informa2ons concernant
l'u2lisateur courant.

Op2ons courantes
u2lisateur nom d'un u2lisateur connu du systme


IV. La ges2on des u2lisateurs et des groupes sous Linux
IV.C. Changement de propritaire et de Groupe

Exemple 1 :
$ chown root toto
$ chown 102 toto
$ chgrp vincigroup toto

Remarque :
Seul le propritaire des chiers traits ou root ont le droit d'u2liser chown et chgrp .

Exemple 2 :
$ id
uid=102( rsl) gid=100( other) groups=101( lp)
$ id root
uid=0( root) gid=3( sys) groups=0( root), 1( other), 2( bin), 3( sys)


IV. La ges2on des u2lisateurs et des groupes sous Linux
IV.D. Droits daccs tendus (SUID, SGID et S2cky bit )

Les droits dendossement SetUID et SetGID bit :

Les droits dendossement correspondent symboliquement la lenre s


et numriquement aux valeurs 4000 pour liden2t du User et 2000
pour celle du groupe.

Si le SUID est plac sur un programme, celui-ci se voit aect, le temps
de son traitement, le numro du2lisateur du propritaire du chier
programme, avec tous les droits daccs correspondants.

De la mme faon, si le SGID est posi2onn, le numro de groupe
normale est remplac par le numro de groupe du propritaire du
chier programme.

Exemple :
Chmod u+s chier Chmod rwsr-xr-x chier Chmod 4755 chier
Chmod g+s chier Chmod rwxr-sr-x chier Chmod 2755 chier


IV. La ges2on des u2lisateurs et des groupes sous Linux
IV.D. Droits daccs tendus (SUID, SGID et S2cky bit )

Set UID et Set GID bit :


Quand un chier est excutable par son propritaire, il peut


de plus tre setuid. Cela signie que lorsqu'il est excut, il
l'est avec les droits de son propritaire, et non avec ceux de
l'u2lisateur qui le lance.

Par exemple, le programme passwd, qui permet un
u2lisateur de modier son mot de passe, est setuid root (c'est
dire qu'il est setuid et qu'il appar2ent l'u2lisateur root): il
doit pouvoir crire dans le chier /etc/passwd (ou /etc/
shadow), dans lequel seul root peut crire.


IV. La ges2on des u2lisateurs et des groupes sous Linux
IV.D. Droits daccs tendus (SUID, SGID et S2cky bit )

Droit daccs tendu pour les rpertoires : S1cky bit

Le S2cky bit correspond symboliquement la lenre t et


numriquement au droit 1000.

Un u2lisateur qui a le droit dcrire dans un rpertoire peut
supprimer tous les chiers de ce rpertoire.

Si le S1cky bit est posi2onn celui qui a cr le chier
est le seul avoir le droit de le supprimer.

Exemple :

chmod u+t rep


chmod 1777 rep


VI. Les jokers


Les jokers
Les jokers ("?", "*", "[]") sont aussi appels caractres gnriques car ils peuvent
remplacer tout ou partie d'un chemin, d'un rpertoire ou d'un nom de fichier.
Pour remplacer n'importe quelle chane de caractre:

*
Pour inclure tous les noms commenant par une lettre majuscule allant de A X:

[A-X]*
pour remplacer par un A ou un X

[AX]
Pour remplacer deux caractres:

??





LEditeur de texte vi

Vi est un des diteurs de texte les plus populaires sous Linux (avec Emacs et pico)

V. LEditeur de texte vi

malgr son ergonomie trs limite. est un diteur en2rement en mode texte, ce qui
signie que chacune des ac2ons se fait l'aide de commandes texte. Cet diteur, bien
que peu pra2que premire vue est trs puissant et peut tre trs u2le en cas de non
fonc2onnement de l'interface graphique.

La syntaxe pour lancer Vi est la suivante :
vi nom_du_chier

Une fois le chier ouvert, il vous est possible de vous dplacer l'aide des curseurs,
ainsi que des touches h, j, k et l (au cas o le clavier ne possderait pas de curseurs
chs).

V. LEditeur de texte vi

Vi possde 3 modes de fonc2onnement :



Le mode normal: celui dans lequel vous tes l'ouverture du chier. Il permet de
taper des commandes.

Le mode inser1on: Ce mode permet d'insrer les caractres que vous saisissez
l'intrieur du document. Pour passer en mode inser2on, il sut d'appuyer sur la
touche Insert de votre clavier, ou dfaut de la touche i.

Le mode de remplacement: Ce mode permet de remplacer le texte existant par le
texte que vous saisissez. Il vous sut de rappuyer sur insert (ou i) pour passer du
mode inser2on au mode remplacement, et d'appuyer sur la touche Echap pour revenir
en mode normal.

V. LEditeur de texte vi

Les commandes d'di1on

V. LEditeur de texte vi

Chapitre 4
IV. Introduc2on au Shell
IV.A. Le rle du shell
IV.B. Les dirents shells
IV.C. le dmarrage du shell
IV.D. les caractres dchappement
IV.E. Langage de commandes Bourne Shell
IV.E.1. Les variables
IV.E.2. Variables prdnies
IV.E.3. Exporta2on des variables
IV.E.3. Paramtres d'une commande
IV.F. Les tests dans le shell
IV.F.1. Tests sur les chiers
IV.F.2. Tests numriques
IV.F.3. Tests sur les chaines
IV.F.4. Combinaison de tests
IV.F.5. Commande expr
IV.G. Les structures condi2onnelles et les boucles
IV.G. 1. les structures IF & CASE
IV. G.2. Les boucle : FOR, WHILE, UNTIL et BREAK

IV. Introduc2on au Shell



Il existe deux catgories dou2ls pour travailler avec un systme Unix:



Les interfaces graphiques qui simplient lexcu2on des tches courantes de
lu2lisateur. On note lmergence des bureaux Gnome et KDE trs lis au monde Linux.
les Shels qui permenent aux u2lisateurs de saisir le texte des commandes
excuter .ce monde de travail est le seul accessible par2r dun terminal de type texte.
Il devient rapidement incontournable pour les u2lisateurs qui souhaitent exploiter au
mieux les ressources du systme Unix et des logiciels applica2fs.




IV. Introduc2on au Shell


IV.A. Le rle du Shell


Un interprteur de commandes (le "shell", la coquille qui entoure le "noyau" du systme) est
un programme qui sert d'intermdiaire entre l'u2lisateur et le systme d'exploita2on.
Sa tche essen2elle est l'excu2on de programmes.

Pour cela, il eectue (en boucle innie) : la lecture d'une ligne sa comprhension comme une
demande d'excu2on d'un programme avec d'ventuels paramtres.

IV. Introduc2on au Shell


IV.B. Les dirents Shells



Voici les noms des principaux shell qui existent :

sh : Bourne Shell. L'anctre de tous les shells.

bash : Bourne Again Shell. Une amliora2on du Bourne Shell, disponible par dfaut sous Linux et
Mac OS X.

ksh : Korn Shell. Un shell puissant assez prsent sur les Unix propritaires, mais aussi disponible
en version libre, compa2ble avec bash.

csh : C Shell. Un shell u2lisant une syntaxe proche du langage C.

tcsh : Tenex C Shell. Amliora2on du C Shell.

zsh : Z Shell. Shell assez rcent reprenant les meilleures ides de bash, ksh et tcsh.

IV. Introduc2on au Shell


IV.B. Les dirents Shells


volu2on des shells. Chacun hrite de la plupart des fonc2onnalits de son anctre

IV. Introduc2on au Shell


IV.C. Le dmarrage du Shell



Lors de la cra2on de son compte, un u2lisateur est associ un type de shell

Lire le chier /etc/passwd : le dernier champ con2ent le nom du chier excutable (shell par
dfaut) /bin/bash

Le shell associ est ainsi lanc automa2quement ds la saisie du login u2lisateur.
Il poursuit sa congura2on en excutant des scripts globaux tous les u2lisateurs et des
scripts lis au compte et qui permenent une personnalisa2on.
Enn, il ache le prompt et se met en anente de la lecture d'une commande.
Jusqu' la commande exit, pour quiner le shell (ce qui quivaut se dconnecter (logout))

IV. Introduc2on au Shell


IV.D. les caractres dchappement


Les mta-caractres

*

?

[abc...]


Correspond une chane de caractres quelconque (mme vide).

Correspond un caractre quelconque.

Correspond un des caractres spcis dans la liste. Il est possible de
dcrire des listes de caractres en ne prcisant que le premier
caractre et le dernier caractre de la liste spar par un moins (par
exemple : a-z, I-M, 0-9).

[!abc...] Correspond tout caractre non spci dans la liste.





IV. Introduc2on au Shell


IV.D. les caractres dchappement


Les guillemets
Tous les caractres compris entre les apostrophes (quote en anglais) sont pris en
compte tel quel.
` ` La chane comprise entre les an2-apostrophes (back-quote en anglais) est value en
tant que commande et son rsultat vient se subs2tuer la chane ini2ale.
\ Tout caractre prcd d'un \ est pris en compte tel quel. Ceci est trs u2le pour
ache tous les caractres interprts par le shell.
"" Seul les caractres non interprtables (espace compris) sont pris en compte tel quel,
les autres sont interprts.

IV. Introduc2on au Shell


IV.D. les caractres dchappement


Les sparateurs
cmd &

Lance la commande cmd en arrire plan.

cmd1 ; cmd2

Sparateur de commandes. Permet d'crire deux commandes sur la


mme ligne.
Ensemble de commandes groupes.

(cmd1 ; cmd2)
cmd1 | cmd2

cmd1 && cmd2


cmd1 || cmd2
{ cmd1 ; cmd2 }

Tube (Pipe). Permet de rediriger le canal de sor2e de la commande


cmd1 vers le canal d'entre de cmd2. Les informa2ons vont tre
traites d'abord par cmd1 puis par cmd2.
Excute la commande cmd1 puis, si cmd1 s'est bien droule, excute
cmd2.
Excute la commande cmd1 puis, si cmd1 s'est mal droule, excute
cmd2.
Permet d'excuter un ensemble de commandes dans un sous-shell.

IV. Introduc2on au Shell


IV.D. les caractres dchappement


Les redirec1ons
cmd n> ch

cmd n>>ch
cmd < ch

Envoie le canal n de la commande cmd vers le chier ch (en crasant ch


s'il existe). Si n n'est spci ou s'il vaut 1, c'est le canal de sor2e, s'il vaut
2 c'est le canal d'erreur.
Envoie le canal n de la commande cmd vers chier ch (en ajoutant ch
s'il existe). Si m n'est spci c'est le canal de sor2e.
Renvoie dans le canal d'entre de la commande cmd le chier ch.

cmd <<texte

Renvoie dans le canal d'entre de la commande cmd toutes les chanes de


caractres provenant du canal d'entre standard jusqu' qu'apparaisse la
phrase texte. Si aucun texte n'est spci, la lecture s'arrte sur EOF.

cmd m>&n

Envoie le canal n vers le canal n. Si m n'est spci c'est le canal de sor2e.

cmd n> ch

Envoie le canal n de la commande cmd vers le chier ch (en crasant ch


s'il existe). Si n n'est spci ou s'il vaut 1, c'est le canal de sor2e, s'il vaut
2 c'est le canal d'erreur.
Envoie le canal n de la commande cmd vers chier ch (en ajoutant ch
s'il existe). Si m n'est spci c'est le canal de sor2e.

cmd n>>ch

IV.E. Langage de commandes Bourne Shell


IV.E.1. Les variables


Les variables

une variable est iden2e par un nom (suite de caractres commenant par une
lenre)

par exemple : x, jour, chier_erreur, x1 . Elle possde une valeur (de type chane de
caractres) par exemple 44, /etc/ch, n.

Le contenu dune variable est obtenu par son nom prcd de $, ex: $x
Pour aecter une valeur a une variable : variable=valeur

Exemples:
$ x=400
echo $x
400
$ rep=/home/prof/enseignant-X/projets
$ cd $rep
$ pwd
/home/prof/enseignant-X/projets

IV.E. Langage de commandes Bourne Shell


IV.E.1. Les variables


Les variables

peut tre aecte la valeur a une variable de manire interac2ve : read var
echo "donner votre choix"
read reponse

commande read
Soit le programme shell :
#!/bin/bash
echo "veuillez crire 2 mots"
read a b
echo "vous avez saisi $a $b"
rsultat :
> veuillez crire 2 mots
> salut david
> vous avez saisi salut david

on peut dtruire la variable par: unset
$ unset rep

IV.E. Langage de commandes Bourne Shell


IV.E.2. Les Variables prdnies


Les variables prdnies

Environnement :
L'environnement d'un shell con2ent un certain nombres de variables prdnies La
liste de toutes les variables (prdnies ou dnies par l'u2lisateur) peut tre obtenue
avec la commande set

Variables prdnies :

HOME : rpertoire d'accueil
PATH : chemin d'accs aux commandes
TERM : type du terminal
IFS : liste des sparateurs des arguments d'une commande
PS1 : prompt primaire
PS2 : prompt secondaire
PWD : rpertoire actuel
MAIL : nom de la bote lenre

IV.E. Langage de commandes Bourne Shell


IV.E.3. Exporta2on des variables


Exporta1on des variables

Le shell n'excute pas lui mme les commandes qu'on lui demande mais cre un
autre shell qui se charge de l'excu2on.

Les variables du shell pre ne sont pas connues des processus ls.
Pour qu'une variable soit commune tous les processus ls d'un processus elle
doit tre exporte.
$ var=19
$ export var
$ sh ; echo $var
19

IV.E. Langage de commandes Bourne Shell


IV.E.3. Paramtres d'une commande


Paramtres d'une commande


$ cmd arg1 arg2 arg3
Dans cmd :

$0 reprsente le nom de la commande


$1 premier argument
$2 deuxime argument
$n nime argument (n <=9)
$# le nombre d'arguments
$* liste des arguments en un seul mot
$@ liste des arguments tels quils sont passs
$$ PID du shell
$? la valeur retourne par la dernire commande

IV.F. Les tests dans le shell


IV.F.1. Les tests su les chiers

Syntaxe :
test expression

Les tests sur les chiers

Tests sur les chiers :


test -f arg vrai si arg est un chier ordinaire
test -x arg vrai si arg existe et est un chier excutable
test -w arg vrai si arg existe et est autoris en criture
test -d arg vrai si arg est un rpertoire
test -l arg vrai si arg est un lien symbolique
test -s arg vrai si arg existe et est non-vide

IV.F. Les tests dans le shell


IV.F.2. Tests numriques

Les tests numriques

syntaxe :
test val1 oprateur val2

oprateur peut tre :
-eq =
-ne
-gt >
-ge
-lt <
-le

IV.F. Les tests dans le shell


IV.F.3. Tests sur les chanes

Les tests sur les chaines

test chane vrai si chane vide



test z chane
vrai si longueur chane est nulle

test n chane vrai si longueur chane nest pas nulle

test chane1 = chane2 vrai si les deux chanes sont iden2ques

test chane1 != chane2 vrai si les deux chanes ne sont pas
iden2ques

IV.F. Les tests dans le shell


IV.F.4. Combinaison de tests

Combinaison de tests

! (nga1on) -a (et logique) -o (ou logique)


\( \) permet de grouper plusieurs tests

exemple :
test \( -r ch1 -o -r ch2 \) -a -w ch3
vrai si ch1 ou ch2 accessible en lecture et ch3 accessible en criture

IV.F. Les tests dans le shell


IV.F.5. Commande expr

Commande expr

value lexpression forme par les arguments et retourne la valeur du


rsultat

syntaxe :
expr n1 + n2
expr n1 - n2
expr n1 * n2
expr n1 / n2
expr n1 % n2 (modulo)

IV.G. Les structures condi2onnelles et les boucles


IV.G. 1. les structures IF & CASE

La structure IF

Syntaxe:
if commandes1
then
commandes2
[ elif commandes ; then suite_de_commandes ]...
[ else commandes ]

Si commandes1 retourne 0 => commandes2 sera excut


1 => elif puis else
Exemple:
if test f chier
then echo chier existe
else echo chier nexiste pas

IV.G. Les structures condi2onnelles et les boucles


IV.G. 1. les structures IF & CASE

La structure case

Syntaxe:
case variable in
chane1) commande1 ;;
chane2 | chane3) commande2 ;;
chane4 | chane5 | chane6 | ) commande3 ;;
*) commande4 ;;
esac

IV.G. Les structures condi2onnelles et les boucles


IV.G. 1. les structures IF & CASE

La structure case

Exemple:

echo pour imprimer le chier taper : i
echo pour dtruire le chier taper : d
echo votre rponse ?
read reponse
echo
case $reponse in
i | I | [iI]*) ac2on=i ;;
d | D | [iD]*) ac2on=d ;;
*) echo erreur : ac2on non prise en compte ;;
esac

IV.G. Les structures condi2onnelles et les boucles


IV. G.2. Les boucles : FOR, WHILE, UNTIL et BREAK

La boucle For
premire syntaxe :

for variable in val1 val2 val3 .


do
commandes
done

deuxime syntaxe :

for var in val1 val2 val3 .


do
suite_de_commandes
done

IV.G. Les structures condi2onnelles et les boucles


IV. G.2. Les boucles : FOR, WHILE, UNTIL et BREAK

La boucle For
Exemples:

#!/bin/bash
for a in toto tata
do
echo $a
done

#!/bin/bash
For ((i=0 ; i<=10 ; i++))
do echo $i
done

IV.G. Les structures condi2onnelles et les boucles


IV. G.2. Les boucles : FOR, WHILE, UNTIL et BREAK

La boucle While
La boucle while excute une squence de commandes tant quune
condi2on est vraie.

Syntaxe :
while commande1
do
commandes
Done

Exemples:
while test $# -ne 0
do echo $1
shi
done

IV.G. Les structures condi2onnelles et les boucles


IV. G.2. Les boucles : FOR, WHILE, UNTIL et BREAK

La boucle Un1l
La boucle un2l fonc2onne linverse de la boucle while

Syntaxe :
un1l commande1
do commandes
done
Tant que le rsultat de commande1 est faux alors excuter commandes
false retourne toujours faux

Exemple :
un2l test $# -eq 0
do echo $1
shi
done

Manipula2on de chiers


Couper un chier en morceau : split
La commande split permet de couper un chier en morceau (en plusieurs chiers),
ses op2ons sont :

- b n (Bytes) dcoupage par blocs de n octets
ou
- l n (Lignes) dcoupage par blocs de n lignes

Syntaxe : split chier
Exemple: split -10 mon-chier

Par dfaut, les chiers issus de la dcoupe auront un nom ayant pour prxe x et pour suxe
une suite de lenre du type aa, ab,ac... crs dans l'ordre lexicographique naturel (descendant
de 'a' vers 'z').

Manipula2on de chiers


Edi1on de champ d'un chier : cut

La commande cut permet d'extraire certains champs d'un chier. Les op2ons sont les
suivantes :

-c extrait suivant le nombre de caractres
-f extrait suivant le nombre de champs
-dx Le caractre x est le sparateur de champ

Avec la commande cut, le premier champ a comme numro 1, le deuxime 2 est ainsi de suite.

Manipula2on de chiers

Edi1on de champ d'un chier : cut

Soit le chier carnet-adresse suivant

ali:29:0298334432:rabat
nadia:13:0466342233:casa
lamiaa:75:0144234452:rabat
hamid:92:013344433:rabat

La commande : cut -c-10 carnet-adresse
Va extraire les 10 premiers caractres de chaque ligne, on ob2ent :

ali:29:029
nadia:13:0
lamiaa:75:
hamid:92:0

La commande : cut c1-3 carnet-adresse Va extraire du premier au troisime caractre de
chaque ligne.

ali
nad
lam
ham

Manipula2on de chiers

Edi1on de champ d'un chier : cut

La commande : cut -c25- carnet-adresse Va extraire du 25me caractre jusqu'


la n de chaque ligne.

La commande : cut -d: -f1,4 carnet-adresse Va extraire le premier et quatrime
champ, le : xant le sparateur de champ. On ob2ent :

ali:rabat
nadia:casa
lamiaa:rabat
hamid:rabat

La commande : cut -d: -f3- carnet-adresse Va extraire du troisime champ jusqu'au dernier
champ, soit :

0298334432:rabat
0466342233:casa
0144234452:rabat
013344433:rabat

Manipula2on de chiers

Fusion de chiers : paste

La commande paste permet la fusion de lignes de chiers. Les op1ons sont les
suivantes :

-dx Le caractre x dnit le sparateur de champs
-s Les lignes sont remplaces par des colonnes


Soit le chier carnet-adresse :
ali:29:0298334432:rabat
nadia:13:0466342233:casa
lamiaa:75:0144234452:rabat
hamid:92:013344433:rabat

Et le chier travail :
ingnieur
vendeuse
tudiante
prof

Manipula2on de chiers

La commande awk

awk : est une commande trs puissante, c'est un langage de programma2on, elle permet une
recherche de chanes et l'excu2on d'ac2ons sur les lignes slec2onnes. Elle est u2le pour
rcuprer de l'informa2on, gnrer des rapports, transformer des donnes entre autres. Une
grande par2e de la syntaxe a t emprunte au langage c.

Syntaxe

awk [-F] [-v var=valeur] 'programme' chier


ou
awk [-F] [-v var=valeur] -f chier-commande chier

L'argument -F doit tre suivi du sparateur de champ (-F: pour un ":" comme sparateur de
champ).
L'argument -f suivi du nom du chier de congura2on de awk.
L'argument -v dnit une variable (var dans l'exemple) qui sera u2lise par la suite
dans le programme.
Un programme awk possde la structure suivante: critre de slec2on d'une chane {ac1on},
quand il n'y a pas de critre c'est que l'ac2on s'applique toutes les lignes du chier.

Manipula2on de chiers

La commande awk

U1lisa1on
Considrons, 2tre d'exemple, le chier de donnes exemple.txt :

Si on tape :
$ awk '{print}' exemple.txt
Le Le contenu du chier exemple.txt s'ache l'cran.
La mme chose, crite diremment donnerait :
$awk '{print $0}' exemple.txt

Manipula2on de chiers

La commande awk

La variable $0 reprsente un enregistrement.


Il existe aussi $1, $2, ,
$NF reprsentant chaque champ de l'enregistrement courant.
NR Nombre d'enregistrements dj lus.
Le symbole $ est u2lis comme spcicateur de colonne.
NF est le nombre de champs de l'enregistrement.

La commande awk suivante excute sur le chier ci-dessus ache le premier champ.
Comme aucun arrangement n'a t spci, l'ac2on {print $1} s'applique tous les
enregistrements du chier :

$awk '{print $1}' exemple.txt

Manipula2on de chiers

La commande awk

L'arrangement NR > 1 pourrait tre spci pour sauter le premier enregistrement :


awk 'NR>1 {print $1}' exemple.txt

$ awk '{if($2>24) print $2, $1}' exemple.txt

OU $ awk '$2>24 {print $2, $1}' exemple.txt

Ges2on des Processus



La commande ps
Syntaxe :
ps [-ef] [-t liste] [-u liste]

Descrip2on :
La commande ps ache l'tat des processus; si aucune op2on n'est donne, ce sont les
processus de la session ac2ve qui sont achs.

Op2ons courantes
-e ache tous les processus du systme
-f ache les informa2on au format long
-t liste ache les processus lis aux terminaux de la liste
-u liste ache les processus lis aux u2lisateurs de la liste

Ges2on des Processus



La commande ps

La signica2on des direntes colonnes est la suivante:



UID

nom de l'u2lisateur qui a lanc le process
PID

correspond au numro du process
PPID

correspond au numro du process parent
C
facteur de priorit : plus la valeur est pe2te, plus le processus est prioritaire
STIME
correspond l'heure de lancement du processus
TTY

correspond au nom du terminal
TIME
correspond la dure de traitement du processus
COMMAND
correspond au nom du processus.

Ges2on des Processus



Changer la priorit d'un processus

Vous disposez de la commande nice pour modier la priorit d'un processus. La syntaxe est la
suivante :
nice -valeur commande

Plus le nombre est grand, plus la priorit est faible.
Par exemple une valeur de 0 donne, la priorit la plus haute 20 donne la priorit la plus faible.

Par exemple :
nice -5 ps ef
nice -5 monprogramme.c

Ges2on des Processus



Arrter un processus

Vous disposez de la commande kill pour arrter un processus, on doit aussi tuer un processus.
Si vous voulez arrter un processus, vous devez connatre son PID (commande ps), puis vous
tapez :

kill -9 PID

Un u2lisateur ne peut arrter que les processus qui lui appar2ent (qu'il a lanc). Seul
l'administrateur systme a le droit d'arrter un processus ne lui appartenant pas.

Ges2on des Processus



Lancer un processus en arrire plan

Pour lancer une commande quelconque, vous en saisissez le nom aprs le prompt du shell, tant
que la commande n'est pas termine, vous n'avez plus la main au niveau du shell, vous ne
disposez plus du prompt.

Si la commande prend un certain temps, votre shell ne vous donnera pas la main tant que la
commande n'est pas termine, vous tes oblig de lancer un autre shell, pour taper une autre
commande.

Ges2on des Processus



Lancer un processus en arrire plan

Vous disposez d'une technique simple qui permet de lancer une commande par2r d'un shell,
et de reprendre aussitt la main.
Il vous sut de rajouter un & la n de commande. Celle-ci se lancera en " tche de fond ", et
vous reviendrez directement au prompt du shell.

En tapant une commande en tche de fond, vous aurez l'achage :
ps &
[321]

A la suite de la saisie de la commande suivie d'un &, le shell vous donne immdiatement la
main, et ache le numro du PID du processus lanc. En lanant une commande par2r du
shell sans le & la n, et si celle-ci prend du temps vous rendre la main, vous pouvez faire en
sorte qu'elle bascule en tche de fond, pour que vous repreniez la main.

Ges2on des Processus



Lancer un processus en bg et le ramener en fg

fg (foreground, faire revenir une tche en avant plan. Un processus en avant plan s'excute plus
rapidement)

fg PID sinon fg sans PID concerne le processus en cours

bg (background, lance en tche de fond un processus suspendu aprs CRTL + Z)

Bonne chance pour lexamen



Fin de Cours LINUX