UNIX LINUX

Institut Supérieur des Études Technologiques
1/71
100%
Rendu du PDF...
Page 1 sur 71Lecteur de document UniversityLib

UNIX LINUX

Institut Supérieur des Études Technologiques · Operating System · lab

Browse all systèmes d'exploitation et cloud documents

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

MAIL

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

<...