UNIX LINUX
TAHAR HAOUET
Plan P dagogique du cours
Module: UNIX/LINUX
Section : informatique
Niveau : 3 me niveau (gestion, industriel, r seau)
Volume Horaire : 22,5 heures Cours Int gr s + 45 Travaux Pratiques
Coefficient : 3
Evaluation : Interrogations Orale - Travaux dirig s Travaux Pratiques
Interrogations Ecrites
Suivi des versions du support
Version Date
R dig Par
Raison
1.0
2.0
Juin 2004
Tahar Haouet
F vrier 2005 Tahar Haouet
Cr ation du document
Non correspondance charge horaire
r alis / estim
R vision et Am lioration globale du
support
Objectif g n ral du cours
- D couvrir les sp cificit s du syst me Unix (Architecture- noyau&)
- Devenir autonome pour une premi re prise en main d'un syst me Unix
- D couvrir le syst me de gestion de fichier
- conna tre les m canismes de gestion des processus sous Unix
- Acqu rir la connaissance des commandes fondamentales du syst me
d'exploitation Unix travers des exercices modulaires de difficult progressive
- Ecrire des scripts Shell (BASH)
-1-
UNIX LINUX
TAHAR HAOUET
Table des mati res
LE ON 1 : PRESENTATION DUNIX ________________________________5
1-1- Historique ___________________________________________________5
1-2 Les fonctions principales ________________________________________6
1-3 Caract ristiques g n rales d'Unix__________________________________7
1-4-Architecture du syst me _________________________________________9
1-5- Conclusion__________________________________________________10
LE ON 2 : CONNEXION DUN UTILISATEUR ______________________13
2-1- Connexion au syst me :________________________________________13
2-2- Interface de commande Shell ___________________________________14
2-3 Environnement de lutilisateur ___________________________________17
2-4 Utilisateurs et groupes dutilisateurs ______________________________18
LE ON 3 : LE SYSTEME DE FICHIERS UNIX ______________________22
3-1- Le syst me de fichiers _________________________________________22
3-2- D signation des fichiers _______________________________________22
3-3- Types de Fichiers ____________________________________________24
3-4 inode _______________________________________________________24
3-5 Organisation des disques System V _______________________________27
LE ON 4 : PRINCIPALES COMMANDES SUR LES FICHIERS UNIX __29
4-1- Principales Commandes sur les r pertoires_________________________29
4-2- Principales Commandes sur les Fichiers___________________________29
4-3 Copie de fichiers (cp) __________________________________________31
4-4 D placement et suppression de fichiers (mv, rm) ____________________32
4-5 Les Liens____________________________________________________32
4-6 Quelques utilitaires (diff, du, wc)_________________________________33
4-7- Recherche de fichiers (find): ___________________________________34
LE ON 5 : DROITS DACCES AUX FICHIERS UNIX_________________38
5-1. Protection des fichiers _________________________________________38
5-2 Modification des droits dacc s aux fichiers ________________________39
5-3. Les droits sp ciaux : __________________________________________40
LE ON 6 : GESTION DE PROCESSUS______________________________43
6-1 Notion sur les processus ________________________________________43
6-2 Etats dun processus ___________________________________________44
6-3 Priorit dun processus _________________________________________45
6-4 Modes dex cution d'une commande: _____________________________45
LE ON 7 : COMPOSITION DE PROCESSUS ________________________47
7-1- La redirection des entr es sorties ________________________________47
7-2- La composition de processus. ___________________________________48
LE ON 8 : COMMANDES DE GESTION DE PROCESSUS ____________51
8-1-Commandes de gestion de processus ______________________________51
8-2 Le job control ________________________________________________53
LE ON 9 : LES FILTRES _________________________________________55
9-1- D finition __________________________________________________55
9-2- Filtre grep __________________________________________________56
9-3- Filtre sort ___________________________________________________57
-2-
UNIX LINUX
TAHAR HAOUET
9-4-Filtre cut ____________________________________________________57
9-5- Filtre tr_____________________________________________________58
9-6 L'utilitaire sed ________________________________________________58
LE ON 10 : PROGRAMMATION SHELL ___________________________62
10-1- Introduction : _______________________________________________62
10-2- Programmation de base en shell ________________________________63
LE ON 11 : PROGRAMMATION SHELL (STRUCTURES DE
CONTROLE) ____________________________________________________66
11-1- les structures de contr le: _____________________________________66
11-2- Les instructions conditionnelles:________________________________66
11-3- Les it rations _______________________________________________68
11-4 Arithm tique enti re sur les variables. ____________________________70
-3-
UNIX LINUX
TAHAR HAOUET
Le on 1 : Pr sentation du syst me Unix
Pr requis :
Syst me dexploitation, Architecture des ordinateurs
Objectif du chapitre :
Pr senter et introduire le syst me Unix
Dur e : 1h30
El ments du Contenu :
Conna tre les origines du syst me, ses fonctionnalit s et son architecture
-4-
UNIX LINUX
TAHAR HAOUET
LE ON 1 : PRESENTATION DUNIX
1-1- Historique
Lhistoire dUNIX d bute dans les ann es 60 et peut tre r sum e de la
fa on suivante :
" 1969 : premier syst me Unix crit par Ken Thompson aux Bell
Labs d'AT&T, en assembleur sur PDP-7, puis en langage "B". A la
base appel Unics (jeu de mot form partir de Multics, gros
syst me d velopp fin 60 par le MIT et General Electric)
" 1973 : Dennis Ritchie, qui a invent le langage "C", r crit Unix en
C avec Thompson (vers.4). Rend possible et entra ne le portage
d'Unix sur de nombreuses machines (sources d'Unix distribu s
de nombreuses universit s et soci t s commerciales). Une 3e
personne, Brian Kernighan, contribue galement fortement aux
premiers d veloppements d'Unix.
" 1976 : publication de la version 6 du Manuel Unix ("manuel du
programmeur")
" 1977 : divergence en 2 grandes familles Unix :
(cid:1) AT&T : System III, puis System V (1990 : release 4, abr g
SVR4)
(cid:1) Uni. de Californie Berkeley : BSD (Berkeley Software
Distribution, act.vers.4.4), originalit s : vi, propre syst me de
fichier, C-shell, gestion virtuelle m moire, job contr le, liens
symboliques, TCP/IP...
" 1980 : Bjarne Stroustrup (Bell Labs) d finit le langage C++
(extension "objet" du C)
" 1987 : apport du MIT en mati re de graphique et fen trage : X-
window version 11 (act. release 6, abr g X11R6). Puis formation
de 2 Consortiums rivaux :
(cid:1) OSF (Open Software Fundation) (DEC, HP, IBM...) : fen trage
Motif...
(cid:1) Unix International (AT&T, Sun...) : syst me de fen trage
OpenLook/OpenWindows
" 1990 : cr ation par AT&T de USL (Unix System Laboratories) qui
reprend les activit s Unix
" 1993 : AT&T vend USL Novell (juin) qui donne ensuite les droits
"Unix" l'organisation de standardisation X/Open (octobre)
" 1993 : r unification des familles Unix (sous la pression de la
concurrence de "Windows NT" de Microsoft !) : convergence des
constructeurs vers Unix SVR4 qui se dote de la plupart des
Advertisement
-5-
UNIX LINUX
TAHAR HAOUET
extensions BSD, standardisation appels syst mes (POSIX),
environnement de bureau CDE (Common Desktop Environment).
Nouveau r le de l'OSF. Ralliement de Sun Motif puis l'OSF.
" 1994 : Linux, Unix gratuit pour plateforme Intel 486 (Linus
Torvalds)
1-2 Les fonctions principales
UNIX est un syst me d'exploitation dont voici les t ches principales :
Partage des ressources quitables
UNIX veille ce que toutes les ressources de l'ordinateur (imprimante,
m moire, ...) soient partag es quitablement entre tous les processus.
Par exemple si vous travaillez sur une application du genre base de
donn es, vous lancez une requ te (commande dans le langage base de
donn es) co teuse en temps, pour patienter rien ne vous emp che de vous
lancer un PacMan. Vous vous retrouvez donc avec deux process lanc s en
m me temps, c'est le syst me d'exploitation qui est charg de faire en sorte
que les deux process puissent utiliser les ressources de mani re quitable et
que le deuxi me process lanc n'attende pas la terminaison du premier pour
se lancer.
Le fait de pouvoir ex cuter plusieurs process ou t ches en m me temps,
en parall le, est appel multit ches. UNIX est multit ches.
Syst me multit che et Multi-Utilisateur
Un syst me dexploitation multit che attribue p riodiquement (quantum
de temps de lordre du centi me de seconde) lUC une t che (ex cution
dun programme) diff rente dans le but de faire progresser lex cution de
plusieurs programmes la fois.
o La notion dordonnancement de t ches est alors apparue.
o Lutilisateur a limpression que plusieurs programmes sont
ex cut s simultan ment .
o Un syst me multit che est aussi appel syst me temps
partag .
A contrario, un syst me dexploitation monot che ex cute une
commande uniquement lorsque la pr c dente est termin e.
Un syst me multit che peut permettre plusieurs utilisateurs de
travailler simultan ment, il est alors dit multi-utilisateur.
o Le syst me dexploitation alloue chaque quantum de temps
des programmes de diff rents utilisateurs.
o Ainsi tous les utilisateurs ont limpression de travailler
simultan ment.
-6-
UNIX LINUX
TAHAR HAOUET
Interface avec le mat riel
UNIX par d finition des syst mes d'exploitation fait en sorte qu'aucun
process acc de directement une ressource mat rielle (disque dur, lecteur
de disquette,...). Pour acc der ces ressources on passe par l'interm diaire
de fichiers sp ciaux, un fichier sp cial est vu pour un utilisateur comme un
fichier classique, pour crire sur une disquette dans le lecteur de disquette, on
n'a qu' crire dans le fichier sp cial du lecteur de disquette. De m me pour
lire dans un disque dur, on va lire le fichier sp cial du disque dur.
Gestion de la m moire
Il existe deux types de m moire, la m moire volatile et la m moire
statique, quand on teint et rallume l'ordinateur, toutes les donn es pr sentes
dans la premi re ont disparu, et les donn es dans la seconde sont toujours
pr sentes. Concr tement la m moire volatile se trouve dans la RAM, la
m moire statique dans le disque dur. Dans le vocabulaire Unix, quand on
parle de m moire on sous entend m moire volatile ou RAM, c'est la
convention qui sera adopt e pour la suite du cours.
Tout programme qui s'ex cute, ou process, a besoin de m moire pour y
stocker notamment
les donn es qui manipulent. Malheureusement
l'ordinateur dispose g n ralement d'une quantit de m moire limit e et non
extensible. UNIX doit donc faire en sorte que la m moire soit bien partag e
entre tous les process, un process ne doit pas s'accaparer toute la m moire,
sans quoi les autres process ne pourraient plus fonctionner.
La m moire est vue comme une ressource mat rielle, UNIX doit donc
v rifier qu'aucun process acc de la m moire directement ou ne se r serve
une zone de la m moire.
Gestion des fichiers
UNIX fournit les outils n cessaires pour stocker les donn es et pour
pouvoir les r cup rer rapidement et facilement. Il fournit les outils pour
pouvoir visualiser l'ensemble des fichiers de mani re simple. Ces fichiers se
trouvent sur le disque dur, on nomme cela un syst me de fichiers ou File
System en anglais.
UNIX fournit, en outre, un m canisme de protection des fichiers.
Plusieurs utilisateurs peuvent travailler en m me temps sur la m me
machine, c'est la notion de multi-utilisateurs. Chaque utilisateur du syst me
dispose de ses fichiers, UNIX lui donne le moyen de prot ger ses fichiers, et
d'accorder le droit ou non d'autres utilisateurs d'acc der ses fichiers.
1-3 Caract ristiques g n rales d'Unix
Caract ristiques :
" Le noyau Unix est crit plus de 95% en C, langage de haut
niveau. Moins de 50% de ce code d pend de la machine. Ceci a
pour cons quence une portabilit accrue. Unix est parmi les rares
syst mes aujourd'hui disponibles sur tous types d'ordinateurs, du
PC au Mainframe.
-7-
UNIX LINUX
TAHAR HAOUET
" Unix est le standard de facto des syst mes ouverts, c'est- -dire
les sp cifications sont publiques (Non
des syst mes dont
propri taire).
" Unix est au centre des efforts de standardisation et de
normalisation qui ont pour objet de d finir des interfaces standard
pour les syst mes d'exploitation pour faciliter les d veloppements
et l'interop rabilit entre des machines h t rog nes.
" La plupart des d veloppements dans les domaines de pointe
(CAO, bases de donn es objets, Internet, etc.) se font aujourd'hui
majoritairement sur plate-forme UNIX.
" Disponible sur toutes les plateformes, y compris PC (Linux,
FreeBSD...)
"
interactif, temps partag , mais offrant aussi des extensions pour
le "temps r el"
" multi-t ches et Multi-Utilisateur
" compatibilit totale entre fichiers et p riph riques
" multiprocesseurs sym triques, multi-threaded
"
"
facilement extensible et modifiable (ajout de commandes...)
"case sensitive", c'est dire qu'il distingue les majuscules des
minuscules (tant au niveau des commandes/options que des
noms de fichiers) contrairement VMS ou MS-DOS ("ls -l" n'a pas
m me effet que "ls -L")
" grande richesse d'outils et fonctionnalit s (r sultant d'un effort de
d veloppement collectif, contrairement aux autres syst mes
d'exploitation)
" Compilateurs et outils de programmation et d boguage (C / C++ /
Perl)
" Lacc s aux r seaux et ses ressources
" S curit contre les acc s non autoris s
Ses points forts
" Tr s forte portabilit des programmes ; il existe pr s de 3000
plates-formes UNIX, du PC l'ordinateur central. Un programme
d velopp sur une de ces plates-formes peut tre facilement
port sur une autre plate-forme UNIX, souvent par simple
recompilation.
"
Interface utilisateur simple (shell).
" Un syst me de fichiers hi rarchique et arborescent.
" Une structure simple des fichiers (suite de caract res).
"
Interface simple et homog ne pour tous les p riph riques : tout
est fichier, y compris les p riph riques qui sont trait s comme des
-8-
UNIX LINUX
TAHAR HAOUET
fichiers sp ciaux. Cette philosophie du "tout fichier" rend tr s
simple
les
la
processus.
flux d'entr es/sorties entre
redirection des
Ses points faibles
Advertisement
" Mal adapt aux applications dites "temps r el" ; ces applications
ont besoin d'avoir un temps de r ponse minimal garanti par
exemple les applications dites "embarqu es", qui contr lent une
navette spatiale ou un missile. Mais des efforts importants ont t
r alis s pour concilier UNIX avec le temps r el.
" Suppose encore des utilisateurs avertis : une station Unix n'est
pas un Macintosh ou un PC. Le monde UNIX n'est toujours pas
destin au grand public. Il reste cantonn pour l'instant dans le
monde de l'ing nierie (station de travail) ou des serveurs. Cela dit,
un grand effort a t accompli r cemment pour simplifier
l'utilisation des machines UNIX
interfaces
graphiques qui offrent une convivialit appr ciable.
travers des
" Les produits sous UNIX restent plus chers et plus rares que ceux
du monde de la micro informatique.
" Malgr les efforts de standardisation, les probl mes d'inter-
op rabilit entre les diff rents UNIX du march persistent. Le
label UNIX 95 est un pas important qui a t franchi pour
r soudre ce probl me. Mais tr s peu d'UNIX du commerce ont
pour l'instant re u ce label.
1-4-Architecture du syst me
Unix est un syst me dexploitation, constitu du noyau Unix, dun
interpr teur de commandes et dun grand nombre dutilitaires
Le noyau assure la gestion des ressources physiques (processeurs,
m moires, p riph riques) et logiciels (processus, fichiers&). Linterface entre
les programmes des utilisateurs et le noyau est d fini par un ensemble de
proc dures et de fonctions, soit directement au niveau du noyau, soit par
linterm diaire de biblioth ques.
Pour ce qui concerne larchitecture du noyau proprement dit, les
l ments caract ristiques sont les suivants :
-9-
UNIX LINUX
TAHAR HAOUET
Le noyau est constitu dun ensemble de proc dures et de fonctions
crites en langage C.
Lutilisateur dUnix nacc de pas directement au noyau mais un
interpr teur de commandes : le shell
Il existe plusieurs shell diff rents sous Unix
Structure du syst me UNIX
Applications
Appels Syst mes Unix
Gestion de processus
Syst me de gestion de Fichiers
Drivers P riph riques
Contr le Mat riel
Mat riel
Concr tement le syst me d'exploitation est un ensemble de programme
et de sous programmes regroup s dans ce qu'on appelle un noyau (kernel en
anglais).
On a vu auparavant que les process ne pouvaient pas acc der
directement aux ressources mat rielles, en fait les process passent par le
noyau pour y acc der, pour cela ils disposent d'un ensemble de commandes
appel es " appels syst me " UNIX.
Ces appels syst mes commandent deux composantes principales du
noyau, le gestionnaire de processus et le syst me de gestion de fichiers. Le
premier a pour r le de faire en sorte que les process s'ex cutent et acc dent
la m moire de mani re quitable, on le nomme aussi scheduler. Le
deuxi me a pour r le la gestion du syst me de fichiers, notamment pour ce
qui concerne les droits d'acc s.
Ce sont ces deux derniers composants du noyau qui acc dent
directement au mat riel.
Pour faire marcher l'ordinateur, l'utilisateur dispose des logiciels ou d'un
utilitaire qui lui permet la saisie directe de commandes. On appelle cet
utilitaire le shell (coquille en fran ais). Son r le est d'interpr ter les
commandes de l'utilisateur avant transmission au noyau, c'est pourquoi on
parle aussi d'interpr teur de commandes. On trouve l' quivalent sous DOS
qui peut tre consid r comme un shell.
Il existe plusieurs types de shell, ils se diff rencient par la syntaxe et la
richesse des commandes. Le plus commun est le Bourne-Shell, on trouve
aussi le C-Shell qui s'apparente au langage de programmation C, le Korn
Shell, le Posix Shell, et sous Linux le bash-shell.
1-5- Conclusion
Unix est un syst me dexploitation multit che et Multi-Utilisateur
structur en couches, garantissant sa portabilit (existence sur presque
toutes les plateformes mat rielles).
Le noyau Unix contient les principales fonctionnalit s du syst me.
-10-
UNIX LINUX
TAHAR HAOUET
La biblioth que C fait linterface entre le noyau et les programmes
utilisateurs.
Unix fournit une interface homme/machine tr s puissante appel e shell
mais aussi des interfaces graphiques.
Unix fournit de nombreux outils (en standard et dans le domaine public).
-11-
UNIX LINUX
TAHAR HAOUET
Le on 2 : Connexion dun utilisateur
Pr requis :
Chapitre pr c dent
Objectif du chapitre :
Devenir autonome pour une premi re prise en main d'un syst me Unix
Dur e : 2 S ances (2x 1h30)
El ments du Contenu :
Connexion au syst me - Interface de commande Shell Personnaliser la
session fichiers dinitialisation - d finition des utilisateurs et des groupes
-12-
UNIX LINUX
TAHAR HAOUET
LE ON 2 : CONNEXION DUN UTILISATEUR
2-1- Connexion au syst me :
2-1-1 Ouverture de session
Avant de tenter une connexion, il faut d'abord vous assurer que vous
ayez t d clar sur la machine, c'est dire que vous poss diez un compte
utilisateur caract ris par un nom ou login et un mot de passe associ .
Tout Utilisateur est identifi par un (login name) et ne peut utiliser le
syst me que si son nom a pr alablement t d fini par ladministrateur du
syst me (root)
Pour quun utilisateur puisse travailler sur un syst me Unix, il doit
sidentifier en indiquant son nom (login), puis son mot de passe (passwd)
Apparaissant alors
l cran un certain nombre dinformations
(informations g n rales, date, arriv e de messages, date de derni re
connexion) Puis le syst me lance un programme qui est g n ralement un
interpr teur de commandes.
A partir de ce moment lutilisateur est connect (il est entr en session).
A la mise sous tension, vous pouvez aussi disposer d'une interface
graphique de connexion, au lieu d'avoir un simple login: avec le curseur qui
clignote, vous avez une fen tre ou banni re qui vous invite saisir votre login
et votre mot de passe. C'est notamment le cas pour la configuration par
d faut de Redhat Fedora Core mais aussi pour les versions r centes de
UnixWare.
Une fois le login et le mot de passe saisi, deux possibilit s peuvent
s'offrir vous, vous pouvez retrouver un cran noir, avec tout simplement un
caract re du genre $ (appel prompt) suivi du curseur qui clignote. Vous
tes dans un shell pr t taper des commandes. Par exemple, sous Linux le
prompt par d faut est le suivant:
$
Ou alors vous pouvez trouver un environnement fen tr avec utilisation
de la souris, o il vous sera possible de lancer un shell pour pouvoir taper des
commandes UNIX.
2-1-2 Changement de password
En vous d clarant sur la machine, on vous a impos un mot de passe,
vous pouvez le changer, pour cela vous disposez de la commande passwd.
Certains UNIX font en sorte que vous ne puissiez pas saisir un mot de passe
simple, il faudra mettre au moins 6 caract res, avec au moins un ou deux,
caract re non alphab tique.
Quand vous saisissez votre mot de passe, il ne para t pas en clair, aussi
par pr caution, le syst me vous demande de le saisir deux fois.
-13-
UNIX LINUX
TAHAR HAOUET
Si vous avez oubli votre mot de passe, vous devez vous adresser
l'administrateur du syst me (root) qui est le seul habilit vous d bloquer.
2-1-3 Fermeture de session
Quand on a fini d'utiliser le syst me, on doit se d connecter ou fermer la
session. Si vous tes dans un environnement non graphique, il vous suffit au
Advertisement
prompt de taper logout. Vous vous retrouvez alors avec le prompt de login,
un autre utilisateur pourra alors utiliser la machine.
Dans un environnement graphique, vous avec une commande Exit, ou
Logout, qui a strictement le m me effet.
2-2- Interface de commande Shell
Un Shell (Interpr te des commandes) est un programme qui accepte des
commandes textuelles et les ex cute.
L'interpr teur de commandes ou shell est l'interface entre l'utilisateur et
le syst me d'exploitation. C'est la fois un langage de commandes et un
langage de programmation. Son r le est triple :
o
o
o
lire les commandes partir du clavier ou de toute autre
source,
les ex cuter,
fournir si n cessaire un flux de sortie.
Les shells ne font pas partie du noyau dUnix, mais sont des services
offerts en plus. En fait Unix est con u pour tre attaqu depuis des
programmes crits en C, langage d velopp cette fin.
Il existe deux grandes familles de shells sur Unix. Lune contient sh et
ksh, lautre csh et tcsh.
"sh, dit Bourne Shell, est un shell assez ancien et tr s r pandu.
"ksh, dit Korn Shell, est une volution de sh, avec des possibilit s
suppl mentaires.
ksh a r cemment t retenu comme norme par un consortium Unix ;
"csh, dit C-Shell, est le pr f r des d veloppeurs en C, car ses
commandes ont une syntaxe tr s voisine de celle de ce dernier langage ;
"tcsh est une volution de csh. Elle offre la compl tion des noms de
commandes, des noms de variables et des noms de fichiers.
Comme ksh est une nette am lioration de sh, il est recommand de
lutiliser la place de ce dernier. Les diff rences entre tcsh et csh offrent
surtout un agr ment lutilisateur, comme le rappel des commandes
pr c dentes avec les touches curseur du clavier et la compl tion des
commandes.
-14-
UNIX LINUX
TAHAR HAOUET
Un utilisateur peut avoir diff rentes sessions ouvertes, chacune ayant
son propre shell.
Un Shell est un processus qui sex cute sur la machine.
Nous verrons les processus plus en d tail aux chapitres suivants
Session 1
Session 2
Session 3
sh
bash
csh
NOYAU
2-2-1- Caract ristiques du Shell
Un Shell se caract rise par un ensemble de commandes internes et un
ensemble de variables denvironnement.
Une commande interne est une commande contenue dans la bo te
outils du Shell, elle est donc litt ralement int gr e. C'est soit pour des raisons
de performance, soit parce quelle besoin dun acc s direct aux variables
denvironnement du Shell
Les commandes
les
internes s'ex cutent plus
commandes externes, qui n cessitent habituellement de Cr er un processus
(t che)
rapidement que
Les variables denvironnements du Shell sont des variables qui
contiennent des informations n cessaires pour lex cution correcte du shell. A
chaque ouverture de session
initialise automatiquement ces
le Shell
variables.
Shell
Bash
Boume shell
C-Shell
commandes internes
50
32
52
Nom de variable
Fonction
EDITOR
HOME
LOGNAME
PATH
SHELL
TERM
USER
Chemin dacc s de votre diteur de texte
Chemin dacc s de votre r pertoire daccueil
Identifiant dutilisateur utilis pour le login
Chemin dacc s du programme de courrier
lectronique
Liste des r pertoires par courir pur trouver
un programme
Chemin dacc s du programme Shell
Type de terminal utilis
Identifiant de lutilisateur logu
-15-
UNIX LINUX
TAHAR HAOUET
2-2-2- Changement du Shell
Si vous souhaiter changer le Shell, vous devez utiliser la commande
chsh. La syntaxe de cette commande est :
chsh identifiant nom_du_shell
Nom_du_shell : Le chemin complet du r pertoire contenant ce shell.
Shell
Chemin dacc s au Shell
Bash
Bourne shell
C-shell
Korn shell
Tcsh
Exemple :
/bin/bash
/bin/sh
/bin/csh
/bin/ksh
/bin/tcsh
chsh farhat /bin/ksh
2-2-3- Structures des commandes Shell
Les commandes des shells Unix ont typiquement la forme suivante :
nom_de_la_commande
Les options sont introduites en g n ral par un caract re -, parfois par
un +.
Elles servent r gler finement leffet (r sultat) des commandes
Les arguments sp cifient les objets (variables ou fichiers) sur lesquels la
commande va sappliquer.
Les crochets autour des arguments et des options signifient qu ceux si
sont optionnels.
Il existe trois types de commandes dans les shell Unix :
"Certaines sont pr d finies par le shell consid r e, comme time :
"Dautres dont des fichiers ex cutables, obtenus par d veloppement
avec par exemple un langage dassemblage, C ou encore C++.
"Dautres enfin dont des scripts, cest dire des fichiers texte contenant
des commandes dun des shells. On peut ainsi programmer pas mal de
choses dans Unix.
A noter que les shells Unix font la diff rence entre les lettres minuscules
et majuscules contrairement Windows.
2-2-4- Exemples de commandes Shell :
o date et heure courants
$ date
Tue Nov
4
13 :39 :24 EST 1997
o
liste les utilisateurs connect s au serveur. (utilisateur courant)
$who am i
-16-
UNIX LINUX
Advertisement
TAHAR HAOUET
farhat
tty03
Nov 6
08:26
o commande bidon
$dare
dare: commande not found
o
liste tous les fichiers du r pertoire courant (-a) all
$ls a
.
..
.exrc
ch1
ch2
intro
.profile ch10
ch3
mp3
o Affiche le r pertoire de travail
$pwd
/users/abdul/
o changer de r pertoire
$ cd /home/farhat
2-3 Environnement de lutilisateur
Quest-ce quun environnement ?
Un environnement est un ensemble de variables et de fichiers de
configuration contenant des tats et des options du syst me. Par exemple,
une variable denvironnement peut indiquer que votre terminal est un terminal
VT100, une autre que votre shell pr f r est bash, et une derni re que vous
maintenez un syst me de manuel personnel quil faut consulter lorsque la
commande man est invoqu e.
Variables
Le syst me utilise des variables comme :
TERM type de terminal courant
PATH chemin de recherche des commandes
LD LIBRARY PATH chemin de recherche des biblioth ques partag es
MANPATH chemin de recherche des manuels
EDITOR diteur de texte par d faut
Certaines
variables
n cessitent
denvironnement pour fonctionner. On peut les afficher ind pendamment avec
la commande echo $VAR, si la variable sappelle VAR.
applications
galement
des
On peut afficher une liste des variables avec les commandes env, ou
set.
On peut modifier les variables denvironnement avec les commandes
export ou set
Notez bien que ces modifications sont temporaires (jusqu`a la fin du
shell courant). Pour les rendre permanentes, il faut les ajouter aux fichiers de
d marrage (initialisation) du shell (voir section suivante).
-17-
UNIX LINUX
TAHAR HAOUET
Commandes de configuration
La plupart des commandes de configuration sont ex cut es au login.
Dautres commandes sont ex cut es chaque lancement dun shell. Parmi
celles-ci, citons les commandes suivantes :
stty pour initialiser les param tres du terminal.
mail pour v rifier si vous avez du courrier priv .
quota pour contr ler si vous avez des d passements de quota.
Fichiers dinitialisation
Lorsqu'un utilisateur se connecte sur un syst me UNIX, certaines t ches
sont ex cut es automatiquement. Ces t ches sont d finies dans les fichiers
d'initialisation se trouvant dans le r pertoire principal de chaque utilisateur.
La plupart de ces fichiers commencent par . et ils ne sont donc pas
visibles avec ls, mais avec ls -a.
.bash_profile Ce
fichier contient des s quences dinstructions
ex cut es chaque lancement dun shell de connexion bash.
.bashrc Ce fichier contient des s quences dinstructions ex cut es
chaque nouveau sous-shell bash ouvert (excluant les shells de connexion).
.bash_logout Ce fichier contient des commandes ex cut es en fin de
connexion pour un shell de connexion bash.
Modifier son environnement
Modifier son environnement de fa on permanente se fait toujours dans
un fichier de configuration ex cut lentr e dans le syst me ou la cr ation
du shell (.bash_profile ou .bashrc). Pour changer une variable, il faut utiliser
lassignation de variables, avec set ou export.
On pourra toujours quitter en cas de probl mes et reprendre la copie que
vous naurez pas manqu de faire !
2-4 Utilisateurs et groupes dutilisateurs
Sur un syst me UNIX, on trouve deux types de personnes, celle qui va
utiliser le syst me dans le but de produire quelque chose, le syst me UNIX
est pour elle un moyen, un outil. Cette personne est l'utilisateur UNIX, on peut
trouver dans cette cat gorie, le programmeur, l'utilisateur de base de
donn es, etc.
La deuxi me cat gorie de personnes est charg de l'installation, de la
configuration et de la bonne marche du syst me UNIX, ce sont les
administrateurs syst mes UNIX.
Sur un syst me UNIX, les utilisateurs UNIX ont des droits limit s, c'est
dire que certaines commandes leurs sont interdites et ils n'ont pas acc s
certaines parties du syst me. Les administrateurs syst mes ont par contre
tous les droits sur le syst me.
G n ralement sur un syst me UNIX, on limite volontairement le nombre
d'administrateur (appel ROOT ou super utilisateur).
-18-
UNIX LINUX
TAHAR HAOUET
Les op rations possibles sur les comptes des utilisateurs sont :
Cr ation, Modification, destruction
Les comptes utilisateurs sont cr es par ladministrateur (root) Ces
utilisateurs sont rassembl s par groupes. Les utilisateurs dun m me groupe
peuvent avoir des acc s particuliers sur des fichiers appartenant aux usagers
du m me groupe. En g n ral un groupe rassemble des utilisateurs qui
travaillent sur le m me projet ou dans un m me d partement&
Le fichier /etc/passwd
Les Utilisateurs du syst me Unix sont d finis dans le fichier /etc/passwd
Le fichier /etc/passwd contient toutes les informations relatives aux
utilisateurs (login, mots de passe, ...). Seul le superutilisateur (root) doit
pouvoir le modifier. Il faut donc modifier les droits de ce fichier de fa on ce
qu'il soit en lecture seule pour les autres utilisateurs.
Ce fichier poss de un format sp cial permettant de rep rer chaque
utilisateur, chacune de ses lignes poss de le format suivant:
login :mot_de_passe :UID :GID :HomeDir :shell
Login : login de lutilisateur
Mot_de_passe : mot de passe de lutilisateur
UID : user identifier : identifiant de lutilisateur
GID : Group Identifier : identifiant du groupe de lutilisateur
HmeDir : r pertoire home de lutilisateur
Shell : shell par d faut de lutilisateur.
Voici un exemple de /etc/passwd
root:x:0:0:root:/root:/bin/bash
bin:x:1:1:bin:/bin:/bin/bash
daemon:x:2:2:daemon:/sbin:/bin/bash
news:x:9:13:News system:/etc/news:/bin/bash
uucp:x:10:14::/var/lib/uucp/vnc_config:/bin/bash
farhat:x:500:100:Cool......:/home/farhat:/bin/bash
Le fichier /etc/group
Le fichier /etc/group contient la liste des utilisateurs appartenant aux
diff rents groupes. En effet, lorsque de nombreux utilisateurs peuvent avoir
acc s au syst me, ceux-ci sont fr quemment rassembl s en diff rents
groupes ayant chacun leurs propres droits d'acc s aux fichiers et aux
r pertoires.
Il se compose de diff rents champs s par s par :
nom_de_groupe : champ_special : gid : membre1,membre2
Le champ sp cial est fr quemment vide.
Le num ro de groupe (gid) est le num ro qui fait le lien entre les fichiers
/etc/group et /etc/passwd
-19-
UNIX LINUX
TAHAR HAOUET
<...