Beruflich Dokumente
Kultur Dokumente
Youssef GHANOU
Introduction
Youssef GHANOU
Historique
Projet du Systme MULTICS (MULTiplexed Information and
Computing Service) vers la fin des annes 60 entre les
laboratoires de BELL et General Electric
Ken THOMSON, chercheur BELL, a dcid dcrire une
version allge de MULTICS en assembleur sur une machine
PDP7
UNIX a t port sur dautres machines PDP1120 PDP1145
PDP1170
Rcrire UNIX dans un langage de haut niveau pour faciliter le portagesur
dautres architectures:Ralisation du Langage B qui a t remplac par la suite
par le langage C
Youssef GHANOU
Historique
Youssef GHANOU
Historique
Youssef GHANOU
Youssef GHANOU
Youssef GHANOU
Linux
Proprits
multi-tches
multi-utilisateurs
Libre (et gratuit) !!
Portabilit
Youssef GHANOU
Linux
Proprits
Modularit
Noyau
Utilitaires
Systme de fichier
Arborescent
Rparti
Rorganisation souple
Youssef GHANOU
10
Linux
Proprits
Outils de communication intgrs
Talk, write, mail
Systme de commandes
Trs riche
Puissant
Youssef GHANOU
11
Initiation au shell
Le Shell = interprteur de commandes
Youssef GHANOU
12
Respecter la casse
et les espaces!!
Youssef GHANOU
13
! ^ * ? [] \ ;
L'astrisque ou toile: *
interprt comme toute suite de caractres alphanumriques
utiliser avec prcaution (commande rm par ex...)
Le point dinterrogation: ?
remplace 1 seul caractre alphanumrique
Youssef GHANOU
14
Youssef GHANOU
15
3 types de fichiers:
fichiers ordinaires
rpertoires
fichiers spciaux (priph., )
Youssef GHANOU
16
Youssef GHANOU
17
le rpertoire de login: ~
le rpertoire courant: .
le rpertoire suprieur: ..
connatre le rp. courant: pwd
lister le contenu: ls
bin
tmp
Staigaire
.cshrc
home
cours
docs
tp1.tex
18
Youssef GHANOU
19
20
Options
l : affiche les informations compltes des fichiers
et sous rpertoires
a : affiche les fichiers cachs
R : affichage rcursif
i : affiche le descripteur des fichiers (inumro)
d : n'affiche pas le contenu des rpertoires
Youssef GHANOU
21
cd chemin
Se dplace vers le rpertoire identifi par 'chemin'
Exemples
$ cd /home/dubois/doc
$ cd ../dubois/doc
Youssef GHANOU
22
$ mkdir stages
Dans le chemin indiqu par la premire partie de
nouveau_rep
Exemple
$ md /home/dupont/stages
$ mkdir ../dupont/stages
Youssef GHANOU
23
Youssef GHANOU
24
/
tmp
chemin relatif
chemin absolu
.cshrc
home
Stagaire
cours
docs
25
Exemple
$ rm r doc
rm i /home/dupont/linux.pdf
Youssef GHANOU
26
$ cat fichier1
cat fichier [fichier,...]
Concatne et affiche sur la sortie standard le(s) fichier(s)
en paramtre
Exemple
$ cat fichier1
$ cat fichier1 fichier2$ cat fichier1 fichier2
Youssef GHANOU
27
Exemple
$ more lettre
Youssef GHANOU
28
Exemple
$ head lettre
$head c 280 lettre
$ head n 5 lettre
Youssef GHANOU
29
Exemple
$ tail lettre
$tail n 6 lettre affiche les 6 dernires lignes
$ tail +n 6 lettre affiche de la ligne 6 jusqu la fin du fichier
Youssef GHANOU
30
du fichier
Par dfaut les trois
Exemple
$ wc lettre
Youssef GHANOU
31
copier
:
dplacer/renommer :
effacer :
afficher le contenu :
trier le contenu :
cp fic1 fic2
mv fic1 fic2
rm fic
cat fic
sort fic
Youssef GHANOU
32
$ ln lettre lien_lettre
$ ln lettre s lien_symbolique
Youssef GHANOU
33
(lopration inverse)
Possibilit de compression et de dcompression de larchive en
Youssef GHANOU
34
Youssef GHANOU
35
Youssef GHANOU
36
ex.:
rpl " IT " "Italie" < films.cine > films.tele
Youssef GHANOU
37
ex.:
rpl " IT " "Italie" < films.cine > films.tele
Youssef GHANOU
38
Les inodes.
Les inodes sont les vrais fichiers. La hirarchie des rpertoire ne fait que
donner de faux noms aux fichiers. Le nom de linode est le seul vrai nom
Youssef GHANOU
39
Youssef GHANOU
40
Youssef GHANOU
41
3 types de permissions
lecture (r)
criture (w)
excution (x)
crer/supp fichiers
excuter
traverser
fichier
rpertoire
Youssef GHANOU
42
nb liens
propritaire
type
taille
date
group
tp1.tex
nom
-rw-r--r-others
user
Youssef GHANOU
43
profess
Remarque
Le type du fichier : 'd' pour rpertoire, ' pour
un fichier ordinaire, 'b' ou 'c' pour des fichiers
spciaux (priphriques).
Youssef GHANOU
44
u : user
g : group
o : others
a : all
op:
= : affectation
- : suppr.
+ : ajout
perm:
r : lecture
w : criture
x : excution
rien
Exemples:
chmod u=rwx,g=rx,o=r tp1.tex
chmod a+x script.sh
chmod 755 script.sh
Youssef GHANOU
45
Youssef GHANOU
46
Youssef GHANOU
47
Exemple
Youssef GHANOU
48
Youssef GHANOU
49
Permissions : le super-utilisateur
Afin de permettre l'administration du systme, un
utilisateur spcial, nomm super utilisateur (ou root),
est toujours considr par le systme comme
propritaire de tous les fichiers
La personne qui gre le systme est normalement la
seule connatre son mot de passe. Lui seul peut
ajouter de nouveaux utilisateurs au systme.
Youssef GHANOU
50
who
Affiche les informations sur les utilisateurs
connects
who am i
Affiche les informations de l'utilisateur courant
whoami
Affiche le login de l'utilisateur courant
id
Affiche l'UID et le GID de l'utilisateur courant
Youssef GHANOU
51
Youssef GHANOU
52
Youssef GHANOU
53
Youssef GHANOU
54
Youssef GHANOU
55
Youssef GHANOU
56
Youssef GHANOU
57
Youssef GHANOU
58
Youssef GHANOU
59
Youssef GHANOU
60
wc -l.
Youssef GHANOU
61
Les Filtres
Youssef GHANOU
62
Les Filtres
Les commandes ayant la proprit la fois de
lire sur leur entre standard et d'crire sur leur
sortie standard sont appeles des filtres. Les
commandes cat, wc, sort, grep, cut, tail, head,
tr, . sont des filtres
Youssef GHANOU
63
La commande grep
Exemple:
Youssef GHANOU
64
La commande sort
sort [options] [+n1 -n2] filename1 [-o filename2]
trie, selon l'ordre lexicographique du code, les lignes
de filename1, affiche le rsultat ou le redirige sur
filename2.
Youssef GHANOU
65
66
La commande cut
Cette commande extrait des colonnes (option -c) ou
des champs (option -f ) des lignes dun fichier ou de
lentre standard. Dans le cas de loption -f, il est
possible de lui spcifier le dlimiteur chercher en
utilisant loption -d. Le dlimiteur par dfaut est la
tabulation
Youssef GHANOU
67
Exemple
Youssef GHANOU
68
La commande tr
tr string1 string2 l'entre standard est copie sur la
sortie standard, mais un caractre ayant une
occurence dans string1 est remplac par le caractre
de mme rang dans string2. Avec l'option -d, les
caractres en entre, prsents dans string1, sont
supprims en sortie.
Youssef GHANOU
69
Les outils
Youssef GHANOU
70
La commande find
Permet de chercher dans un rpertoire et ses sousrpertoires des fichiers prsentant certaines
caractristiques.
Syntaxe:
find chemin expression
Principales options:
Youssef GHANOU
71
Youssef GHANOU
72
La comparaison de fichiers
La commande diff donne les modifications
apporter au premier fichier spcifi pour qu'il
ait le mme contenu que le second.
Par exemple :
diff pass.tmp /etc/passwd affichera les
modifications apporter au fichier pass.tmp
pour qu'il ait le mme contenu que le fichier
/etc/passwd.
Youssef GHANOU
73
La comparaison de fichiers
touch fichier : Modifie la date de dernire modification
du fichier, celleci devient gale la date laquelle la
commande a t excute. Si le fichier n'existe pas, il sera
cr (et de taille nulle) sauf si l'option c est utilise.
Youssef GHANOU
74
La comparaison de fichiers
La commande cmp
cmp nom_fichier1 nom_fichier2: donne le n
de l'octet et de la ligne o se produit la
premire diffrence entre nom_fichier1 et
nom_fichier.
Youssef GHANOU
75
Expressions rgulires
Youssef GHANOU
76
Expressions rgulires
Motif ou pattern
Formulation des critres didentification de chane de
caractres
77
Expressions rgulires
Objectifs
Identifier la (les) chane(s) de caractres
rpondant un certain nombre de critres
Excuter des commandes sommaires Une
commande peut remplacer plusieurs commandes
Youssef GHANOU
78
Expressions rgulires
Principales Fonctionnalits
Vrification de lexistence dune squence de
caractres dans une ligne
Remplacement dune squence par une chane de
caractre
Suppression dune squence de caractres
Extraction dune squence de caractres
Youssef GHANOU
79
Principaux mtacaractres
Youssef GHANOU
80
Principaux mtacaractres
Youssef GHANOU
81
Expressions rgulires
Mtacaractres
Ces caractres ont une signification
particulire et par consquent ne peuvent
tre utiliss directement pour une recherche
les concernant. Ils doivent donc tre prcds
par le caractre dchappement \.
Exemple
script\.sh
Youssef GHANOU
82
Expressions rgulires
Mta-caractres
. : Remplace nimporte quel caractre
*+ : Regroupe lensemble ou lintervalle de valeurs que
peut prendre un caractre
Exemples
83
Expressions rgulires
Mta-caractres
^
Dbut de ligne
Exemples
^[A-Z] : La ligne commence par une lettre majuscule
^Bonjour : la ligne commence par Bonjour
Ngation : entre []
Exemples
[^a-z+ : nest pas un caractre minuscule
$
Fin de ligne
Exemples
[0-9]$ : la ligne se termine par un chiffre
(valide)$ : la ligne se termine par le mot valide
\.$ : la ligne se termine par .
Youssef GHANOU
84
Expressions rgulires
Mta-caractres
Caractres spciaux usuels
Youssef GHANOU
85
Expressions rgulires
Mta-caractres
Motifs prdfinis
Youssef GHANOU
86
Lditeurs de texte vi
Youssef GHANOU
87
Introduction
LINUX permet de distinguer les "visualisateurs " de
fichiers (afficheur de contenu pour la consultation), des
diteurs de fichiers en texte brut (pour la modification
sans mise en page), des formateurs de texte qui
permettent de mettre en forme un texte, des filtres et des
traitements de texte qui sont plus sophistiqus.
Il existe de nombreux diteurs de texte: ed
joe
vi (visual)
vim (vi improve)
pico
emacs (editor macros)
Youssef GHANOU
88
Youssef GHANOU
89
Youssef GHANOU
90
Youssef GHANOU
91
Youssef GHANOU
92
Youssef GHANOU
93
Dplacements dans vi
[CTRL]f Descend d'un cran
[CTRL]b Remonte d'un cran
[CTRL]d Descent d'1/2 cran
[CTRL]u Remonte d'1/2 cran
:xxx
Va la ligne xxx
Youssef GHANOU
94
Ractualisation de l'cran
[CTRL]l Ractualise l'cran
Positionnement du curseur
H En haut de l'cran
M Au milieu de l'cran
Youssef GHANOU
95
L
h
j
k
l
O
$
w
e
b
En bas de l'cran
Dcale d'un caractre gauche
Descend d'une ligne
Monte d'une ligne
Dcale d'un caractre droite
Au dbut de la ligne
la fin de la ligne
Au dbut du mot suivant
la fin du mot suivant
Recule d'un mot
Youssef GHANOU
96
Youssef GHANOU
97
98
99
100
Rechercher/Remplacer du texte
/chaine Recherche le texte "chaine" vers le bas
?chaine Recherche le texte "chaine" vers le haut
n
Rpte la dernire recherche
N
Inverse la recherche prcdente
:g/expr1/s//expr2/g Recherche dans tous le fichier
l'expression 1 et la remplace par l'expression 2
:x,y s/expr1/expr2/g Recherche de la ligne x la ligne y
l'expression 1 et la remplace par l'expression 2
Youssef GHANOU
101
Youssef GHANOU
102
Youssef GHANOU
103
104
Youssef GHANOU
105
Youssef GHANOU
106
107
108
Prt
Actif
- Dtient la ressource CPU.
- Le processus volue.
- Nombre de processus actifs infrieur ou gal au nombre processeurs.
Bloqu
- Le processus est bloqu sur une demande de ressource : E/S, mmoire
centrale, etc.
Youssef GHANOU
109
Youssef GHANOU
110
Youssef GHANOU
111
112
Youssef GHANOU
113
114
Cration de processus
Pour chaque commande lance (sauf les
commandes internes), le shell cre
automatiquement un nouveau processus.
Il y a donc 2 processus. Le premier, appel
processus pre, excute le programme shell, et
le deuxime, appel processus fils, excute la
commande.
Le fils hrite de tout l'environnement du pre,
sauf bien sr du PID, du PPID et des temps
d'excution.
Youssef GHANOU
115
Exemple
$ ps l
$ ps u dupont
Youssef GHANOU
116
Exemple:
$ ps
PID TTY TIME
527 ttyp 4 1:70
536 ttyp 4 0:30
559 ttyp 4 0:00
$
COMMAND
ksh
cmd1
ps
Youssef GHANOU
117
118
119
120
Youssef GHANOU
121
Le shell
Youssef GHANOU
122
Youssef GHANOU
123
Bourne shell
Bourne shell la syntaxe des commandes
est proche de celle des premiers UNIX (
/bin/sh ).
Il existe plusieurs interprteurs de
commandes. Historiquement, le premier a t
crit par S. R. Bourne. Il est donc souvent
nomm Bourne Shell.
Youssef GHANOU
124
Les variables
leur nom : une suite de caractres lettres, chiffres
exemple:
a=paul
chemin=/users/eleves/m-durand99
leur valeur : $a ou ${a} dsigne la valeur de la variable a et ${a}c dsigne la valeur
de a suivie de c.
exemple:
a=paul
b=chou
echo $a $b
On utilise trois caractres gnriques :
* toute sous-chane, mme vide,
? tout caractre,
[...] tous les caractres d'un intervalle.
Toute fin de ligne commenant par # est un commentaire
Youssef GHANOU
125
ex:
a="bijou * caillou "
b=chou ; c=caillou ; r="$a $b";echo $r
Youssef GHANOU
126
ex.:
echo \* ; echo \\
echo abc\*\*\*d
les dlimiteurs de chanes :
dans une chane dlimite par des " , les caractres $,
\, ', ` sont des caractres spciaux.
dans une telle chane, un caractre doit tre prcd
de \
dans une chane dlimite par des ' , tous les
caractres perdent leur aspect spcial
Youssef GHANOU
127
Types
Numrique
Chane de caractres
Accs au contenu
Prcder l'identificateur par le caractre $
Youssef GHANOU
128
Variables d'environnement
129
Lecture
Lecture (read)
read permet de lire une ou plusieurs variables partir
de lentre Standard
Syntaxe
read var1 *var2, +
Si plusieurs variables la fois, le contenu saisi sera
rparti sur les variables, dans lordre, avec espace
comme sparateur.
Exemples
read a
read n a
Youssef GHANOU
130
Affectation
Affectation : =
Syntaxe
Ident_variable = <expression>
Exemples
n=10
Nom=Mohamed
Youssef GHANOU
131
Youssef GHANOU
132
La structure for
Cette structure de contrle permet dexcuter
un ensemble de mmes commandes avec un
ensemble dlments.
for nom [ in liste ... ]
do
commandes
done
Youssef GHANOU
133
Youssef GHANOU
134
La structure if
Cette construction peut tre utilise comme
instruction de branchement gnrale. Il sagit
dun aiguillage.
if commandes1
Then commandes2
else commandes3
fi
Youssef GHANOU
135
Youssef GHANOU
136
La structure case
Cette structure de contrle permet de
slectionner des actions suivant la valeur de
certains mots. La structure case ne peut que
comparer des chanes de caractres.
case chane in
motif1) commande1 ;;
motif2) commande2 ;;
...
motifn) commanden ;;
esac
Youssef GHANOU
137
138
Youssef GHANOU
139
Youssef GHANOU
140
until commandes1
do commandes2
Done
La structure de contrle until nest rien
dautre que le test inverse du while. On
pourrait traduire le while par "tant que" et le
until par "jusqu ce que".
Youssef GHANOU
141
Commande expr
Commande expr : Permet dexcuter les
oprations arithmtiques de base
syntaxe
`expr var1 op var2`
op : +,,*,/,%
Exemple
n=$(expr $a + $b)
Youssef GHANOU
142
Youssef GHANOU
143
144
Exemple
a=3
b=$(expr $a + 5)
La variable "b" va rcuprer le rsultat du
calcul effectu entre parenthses, c'est--dire
"8". La variable "a" est inchange.
Youssef GHANOU
145
Imbrication de if/else
Syntaxe :
if condition1
then
liste_commandes1
elif condition2
then
liste_commandes2
else
liste_commandes3
fi
Youssef GHANOU
146
147
148
149
150
Youssef GHANOU
151
exec
exec ralise des redirections d'E/S
exec 1 > std.out
# redirige la sortie
standard vers le fichier std.out
exec < fic
# redirige l'entre standard
sur le fichier fic.......
exec < /dev/tty
# rtablit l'entre
standard
Youssef GHANOU
152
153