Vous êtes sur la page 1sur 17

UNIVERSITE SIDI MOHAMMED BEN ABDELLAH

FACULTE des SCIENCES DHAR EL MEHRAZ de FES


Laboratoire dElectronique, Signaux-Systmes et Informatique
LESSI
2012-2013

Support Cours Systme dExploitation


LUNIX
Licence Professionnelle TESI

Pr. Hassan Qjidaa


Dpartement de Physique
LESSI
Email : qjidah@yahoo.fr

Table des matires


Table des matires ...................................................................................................... 2
Chapitre 1 Avant propos............................................................................................. 3
1.1 Une petite ide d'LUNIX
3
1.2 Le terminal et vous
3
1.3 La station et vous
3
Chapitre 2 Arborescence............................................................................................ 4
2.1 ls 4
2.10 *, ? et []
7
Chapitre 3 Droits et proprits ................................................................................... 8
3.1 who
8
Chapitre 4 Gestion de processus ............................................................................... 9
4.1 &, ; et |
9
4.2 ps 10
4.4 ^C 10
4.6 fg 11
4.7 bg 11
Chapitre 5 Edition ..................................................................................................... 12
5.1 cat 12
5.2 more
12
5.3 grep
12
5.4 vi 13
5.5 joe 14
Chapitre 6 Gestion du compte.................................................................................. 14
6.1 passwd
14
6.2 chfn
14
6.3 chsh
15
Chapitre 7 Complments.......................................................................................... 15
7.1 man
15
7.2 mail
16
7.3 alias
16
2

Pr. Hassan Qjidaa

Chapitre 1 Avant propos


1.1 Une petite ide d'LUNIX
LUNIX est un systme multi-utilisateurs et multi-processus. C'est--dire que le
systme accepte que plusieurs utilisateurs travaillent en mme temps sur une
station (via des terminaux textes ou graphiques). De plus chaque utilisateur peut
effectuer plusieurs tches en mme temps. Il vous sera donc possible de compiler
votre projet Fortran pendant que vous lirez votre courrier lectronique sans pour
autant tre un gnie de l'informatique.

1.2 Le terminal et vous


Vu qu'un ordinateur manque cruellement de conversation, c'est vous de
commencer. Tout d'abord, il vous faut demander au terminal de se connecter sur la
station sur laquelle vous voulez travailler puis rpondre gentiment aux deux
questions qu'elle va vous poser (votre nom d'accs ( login) et votre code d'accs
(password)).
Exemple :
Local> connect TSEI
Connected to TSEI.
Escape character is '^]'.
Red Hat Linux release 4.1 (Vanderbilt)
Kernel 2.0.27 on an i386
login: mazet
Password:
TSEI ~ $

Le $ vous indique que la station attend vos ordres.

1.3 La station et vous


Comme LUNIX est multi-utilisateurs, il est indispensable que chacun ait un
rpertoire qui lui soit propre pour stocker ses fichiers et ses sous-rpertoires.
Ainsi, quand vous vous loguez, vous tes plac directement dans votre rpertoire
racine (c'est--dire votre rpertoire principal). La figure 1.3 illustre une
arborescence classique.

Pr. Hassan Qjidaa

Figure 1.1 : Un exemple d'arborescence

D'autre part, vous n'tes propritaire que de vos fichiers. Il vous est donc
impossible de crer ou de modifier des fichiers qui ne vous appartiennent pas.
Veuillez donc travailler uniquement dans votre rpertoire.

Chapitre 2 Arborescence
2.1 ls
La commande ls liste le contenu du rpertoire courant.
Exemple :
TSEI ~/doc/LUNIX $ ls
#LUNIX.tex# LUNIX.aux
toto
LUNIX.dvi
TSEI ~/doc/LUNIX $

LUNIX.log
LUNIX.ps

LUNIX.tex
LUNIX.tex~

LUNIX.toc

Il est possible d'obtenir des niveaux de dtails plus importants grce aux options
suivantes :

ls -s

ls

ls

liste les fichiers ainsi que leurs tailles en kilo-octets.


-l liste l'ensemble des informations inhrentes chacun des fichiers.
-a liste tous les fichiers (mme ceux commenant par . ).

Exemples :
TSEI ~/doc/LUNIX $ ls -s
4

Pr. Hassan Qjidaa

total 100
1 toto
28 LUNIX.dvi
6 LUNIX.aux
2 LUNIX.log
TSEI ~/doc/LUNIX $ ls -l
total 98
-rw-r--r-1 mazet
users
-rw-r--r-1 mazet
users
-rw-r--r-1 mazet
users
-rw-r--r-1 mazet
users
-rw-r--r-1 mazet
users
-rw-r--r-1 mazet
users
-rw-r--r-1 mazet
users
-rw-r--r-1 mazet
users
TSEI ~/doc/LUNIX $ ls -a
./
.titi
LUNIX.aux
../
toto
LUNIX.dvi
TSEI ~/doc/LUNIX $

48 LUNIX.ps
7 LUNIX.tex
5
5297
25960
1204
47775
5559
5093
2449

Sep
Sep
Sep
Sep
Sep
Sep
Sep
Sep

LUNIX.log
LUNIX.ps

30
30
30
30
30
30
30
30

5 LUNIX.tex~
3 LUNIX.toc
19:42
19:33
19:33
19:33
01:46
19:44
19:30
19:33

toto
LUNIX.aux
LUNIX.dvi
LUNIX.log
LUNIX.ps
LUNIX.tex
LUNIX.tex~
LUNIX.toc

LUNIX.tex
LUNIX.tex~

LUNIX.toc

2.2 Les rpertoires . et ..


Tous les rpertoires sous LUNIX contiennent ces deux rpertoires. Le rpertoire
. est le rpertoire dans lequel vous vous trouvez. Il est appel rpertoire
courant. Le rpertoire .. est le rpertoire qui contient le rpertoire courant. Il
est appel rpertoire suprieur.

2.3 cd
La commande cd permet la navigation dans l'arborescence des fichiers.
Exemple :
TSEI
TSEI
TSEI
TSEI
TSEI
TSEI
TSEI
TSEI

~/ $ cd /
/ $ cd bin
/bin/ $ cd ..
/ $ cd /usr/local/
/usr/local/ $ cd / $ cd ~
~/ $ cd .
~/ $

va dans le rpertoire / (c'est--dire la racine globale de l'arborescence).


cd bin va dans le rpertoire bin
cd .. va dans le rpertoire suprieur.
cd /usr/local/ va dans le rpertoire /usr/local/
cd - revient dans le rpertoire d'o l'on vient.
cd ~ se place sur le rpertoire racine de l'utilisateur.
cd . va dans le rpertoire courant (utile pour la copie de fichiers vers le
rpertoire courant).
cd /

2.4 mkdir
La commande mkdir cre un rpertoire dans le rpertoire courant.
5

Pr. Hassan Qjidaa

Exemple :
TSEI ~/ $ ls
TSEI ~/ $ mkdir truc
TSEI ~/ $ ls
truc/
TSEI ~/ $ cd truc
TSEI ~/truc $ ls -a
./
../
TSEI ~/truc $

2.5 rmdir
La commande rmdir efface un rpertoire vide (ne contenant pas de fichier).
Exemple :
TSEI ~/
truc/
TSEI ~/
TSEI ~/
TSEI ~/

$ ls
$ rmdir truc
$ ls
$

2.6 cp
La commande cp permet de copier un fichier source vers un fichier destination.
Exemple :
TSEI
toto
TSEI
TSEI
toto
TSEI
TSEI
TSEI
TSEI
toto
TSEI

~/ $ ls
~/ $ cp toto titi
~/ $ ls
titi
~/ $ mkdir truc
~/ $ cd truc
~/truc/ $ cp ../toto .
~/truc/ $ ls
~/truc/ $

2.7 rm
La commande rm efface un fichier.
Exemple :
TSEI
toto
TSEI
TSEI
titi
TSEI

~/ $ ls
titi
~/ $ rm toto
~/ $ ls
~/ $

2.8 mv
6

Pr. Hassan Qjidaa

La commande mv permet de dplacer un fichier ou un rpertoire source vers un


fichier ou un rpertoire destination.
Exemple :
TSEI
toto
TSEI
TSEI
toto
TSEI

~/ $ ls
titi
~/ $ mv titi toto.bis
~/ $ ls
toto.bis
~/ $

2.9 pwd
La commande pwd affiche le chemin complet du rpertoire courant.
Exemple :
TSEI ~/truc/ $ pwd
/home/mazet/truc
TSEI ~/truc/ $

2.10 *, ? et []
Ces caractres permettent de slectionner un ensemble de fichiers suivant des
critres spcifiques.
Le caractre * indique que toute chane de caractres peut se substituer
l'toile.
Exemple :
TSEI ~/c/convert $ ls con*
convert.c convert.o
TSEI ~/c/convert $

Le caractre
d'interrogation.

indique que tout caractre peut se substituer au point

Exemple :
TSEI ~/c/convert $ ls convert.?
convert.c convert.o
TSEI ~/c/convert $

Chacun des caractres entre [] peut se substituer l'ensemble entre crochets.


Exemple :
TSEI ~/c/convert $ ls
convert.a convert.c convert.ac convert.z
TSEI ~/c/convert $ ls convert.[acb]
convert.a convert.c
TSEI ~/c/convert $

Pr. Hassan Qjidaa

Chapitre 3 Droits et proprits


3.1 who
La commande who affiche la liste des utilisateurs logus sur la station.
Exemple :
TSEI ~/ $ who
mazet
ttyp1
TSEI ~/ $

Sep 29 21:53 (:0.0)

3.2 finger
La commande finger recherche des informations au sujet d'un utilisateur sur une
station connecte au rseau.
Exemple :
TSEI ~/ $ finger cazenave@balthazar.cybersoft.org
[balthazar.cybersoft.org]
Login: cazenave
Name: Thierry Cazenave-Lavie
Directory: /home/cazenave
Shell: /bin/zsh
Never logged in.
No mail.
No Plan.
TSEI ~/$

3.3 chmod
La commande chmod change les droits d'accs d'un fichier ou d'un rpertoire. Ces
droits sont en fait des droits d'criture, de lecture ou d'excution (ce dernier n'a de
sens que pour les fichiers excutables ainsi que les rpertoires). Il y a trois
catgories de droits :

Ceux que le propritaire du fichier s'accorde lui-mme.


Ceux qu'il accorde aux personnes du mme groupe que lui.
Ceux qu'il accorde aux autres.

On peut rendre un fichier visible par tous, excutable par toute personne du
groupe et modifiable par soi uniquement.
Exemple :
TSEI ~/doc/LUNIX $ ls -l toto
---------1 mazet
users
TSEI ~/doc/LUNIX $ chmod u+rxw toto
TSEI ~/doc/LUNIX $ ls -l toto
-rwx-----1 mazet
users
TSEI ~/doc/LUNIX $ chmod g+rx toto
TSEI ~/doc/LUNIX $ ls -l toto
-rwxr-x--1 mazet
users

5 Sep 30 19:42 toto


5 Sep 30 19:42 toto*
5 Sep 30 19:42 toto*
8

Pr. Hassan Qjidaa

TSEI ~/doc/LUNIX $ chmod o+r toto


TSEI ~/doc/LUNIX $ ls -l toto
-rwxr-xr-1 mazet
users
TSEI ~/doc/LUNIX $ chmod a-x toto
TSEI ~/doc/LUNIX $ ls -l toto
-rw-r--r-1 mazet
users
TSEI ~/doc/LUNIX $

5 Sep 30 19:42 toto*


5 Sep 30 19:42 toto

ajoute les droits de lecture (r), d'excution (x) et d'criture


(w) son propritaire (u).
chmod g+rx toto ajoute les droits de lecture (r) et d'excution (x) au groupe
du propritaire (g).
chmod o+r toto ajoute le droit de lecture (r) aux autres (o).
chmod a-x toto retire le droit d'excution tous (a=ugo).
chmod u+rxw toto

Chapitre 4 Gestion de processus

4.1 &, ; et |
Le caractre & permet de lancer un processus en tche de fond et ainsi de
rcuprer le contrle du shell pendant que la station travaille.
Exemple :
TSEI ~/doc/LUNIX $ gcc toto.c -c &
[2] 259
TSEI ~/doc/LUNIX $

Le caractre ; permet de lancer plusieurs commandes les unes la suite des


autres.
Exemple :
TSEI ~/c/convert $ ls ; gcc -Wall convert.c -c ; ls
convert.c
convert.c convert.o
TSEI ~/c/convert $

Le caractre | permet de relier deux commandes entre elles (la sortie de l'une
devient l'entre de l'autre).
Exemple :
TSEI ~/c/convert $ cat convert.c | grep newC
int nbCode, newCode = 0;
while (!newCode) {
newCode = 1;
newCode = 0;
char newC;
char newCode[MAX_CODE];
newC = (int) strtol (c, &c, 16);
sprintf (newCode, "%c", (int) strtol (c+1, NULL, 16));
(*l) = add(*l, newC, newCode);
(*l) = add(*l, newC, c+1);
TSEI ~/c/convert $
9

Pr. Hassan Qjidaa

Ici la sortie de cat (affichage d'un fichier) est envoye


chane de caractres).

grep

(recherche d'une

4.2 ps
La commande ps affiche la liste des processus en cours.
Exemple :
TSEI ~/doc/LUNIX $ ps
PID TTY STAT TIME COMMAND
150 p1 S
0:01 zsh
163 p1 S N 0:02 xdvi LUNIX.dvi
166 p1 R
0:00 ps
TSEI ~/doc/LUNIX $

: numro d'identification du processus.


TIME : temps de vie du processus.
COMMAND : commande associe au processus.
PID

4.3 kill
La commande kill transmet des signaux des processus (via leur PID) travaillant
en arrire-plan. Le plus connu (et srement le plus utilis) de ces signaux est le
signal 9 appel KILL. Il arrte le processus.
Exemple :
TSEI ~/doc/LUNIX $ ps
PID TTY STAT TIME COMMAND
150 p1 S
0:01 zsh
163 p1 S N 0:02 xdvi LUNIX.dvi
166 p1 R
0:00 ps
TSEI ~/doc/LUNIX $ kill -9 163
[1] + 163 killed
xdvi LUNIX.dvi
TSEI ~/doc/LUNIX $ ps
PID TTY STAT TIME COMMAND
150 p1 S
0:03 zsh
272 p1 R
0:00 ps
TSEI ~/doc/LUNIX $

4.4 ^C
La combinaison de touche
d'excution.

^C

(Control

C)

arrte toute commande en cours

Exemple :
TSEI ~/doc/LUNIX $ gcc toto.c -c
[2]
287 exit 1
gcc toto.c -c
TSEI ~/doc/LUNIX $
10

Pr. Hassan Qjidaa

4.5 ^Z
La combinaison de touche ^Z (Control F) stoppe toute commande en cours
d'excution. Le processus n'est plus actif mais peut reprendre si on lui envoie le
bon signal.
Exemple :
TSEI ~/doc/LUNIX $ gcc toto.c -c
zsh: 295 suspended gcc toto.c -c
TSEI ~/doc/LUNIX $ ps
PID TTY STAT TIME COMMAND
150 p1 S
0:03 zsh
276 p1 S N 0:09 xdvi LUNIX.dvi
295 p1 T
0:00 gcc toto.c -c
296 p1 R
0:00 ps
TSEI ~/doc/LUNIX $ kill -9 295
[2] + 295 killed
gcc toto.c -c
TSEI ~/doc/LUNIX $

4.6 fg
La commande fg bascule en premier plan ( la place du shell) le dernier processus
stopp ou lanc en arrire-plan.
Exemple :
TSEI ~/doc/LUNIX $ gcc toto.c -c
zsh: 297 suspended gcc toto.c -c
TSEI ~/doc/LUNIX $ ps
PID TTY STAT TIME COMMAND
150 p1 S
0:03 zsh
276 p1 S N 0:09 xdvi LUNIX.dvi
297 p1 T
0:00 gcc toto.c -c
298 p1 R
0:00 ps
TSEI ~/doc/LUNIX $ fg
[2] - continued gcc toto.c -c
gcc: toto.c: No such file or directory
gcc: No input files
TSEI ~/doc/LUNIX $

4.7 bg
La commande bg bascule en arrire-plan le dernier processus stopp.
Exemple :
TSEI ~/doc/LUNIX $ xdvi LUNIX.dvi
zsh: 300 suspended xdvi LUNIX.dvi
TSEI ~/doc/LUNIX $ ps
PID TTY STAT TIME COMMAND
11

Pr. Hassan Qjidaa

150 p1 S
0:03 zsh
300 p1 T
0:01 xdvi LUNIX.dvi
301 p1 R
0:00 ps
TSEI ~/doc/LUNIX $ bg
[1] - continued xdvi LUNIX.dvi
TSEI ~/doc/LUNIX $

Chapitre 5 Edition

5.1 cat
La commande cat affiche un fichier.
Exemple :
TSEI ~/doc/LUNIX $ cat toto
fe
d
TSEI ~/doc/LUNIX $

5.2 more
La commande more formate l'affichage d'un fichier en page-cran. Il est ensuite
possible de se dplacer l'intrieur.

avance d'une ligne vers la fin du fichier.


Space avance d'une page vers la fin du fichier.
b avance d'une page vers le dbut du fichier.
q quitte more.
Return

5.3 grep
La commande grep recherche un chane de caractres dans un fichier et affiche les
lignes o cette chane apparat.
Exemple :
TSEI ~/c/xtetris $ grep game tetris.c
#include "game.h"
fprintf (stderr, INC " freeware game\n");
fprintf (stderr, INC " freeware game\n");
createFrameOut (contexte, misc->game.begin_x-misc->thickness,
misc->game.begin_y-misc->thickness,
misc->game.end_x+misc->thickness,
misc->game.end_y+misc->thickness, misc->thickness);
TSEI ~/c/xtetris $

12

Pr. Hassan Qjidaa

5.4 vi
La commande vi est un diteur de texte. Elle permet de crer ou de modifier des
fichiers. Attention le mode d'emploi de vi est loin d'tre intuitif, mmorisez en les
concepts de base avant d'tre perdu...
Exemple :
TSEI ~/doc/LUNIX $ vi toto
~
~
~
"toto" [New File]

Si vous voulez insrer une phrase ou plusieurs phrases, appuyez sur la touche i.
Lorsque vous avez fini, appuyez sur la touche ESC (Escape). Vous pouvez vous
dplacer de droite gauche avec la touche h, de gauche droite avec l, de haut en
bas avec j et de bas en haut avec k. Pour effacer un caractre, appuyez sur la
touche x et pour effacer une ligne entire, appuyez deux fois sur la touche d. Pour
sauvegarder, tapez :w puis Return. Enfin pour quitter ce superbe diteur, tapez :q
puis Return.
Le tableau 5.4 rcapitule l'ensemble des commandes que vous avez connatre.
Table 5.1 : Commandes vi
Commande
Insertion sous le curseur
Insertion en dbut de ligne
Ajout devant le curseur
Ajout en fin de ligne
Rajout d'une ligne sous le curseur
Rajout d'une ligne au-dessus du curseur
Dplacement vers la droite
Dplacement vers la gauche
Dplacement vers le haut
Dplacement vers le bas
Dplacement de 4 lignes vers le bas
Placement la ligne 23
Effacement d'un caractre
Effacement de 5 caractres
Effacement d'une ligne
Effacement de 3 lignes

Touche(s)

Fin

ESC

ESC

ESC

ESC

ESC

ESC

ou
h ou
j ou
k ou
4k ou 4
:23 puis Return
l

x
5x
dd
3dd
13

Pr. Hassan Qjidaa

Table 5.1 : Commandes vi


Commande
Sauvegarde d'un fichier
Arrt de l'dition
Sauvegarde et arrt
Ajout du fichier truc
Forage d'une commande
Copie d'un bloc de 6 lignes
Collage d'un bloc au-dessous du curseur
Collage d'un bloc au-dessus du curseur
Recherche de la chane toto
Suite de la recherche vers la fin
Suite de la recherche vers le dbut

Touche(s)
Fin
:w puis Return
:q puis Return
:wq puis Return
:r truc puis Return
!
6yy
p
P
/toto

puis Return
n
N

5.5 joe
La commande joe est un autre diteur de textes. Celui-ci est beaucoup plus simple
d'utilisation que vi. Tapez ^K-H (Control K puis H) puis lisez l'aide.

Chapitre 6 Gestion du compte

6.1 passwd
La commande passwd permet de changer son password.
Exemple :
TSEI ~/doc/LUNIX $ passwd
Password:
New password:
New password (again):
Password changed.
TSEI ~/doc/LUNIX $

6.2 chfn
La commande chfn permet de changer ses informations.
Exemple :
14

Pr. Hassan Qjidaa

TSEI ~/doc/LUNIX $ chfn


Changing finger information for mazet.
Password:
Name [Laurent Mazet]:
Office []: J24
Office Phone []: 72.90
Home Phone []:
Finger information changed.
TSEI ~/doc/LUNIX $

6.3 chsh
La commande chsh permet de changer le shell (interprteur de commande) de
login d'un utilisateur.
Exemple :
TSEI ~/doc/LUNIX $ chsh
Changing shell for mazet.
Password:
New shell [/bin/zsh]: /bin/csh
Shell changed.
TSEI ~/doc/LUNIX $

Il est possible de connatre la liste des shells disponibles par la commande


l.

chsh -

Exemple :
TSEI ~/doc/LUNIX $ chsh -l
/bin/bsh
/bin/bash
/bin/sh
/bin/ash
/bin/zsh
TSEI ~/doc/LUNIX $

Chapitre 7 Complments

7.1 man
La commande man affiche une aide relative une commande.
Exemple :
TSEI ~/doc/LUNIX $ man man
man(1)

man(1)

NAME
man - format and display the on-line manual pages
manpath - determine user's search path for man pages

15

Pr. Hassan Qjidaa

SYNOPSIS
man [-adfhkKtwW] [-m system] [-p string] [-C config_file]
[-M path] [-P pager] [-S section_list] [section] name ...
DESCRIPTION
man formats and displays the on-line manual pages. This
version knows about the MANPATH and (MAN)PAGER environment
variables, so you can have your own set(s) of personal man
pages and choose whatever program you like to display the
formatted pages. If section is specified, man only looks
in that section of the manual. You may also specify the
order to search the sections for entries and which preprocessors to run on the source files via command line
options or environment variables. If name contains a /
then it is first tried as a filename, so that you can do
man ./foo.5 or even man /cd/foo/bar.1.gz.
:
TSEI ~/doc/LUNIX $

C'est la commande la plus importante que vous ayez connatre.

7.2 mail
La commande mail poste des courriers lectroniques.
Exemple :
TSEI ~/doc/LUNIX $ mail
To: cazenave@cybersoft.org
Subjet: About Emacs...
[. to end]
Salut,
Je t'envoie mon .emacs des que possible.
A+
;-)
.
[mail posted]
TSEI ~/doc/LUNIX $

7.3 alias
La commande alias cre des alias.
Exemple :
TSEI ~/doc/LUNIX
zsh: command not
TSEI ~/doc/LUNIX
TSEI ~/doc/LUNIX
total 130
17 #LUNIX.tex#
1 toto
5 LUNIX.aux
TSEI ~/doc/LUNIX

$ lss
found: lss
$ alias lss='ls -s'
$ lss
33 LUNIX.dvi
2 LUNIX.log
48 LUNIX.ps

15 LUNIX.tex
7 LUNIX.tex~
2 LUNIX.toc

$
16

Pr. Hassan Qjidaa

17

Pr. Hassan Qjidaa