Sie sind auf Seite 1von 63

S.

ALLAOUI

le Shell
le Shell est un programme qui permet l'utilisateur de dialoguer avec le
cur du systme (le noyau).
Il permet de raliser plusieurs tches :
il interprte les ordres taps au clavier par l'utilisateur et permet ainsi
l'excution des programmes;
il fournit l'utilisateur un langage de programmation interprt;
il permet de modifier l'environnement;
il se charge de raliser les redirections des entres-sorties, les pipes
et la substitution de type fichier (dtaills plus loin dans ce cours).
S.ALLAOUI

une commande
La syntaxe d'une commande Linux est donc :
commande [argument(s)]
o :
commande est le nom d'une commande interne ou un programme
excutable, et arguments sont des options reconnues par cette
commande.

S.ALLAOUI

S.ALLAOUI

Les variables

Les variables denvironnement


Les variables sont des valeurs associes des noms explicites; elles constituent
l'environnement d'excution des commandes.
HOME : variable initialise au login et contenant le rpertoire de l'utilisateur.
PATH : contient la liste des rpertoires o effectuer une recherche des programmes
PS1 : contient l'invite (quivalent la variable PROMPT de DOS).

S.ALLAOUI

Les variables

Bien sr, l'utilisateur peut dfinir ses propres variables, en respectant la syntaxe
suivante : $ nom_variable=valeur

(Sans espace avant ni aprs le signe gal)

Pour rcuprer le contenu d'une variable, l'utilisateur utilise le caractre $ suivi


du nom de sa variable.

Ex : echo $nom_variable

S.ALLAOUI

Les variables

S.ALLAOUI

S.ALLAOUI

Les commandes de base

Commande

Description

cd

Accder un dossier

pwd

Affiche le rpertoire courant

date

Affiche/modifie date et heure

uname

Infos systme d'exploitation et machine

id

Affiche uid, goupe et groupes secondaires

groups

Affiche les groupes (secondaires)

env

Affiche les variables d'environnement

S.ALLAOUI

Les commandes de base


La commande ls
Quelques options de ls sont utiles :
ls a : liste tous les fichiers du rpertoire, y compris les fichiers cachs.
ls l : permet de lister les attributs des fichiers (avec beaucoup de dtails)
ls -t : Affiche les fichiers par date, c'est--dire en les classant du rcent au plus ancien.
ls -lu :Affiche les fichiers par date de dernier accs et indique cette date.
ls -S : Affiche les fichiers tris par ordre de taille dcroissante.
ls -r : Affiche les fichier en ordre alphabtique inverse.

S.ALLAOUI

10

Les commandes de base


La commande mkdir

mkdir [-p] nouveau_rpertoire


La commande mkdir cr le rpertoire spcifi 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'option -p est spcifie).

S.ALLAOUI

11

Les commandes de base


La commande rmdir
rmdir [-p] [-s] rpertoire
La commande rmdir supprime le rpertoire spcifi sur la ligne de commande
(rpertoire ). Si il existe des fichiers ou des sous rpertoires, la commande retournera
un code d'erreur ( exit status).
Options courantes
-p permet de dtruire tous les sous-rpertoires vides.
-s mode silencieux (aucun affichage).
S.ALLAOUI

12

Gestion et manipulation de fichiers

-cp
-mv
-rm

S.ALLAOUI

13

Gestion et manipulation de fichiers


La commande cp
Syntaxe :
cp [-i] [-p] fichier1 fichier2 ou cp [-i] [-p] [-r] source1 [source2...] rpertoire
Options courantes
-i mode interactif, demande la confirmation avant crasement.
-p conserve les dates du fichier source.
-r copie rcursive de rpertoires.
Pour pouvoir copier un fichier/rpertoire, vous devez avoir les droits suivants :
droits de lecture du fichier copier ;
droits d'excution sur le rpertoire contenant le fichier copier ;
droits d'criture sur le rpertoire de destination.
S.ALLAOUI

14

Gestion et manipulation de fichiers


La commande mv
Syntaxe : mv [-i] [-u] [-b] source1 [source2...] destination

-b ('b' comme "backup") va effectuer une sauvegarde des fichiers avant de


les dplacer
-i ('i' comme interactive) demande pour chaque fichier et chaque
rpertoire s'il peut ou non dplacer fichiers et rpertoires.
-u ('u' comme update) demande mv de ne pas supprimer le fichier si
sa date de modification est la mme ou est plus rcente que son
remplaant.
S.ALLAOUI

15

Gestion et manipulation de fichiers


La commande rm

Syntaxe :
rm [-f] [-i] [-r] fichier1 [fichier2...]
-r permet de supprimer un rpertoire et ses sous rpertoires .
-f permet de supprimer les fichiers protgs en criture et rpertoires sans que le
prompt demande une confirmation de suppression ( utiliser avec prcaution ...)

S.ALLAOUI

16

S.ALLAOUI

17

S.ALLAOUI

18

S.ALLAOUI

19

S.ALLAOUI

20

S.ALLAOUI

21

S.ALLAOUI

22

S.ALLAOUI

23

S.ALLAOUI

24

S.ALLAOUI

25

S.ALLAOUI

26

S.ALLAOUI

27

S.ALLAOUI

28

S.ALLAOUI

29

S.ALLAOUI

30

S.ALLAOUI

31

Les Tubes
Les entres-sorties et leur redirection.
Une commande lit normalement ses donnes d'entre dans l entre
standard et crit sa sortie dans la sortie standard qui, par dfaut,
correspondent respectivement au clavier et l'cran du terminal.

S.ALLAOUI

32

Les Tubes

Les entres-sorties et leur redirection.

S.ALLAOUI

33

Les Tubes

Voici un exemple avec la commande sort (commande qui trie les donnes
d'entre par ordre alphabtique) :

S.ALLAOUI

34

S.ALLAOUI

35

S.ALLAOUI

36

La commande tee
La commande tee duplique le flux de donnes en sortie :
- Elle copie la sortie dans un fichier (simple redirection)
- Affiche le rsultat sur la sortie standard, et permet donc de
le renvoyer une autre commande.
Exemple : ls -l /etc/password | tee le_fichier | wc -l

S.ALLAOUI

37

La commande xargs
La commande xargs permet de passer en argument dune
commande les flux reus en entre.

cat le_fichier | xargs ls

S.ALLAOUI

38

S.ALLAOUI

39

S.ALLAOUI

40

S.ALLAOUI

41

Gestion des processus

Le systme dexploitation manipule deux types de processus :

-Processus systme (Processus dmon ou daemon) : processus


lanc par le systme (init processus pre de tous les processus
du systme)

- Processus utilisateur : processus lance par lutilisateur


(commande utilisateur). Dans ce cas, le processus utilise ses
propres ressources sans accder celles du noyau.
S.ALLAOUI

42

Gestion des processus

Dans un systme Linux, aucun processus n'est indpendant. Tous


processus, l'exception de init, a un pre.

Un processus est cre par mcanisme de fork et exec.

Les liens parentaux entre les processus sont facilement visualisables par la
commande pstree :

S.ALLAOUI

43

Gestion des processus

S.ALLAOUI

44

Gestion des processus


un processus peut se trouve dans lun des tats suivants :

Elu : si le processus est en cours d'excution


Bloqu : attente quun vnement se produit ou bien ressource pour pouvoir continuer
Prt : si le processus dispose de toutes les ressources ncessaires son excution
l'exception du processeur.
S.ALLAOUI

45

Gestion des processus

Smantique des Transitions


(1) : Allocation du processeur au processus slectionn
(2) : Rquisition du processeur aprs expiration de la tranche du temps par exemple
(3) : Blocage du processus lu dans lattente dun vnement (E/S ou autres)
(4) : Rveil du processus bloqu aprs disponibilit de lvnement bloquant (Fin E/S, etc)
S.ALLAOUI

46

S.ALLAOUI

47

S.ALLAOUI

48

La commande kill permet darrter ou denvoyer un signal un processus,


syntaxe : kill [-Numro-du-signal] PID.
Les principaux signaux sont :
- 1 (SIGHUP) : le signal de numro 1, SIGHUP (en anglais hang up), est envoy par le
processus parent tous ses enfants lorsquil termine son activit. La plupart des
dmons redfinissent ce signal en le transformant en relire les fichiers de configuration
;
- 2 (SIGINT) : signal dinterruption dun processus. Il est quivalent celui envoy par la
combinaison de touches <Ctrl> et <C> ;
- 9 (SIGKILL) : termine le processus via un appel noyau, donc sans sauvegarde ;
- 15 (SIGTERM) : signal par dfaut de la commande kill. Il excute le code de terminaison
(sil y arrive) et vide la mmoire. C'est donc le signal de fin dun processus le plus propre.
S.ALLAOUI

49

S.ALLAOUI

50

Si lon ne connat pas le PID du processus auquel on veut envoyer


un signal, on peut le dsigner par son nom en utilisant la commande
killall.

Syntaxe :
killall SIGNAL nom_du_processus.

S.ALLAOUI

51

S.ALLAOUI

52

S.ALLAOUI

53

S.ALLAOUI

54

S.ALLAOUI

55

background and forground processes


La commande bg : Lancer un processus en arrire plan
La commande fg : Lancer le processus en foreground
[mike localhost]$xclock
xclock running in forground, shell prompt lost
[1]+ Stopped
xclock
[mike localhost]$bg
[1]+ xclock &
xclock received ^Z signal
shell prompt recovered, issue the bg command
xclock is running in the background
[mike localhost /bin]$
S.ALLAOUI

56

background and forground processes


jobs
La commande jobs permet dafficher les processus en tches de fond
Numro de jobs
Appeler le job 2 au foreground et tuer le job 1
$fg 2
or
$fg %2
$kill 9 %1
S.ALLAOUI

57

background and forground processes

La commande nohup
La commande nohup permet de lancer un processus qui restera actif
mme aprs la dconnexion de lutilisateur qui layant initie.

#nohup xclock &

S.ALLAOUI

58

Glossary
Terme

Description

Processus
orphelin

le processus pre se termine avant le processus fils et ce


dernier sera adopt par le processus init.

Processus
zombie

Un processus fils qui meurt et dont le pre nest pas au


courant. Ce processus a t totalement dsallou de la
mmoire mais reste toutefois prsent dans la table des
processus. Le processus pre vrifie ltat de son
processus fils via la fonction wait().

S.ALLAOUI

59

S.ALLAOUI

60

Lditeur vi
vi est un diteur bi-modal :
un mode insertion
un mode commande
ouvrir un fichier sous vi : vi fichier
au lancement, vi est en mode commande
on entre dans le mode insertion en tapant une des commandes d'insertion :
i : insrer , a : ajouter aprs le curseur
o : ouvrir une ligne
on passe du mode insertion au mode commande en appuyant sur la touche ESC
S.ALLAOUI

61

Lditeur vi

- commandes utiles du mode commande :


o yy : copier la ligne courante dans le buffer de copie
o n yy : copier n lignes
o dd : supprimer la ligne courante et la mettre dans le buffer
o n dd : supprimer n lignes
o p : coller le buffer de copie aprs le ligne courante
o P : coller le buffer de copie avant le ligne courante

S.ALLAOUI

62

Lditeur vi
en mode commande, on accde au buffer de commande en tapant sur la
touche : .
On peut alors entrer des commandes utiles :
 w - > crit le fichier sur le disque (write)
 wq -> sauvegarder puis quitter (write quit)
 w! -> forcer l'criture
 q! -> forcer la sortie
 /blabla -> recherche les occurrences de la chane blabla
N : occurrence suivante
SHIFT+N : occurrence prcdente
 set nu : affiche les numros des lignes
S.ALLAOUI

63

Das könnte Ihnen auch gefallen