SEDKI SE Cours F
SEDKI SE Cours F
SEDKI SE Cours F
Prof. SEDKI A.
[email protected] 1
SEDKI A.
Chap.1 Introduction
Chap.1-
Systèmes d‘exploitation
2
SEDKI A.
Plan du chapitre
● En quoi consiste un ordinateur?
3
SEDKI A.
Rappel
Informatique = Information + Automatique
« Science du traitement automatique de l’information»
Ordinateur
Materiels Programmes
(Hardware) (Software)
4
SEDKI A.
Rappel: Dialogue Processeur–Mémoire
Le fonctionnement de l’ordinateur repose en grande partie sur le
dialogue processeur – mémoire
La mémoire vive assure le stockage des instructions à
exécuter, ainsi que des données.
Le processeur exécute un programme chargé en mémoire.
Le processeur est connecté à la mémoire par des bus «fils
électriques» assurant le transfert de l'information.
La RAM s’efface lorsqu’on coupe le courant (volatile).
mémoire vive
processeur (RAM)
bus
5
SEDKI A.
Rappel: Mémoire de masse
Disque dur, cdrom/dvd/, clé USB, ...
Utile pour garder de l’information à long terme (vos fichiers,
mais aussi le système d’exploitation)
processeur
mémoire vive
(RAM)
bus
disque-dur
6
SEDKI A.
Rappel: Carte mère
Tous les composants de l’ordinateurs, processeur, la mémoire et
les diverses connexions (« bus ») vers les périphériques sont fixés
sur une carte électronique (support) appelée « carte-mère ».
7
SEDKI A.
Comment les programmes se partagent l'accès aux
ressources de la machine (processeur, mémoires…)?
un seul processeur!!
traitement de texte
navigateur web
?
musique mp3
chacun son tour!
mémoire conflit
Système d'exploitation
Linux
Simplifier
l'accès au
matériel ? Gérer les
ressources
matériel
9
SEDKI A.
Rôle1: Simplifier l'accès au matériel
Exemple : Un programme désirant afficher un
rectangle ne va pas envoyer des instructions à
la carte graphique de l’ordinateur, mais plutôt
demander au système d’exploitation de le faire.
carte graphique
10
SEDKI A.
Structure en couches d’un SE moderne
La partie principale d’un SE, c’est son Noyau (ou Kernel en
Anglais)
il propose les 4 grandes fonctions suivantes :
gérer la mémoire ;
11
SEDKI A.
Gestion des processus
Un processus désigne un programme, un logiciel, en cours
d’exécution (aspect dynamique d'un programme).
Le processus démarre par son chargement en mémoire
centrale depuis la mémoire de masse (disque dur, clé USB, …).
Le SE réserve une zone mémoire puis copie tout ou une partie
des instruction du processus de la mémoire de masse vers la
mémoire centrale : le processus est alors prêt à être exécuté.
12
SEDKI A.
Gestion des processus
13
SEDKI A.
Gestion des processus
Quand on fait exécuter plusieurs programmes en même temps,
en réalité, chaque programme exécute seul pendant un cours laps
de temps (quantum).
le processeur bascule constamment d’un processus à l’autre
14
SEDKI A.
Exemple : Exécution de 2 processus
Deux processus, P1 et P2, doivent être exécutés. Chacun dure
3 unités de temps.
Comme le processeur ne peut faire qu’une chose à la fois, on
les exécute en alternance :
Exemple : si l’intervalle est de 5 ms (1/200s), alors en 1sec on
a exécuté P1 et P2 100 fois chacun.
on a l’impression que l’ordinateur fait deux choses en même
temps!
15
SEDKI A.
Un processus… dans tous ses états
Une fois chargé dans la mémoire, un processus peut prendre 3 états :
Etat prêt: Le processus attend que le SE lui attribuer un processeur
(attend de passer à l’état élu).
Etat élu (actif): le processus utilise le processeur (en cours de
d’exécution)
Etat bloqué: le processus attend une ressource externe (exp : fin
d'une entrée-sortie (frappe d’un caractère au clavier)
processus chargé Obtention de la
en mémoire ressource demandée
Prêt
processus
sélectionné quantum de Bloqué
par SE temps
écoulé
Elu
processus fini processus en attente
d’une E/S 16
SEDKI A.
Ordonnancement
L’ordonnancement des processus consiste simplement à
décider quel processus sera exécuté dans le quantum de temps
suivant.
Pour assurer cette gestion, le système d’exploitation utilise deux
éléments stockés en mémoire :
un ordonnanceur (Programme du système d’exploitation)
activé de façon périodique pour déterminer quel
processus doit avoir la main ;
un tableau des processus contenant des informations
comme le quantum de temps, l’identifiant du processus
(PID), la zone de mémoire utilisée …
17
SEDKI A.
Exemple : Exécution de 2 processus
Deux processus, P1 et P2, doivent être exécutés. Chacun
nécessite 3 quanta de temps au total.
C’est l’ordonnanceur qui décide quel processus
exécuter à chaque quantum.
Comme le processeur ne peut faire qu’une chose à la
fois, ils sont exécutés en alternance.
18
SEDKI A.
Gestion des processus
Multi-utilisateurs: plusieurs personnes peuvent travailler en
même temps sur la même machine au travers un terminal
Le terminal se charge essentiellement de l'affichage.
Les programmes tournent sur les serveurs
Les fichiers sont également stockés sur un serveur, pas sur le
terminal.
19
SEDKI A.
la mémoire, c'est quoi?
La mémoire vive d'un ordinateur (RAM) peut être vu comme
une succession des cellules binaires
Une cellule mémoire stock 1 seul bit (0 ou 1) .
20
SEDKI A.
RAM
la mémoire, c'est quoi?
La mémoire d'un ordinateur (RAM) est composée d'un grand
nombre d'octets
21
SEDKI A.
Gestion de la mémoire
L’objectif principal de la gestion mémoire est de partager la
mémoire RAM entre les divers processus.
Lorsqu'il a besoin de mémoire, un processus demande à l'OS
quelle zone il peut utiliser,
L'OS lui attribue, en fonction de l'espace libre, un certain nombre
de blocs mémoire.
Les blocs mémoire attribues sont alors réservés.
22
SEDKI A.
Gestion de la mémoire
Les processus démarrent par son chargement en mémoire.
25
SEDKI A.
Gestion de la mémoire
Un ordinateur qui dispose de peu de RAM doit utiliser la
mémoire virtuelle (swap)
26
SEDKI A.
Gestion de la mémoire (resumé)
Les processus occupent et utilisent de la place en mémoire. Le SE
a aussi pour rôle de gérer en permanence un plan d’occupation de la
mémoire, c’est-à-dire qu’il gère l’organisation et l’optimisation de la
mémoire. Le SE gère également le chargement des programmes en
mémoire centrale. En cas de besoin, Le SE. répartit ses besoins entre la
mémoire vive et la mémoire virtuelle (place allouée sur le disque dur
jouant le rôle d’une mémoire vive) : c’est le swapping. Pour répartir la
mémoire entre différentes processus, plusieurs techniques sont
employées :
La pagination : les programmes sont découpés en blocs de
longueur fixe correspondant aux segments de mémoire alloués.
La segmentation permet un découpage plus fin et adapté aux
besoins. Les programmes ne sont pas découpés en blocs de taille
fixe mais en segments dont la taille dépend du programme.
27
SEDKI A.
Gestion des fichiers
Le système d’exploitation va donner corps au concept de
fichiers, c’est-à-dire les gérer : les créer, détruire, modifier, lire, et
offrir la possibilité de les désigner par des noms.
Le concept de fichier est une structure adaptée aux mémoires de
masse permettant de regrouper des données.
Un fichier est un ensemble d’octets qui peuvent être interprétés
de différentes façons (texte, programme exécutable, image,
musique) et manipulé à travers un nom.
Pour assurer la gestion des fichiers, un système d’exploitation
utilise un (voire plusieurs) système(s) de fichiers (« file system »).
Le système de fichiers permet de :
gérer des fichiers (les créer, renommer, copier, modifier,
supprimer, etc …),
organiser le stockage des fichiers sur un support physique (un
disque dur, une clé USB, un DVD,…)
28
SEDKI A.
Gestion des entrées-sorties
Le SE est également responsable de la gestion et le contrôle
d'accès des programmes aux périphériques d’entrées-sorties
par l'intermédiaire des cartes électroniques appelées
contrôleurs de périphérique (puce placée sur une carte)
Chaque type de contrôleur est spécifique, Le SE donc a
besoin d’un logiciel spécial pour communiquer avec le
contrôleur, il est appelé pilote de périphérique (driver) et doit
être adapté au système d'exploitation (par exemple pilote HP
laser jet pour Windows7, pilote HP laser jet pour UNIX, ...).
Ces pilotes doivent
être INSTALLES
pour exploiter
un périphérique
En général les pilotes
sont placés dans le SE
pour fonctionner en
mode noyau (protection).
29
SEDKI A.
Structure en couches d’un SE moderne
Le noyau (kernel) représentant les fonctions fondamentales
du SE
31
SEDKI A.
Présentation du système Linux
Le système d’exploitation UNIX
Première version écrite en assembleur en 1970
un OS gratuit et libre.
libre : le code source est ouvert "Open Source",
32
SEDKI A.
Linux sous licence GPL
le code source est ouvert "Open Source"
le code source modifié doit rester sous licence GPL
chacun peut le modifier et l’améliorer
Le système devient de plus en plus complet et
différentes distributions sont disponibles gratuitement
Lunix
33
SEDKI A.
Noyau et distribution
le Linux est architecturé autour d’un noyau (contient
toutes les fonctions de base d’un OS)
Noyau Linux = 11 000 000 lignes de code
chargé au démarrage (boot) de l’ordinateur
Une distribution est une noyau auquel des logiciels ont
été ajoutés
Lunix
Ubuntu 34
SEDKI A.
Interface graphique vs ligne de commande
Quelle que soit la distribution, il y a 2 façons d'utiliser Linux:
En mode graphique En mode console
- simple - compliqué
-non informaticiens - informaticiens,
professionnels
La console:
- programmation (Expemple: Combien d'images JPEG
dans un dossier? (ls -l | grep jpg | wc -l))
- des serveurs tournant sous Linux
- accessible à distance par internet 35
SEDKI A.
Les interfaces graphiques
Il y a plusieurs modes graphiques, basés sur
un programme appelé X-window
Gestionnaire de bureau.
gérer les fenêtres, leur apparence, leurs options, etc
les plus célèbres :
KDE
Gnome
menu principal
36
SEDKI A.
Le terminal (la console)
Sous Gnome, dans le tableau de bord, tapez "Terminal":
terminal
L’invite de commandes
37
SEDKI A.
L’invite de commandes
Elle invite l’utilisateur à taper une ligne de commande
L’invite de commandes
(Prompt)
38
SEDKI A.
Le shell : interpréteur de commandes
Le shell se présente sous la forme d’une interface en ligne
de commande accessible depuis une console (terminal).
Shell interprète une ligne de commande
Chaque commande a une syntaxe particulière
Une commande lance l’exécution d’un programme
Le résultat s’affiche à l’écran
Une fois l’exécution terminé, l’invite de commande
s’affiche automatiquement au nouveau
39
SEDKI A.
Le shell
C’est l’« interpréteur de commandes ».
Le shell se présente sous la forme d’une interface en ligne
de commande accessible depuis une console (terminal).
Shell interprète une ligne de commande
Chaque commande a une syntaxe particulière
Une commande lance l’exécution d’un programme
Le résultat s’affiche à l’écran
Une fois l’exécution terminé, l’invite de commande
s’affiche automatiquement au nouveau
40
SEDKI A.
Structure d'une commande
Les commandes ont généralement la structure suivante :
41
SEDKI A.
Chap. 2
Le système de fichiers
42
SEDKI A.
Qu’est--ce qu’un système de fichier ?
Qu’est
Le système de fichiers (une partie de SE), permet
d’organiser des fichiers sur un support de stockage
Sur un disque dur, une clé USB, un DVD, …
Windows Linux
FAT32 EXT3
NTFS EXT4 43
SEDKI A.
Rôle du système de fichier
Organiser le stockage des fichiers sur un support
physique (un disque dur, une clé USB, un DVD,…)
Gérer l’espace disponible en fonction de la taille des
fichiers
Localiser l’emplacement physique des fichiers
Exemple :
/bin
/usr
45
SEDKI A.
Organisation des dossiers sous Linux
Le répertoire racine / contient d'autres répertoires:
bin: contient des programmes (exécutables)
……..
répertoire
courant
47
SEDKI A.
Chemin relatif ou absolu: exemples
On appelle « chemin » la succession des répertoires
conduisant à un fichier , à partir d’un endroit donné dans
l’arborescence.
Deux façons pour désigner un chemin
Relatif : Chemin relatif au répertoire courant
Exemple: Documents/TP Séparateur: " / "
Absolu : Chemin complet depuis la racine
il commence toujours par la racine « / ».
Exemple: /home/estg/Documents/TP
/
répertoire
courant
49
SEDKI A.
Exemple de chemin relatif (2/2)
Le répertoire courant (cwd) nommé . (point)
50
SEDKI A.
Chemin relatif ou absolu: exercice
Vous vous place dans votre home "estg".
En utilisant un chemin absolu, rentrez dans le
répertoire TPs.
Par quel chemin relatif équivalent on peut
remplacer celui-ci
Racine de
l’arborescence estg TPs
home
profs notes
/
bin ls
51
SEDKI A.
Comment se repérer dans l'arborescence
L’invite de commandes de la console contient les infos suivantes:
estg@ubuntu:~
~$
53
SEDKI A.
Structure d'une commande
Les commandes ont généralement la structure suivante :
54
SEDKI A.
la commande ls
ls « list » : permet de lister (afficher) le contenu du
répertoire courant.
estg@ubuntu:~
~ $ ls
Bureau examples.desktop Documents Images
répertoire courant
estg@ubuntu:~
~ $ ls Documents
55
SEDKI A.
Résumé
56
SEDKI A.
la commande ls -l
ls a une option notée -l qui permet d'obtenir
plus d'information sur les fichiers et les répertoires
estg@ubuntu:~
~ $ ls – l
total 44
drwxr-xr-x 2 sedki sedki 4096 mars 29 20:00 Bureau
drwxr-xr-x 2 sedki sedki 4096 mars 29 20:00 Documents
-rw-r--r-- 1 sedki sedki 8445 mars 29 19:53 examples.desktop
drwxr-xr-x 2 sedki sedki 4096 mars 29 20:00 Images
drwxr-xr-x 2 sedki sedki 4096 mars 29 20:00 Modèles
drwxr-xr-x 2 sedki sedki 4096 mars 29 20:00 Musique
ttaille
aille du
du nnoom m ddee
fichier
fichier en
en ffiicchhiieerr
octets
octets
propriétaire
propriétaire ddaattee ddee
m
mooddific
if icaattio
ionn
droit
droitss d'accès
d'accès date de
groupe 57
SEDKI A.
la commande cd
cd «change directory» : permet de changer le
répertoire courant
cd prend un paramètre : le nom du répertoire dans
lequel on veut aller.
Si on veut aller à la racine:
estg@ubuntu:~ ~ $ cd /
estg@ubuntu:/usr$ ls
Déplacez-vous dans le sous_répertoire games de usr
estg@ubuntu:/usr$ cd games
Pour revenir au répertoire précédent (/usr), appelé
répertoire parent, tapez « cd .. »
estg@ubuntu:/usr/games$ cd ..
estg@ubuntu:/usr$
59
SEDKI A.
Exemples
Si on veut aller dans un de sous dossier de /usr,
on tape juste son nom, exemple:
estg@ubuntu:/usr$ cd games
l'alias ~ : estg@ubuntu:/usr/games$ cd ~
cd sans paramètre:
/
estg@ubuntu:/usr/games$ cd
usr tmp home
Bureau Documents
61
SEDKI A.
Exemples
62
SEDKI A.
Exercices /
Quel est le répertoire courant ?
estg@ubuntu:~/ ~/Documents$
~/ usr tmp home
estg@ubuntu:/usr$ cd /usr/games
Autocomplétion du chemin
Placez dans /usr, ensuite tapez juste "cd ga", puis
appuyez sur la touche "Tabulation".
Revenez dans /usr, (cd .. ) ensuite tapez "cd l", puis
tapez 2 fois sur la touche "Tabulation"
63
SEDKI A.
Résumé
64
SEDKI A.
Chap. 3
Manipulation de fichiers
65
SEDKI A.
Création d'un répertoire: mkdir
La commande mkdir (make directory) permet de créer un
répertoire (Elle prend en paramètre : le nom du répertoire
à créer):
estg@ubuntu:~$ mkdir doss1
estg@ubuntu:~
~ $ ls
67
SEDKI A.
mkdir, touch : exercice
69
SEDKI A.
Résumé
70
SEDKI A.
Supprimer des fichiers et des répertoires: rm et rm -r
La commande rm (pour remove) permet de
supprimer un fichier voire plusieures
rm fich1 fich2
72
SEDKI A.
Résumé
73
SEDKI A.
Copier un fichier: cp
La commande cp (pour copy) permet de copier
un fichier
cp fic_source fic_copie
Le premier paramètre est le nom du fichier à copier,
le second le nom de la copie du fichier à créer.
75
SEDKI A.
Copier un dossier : cp -r
Avec l'option -r, cp permet de copier un dossier, ainsi
que tous les sous-dossiers et fichiers qu'il contient
76
SEDKI A.
cp : exercice
78
SEDKI A.
Résumé
79
SEDKI A.
Résumé
80
SEDKI A.
Résumé
81
SEDKI A.
Le caractère jokers : *
Exercice :
On suppose que votre répertoire home contient un unique
répertoire nommé téléchargement, dans lequel sont
stockées une série d’images (fichiers dont le nom se
termine par .jpg) et de vidéos (fichiers dont le nom se
termine par .avi).
1. Depuis votre répertoire home, ecrivez la commande
permettant d’afficher le nom des vidéos contenues
dans téléchargement, dont le nom commence par a ou
par b.
82
SEDKI A.
Le caractère jokers : *
* signifie que l'on peut mettre n'importe quelle
séquence de caractères à sa place.
Exp
Exp:: copier tous les fichiers dont le nom commence
par « fi » dans doss1
estg@ubuntu:~$ cp fi* fi * doss1
85
SEDKI A.
Résumé
86
SEDKI A.
Résumé
87
SEDKI A.
Résumé
88
SEDKI A.
cat & less : afficher le contenu d'un fichier
La commande cat permet d'afficher le contenu d'un
fichier dans le terminal
cat fichier
exp: afficher le fichier syslog qui se trouve dans le
exp:
dossier: /var/log
: /var/log$
$ cat syslog
90
SEDKI A.
tail : Affiche la fin d'un fichier
Affiche par défaut les 10 dernières lignes d'un fichier.
Si un entier n précède le nom du fichier, la commande affiche
les n dernières lignes du fichier.
Ctrl + C pour arrêter la commande tail.
91
SEDKI A.
grep:: recherche un texte dans un fichier
grep
Syntaxe : grep "texte" fichier
Affiche les lignes du fichier qui comportent le "texte".
Les lignes sont affichées dans leur ordre d'apparition dans le
fichier.
L'option -i pour ne pas tenir compte de la casse
(majuscules / minuscules)
Exemple : Soit le fichier planetes.txt contenant les lignes
suivantes :
92
SEDKI A.
grep:: recherche un texte dans un fichier
grep
Syntaxe : grep "texte" fichier
Affiche les lignes du fichier qui comportent le "texte".
Les lignes sont affichées dans leur ordre d'apparition dans le
fichier.
L'option -i pour ne pas tenir compte de la casse
(majuscules / minuscules)
Exemple : Soit le fichier planetes.txt contenant les lignes
suivantes :
93
SEDKI A.
wc : Affiche des statistiques sur le contenu d’un fichier
Syntaxe: wc fichier <fichier 2 ...>
Affiche des statistiques sur le nombre de lignes, de mots et
de caractères (comptes en nombre d'octets) contenus dans
le chier dont le chemin est donne en paramètre.
Exemple :
man commande
96
SEDKI A.
Prise en main de l'éditeur de texte vim
Lancement de l’éditeur de texte:
estg@ubuntu:~$ vim nomdufichier
97
SEDKI A.
vim possède 3 modes de travail différents:
Lancement du vim
Mode édition
(supprimer, copier-
coller du texte…)
:commande
Echap
i Entrée
100
SEDKI A.
L'organisation des utilisateurs sous Linux
Linux est un système multi-utilisateurs.
multi-utilisateurs = plusieurs utilisateurs peuvent travailler
simultanément sur le même OS (en s'y connectant à distance)
chaque utilisateur a son propre compte (login, mot de pass,
répertoire personnel)
Les utilisateurs sont répartis dans des groupes.
Deux sortes d’utilisateurs :
L’administrateur (son nom de compte est root):
root utilisateur
particulier qui a tous les droits d’ accès.
Les autres: ils sont rassemblés par groupes définies par root
root Sedki
Etudiants Groupe
root
Sedki
Ahmed Driss Fatima
Utilisateur 101
SEDKI A.
Identification des utilisateurs
Seul l’administrateur «root» peut créer et gérer les comptes d’utilisateurs.
chaque utilisateur a son propre compte (login qui l'identifie d'une façon
unique dans le système et un mot de passe associé, répertoire personnel,
groupe(s))
102
SEDKI A.
Afficher les informations des utilisateurs
Le fichier /etc/passwd contient toutes les informations relatives
aux utilisateurs . C'est ce fichier que le système consulte lorsque
vous vous connectez à votre compte en tapant votre identifiant et
mot de passe. Ce fichier respecte le format suivant :
nom_du_compte : mot_de_passe : numero_utilisateur :
numero_de_groupe : commentaire : répertoire :
programme_de_demarrage
$ sudo commande
Si vous tapez « sudo su » , vous passerez root indéfiniment.
$ sudo su indique que vous êtes devenu root
#
Pour quitter le « mode root », tapez exit (ou Ctrl + D). 104
SEDKI A.
sudo Vs su
La commande sudo : Cette commande permet à un
administrateur système de donner à certains utilisateurs la
capacité d'exécuter certaines commandes en tant que root.
Autorisé uniquement pour les membres du groupe sudo (voir
le fichier /etc/group). Enfin, le fichier de configuration
/etc/sudoers définit les autorisations et la configuration à
laquelle on a accès quand on utilise la commande sudo.
Demande le mot de passe de l'utilisateur courant
# deluser user1
Pour supprime le répertoire personnel de user1 et tous ses
fichiers personnels, on utilise le paramètre --remove-home
# deluser --remove
remove - home user1
-- remove-
# addgroup group1
mais aucun utilisateur n’appartient encore à ce groupe
107
SEDKI A.
usermod : modifier un utilisateur
La commande usermod avec l’option -g permet de change de
groupe à un utilisateur:
109
SEDKI A.
Les droits d'accès aux fichiers (ou répertoire)
ls -l <source> affiche le contenu d'un répertoires en format long.
110
SEDKI A.
Les droits d'accès aux fichiers (ou répertoire)
Chaque fichier et chaque répertoire possède une liste de droits
indique qui a le droit de voir le fichier (répertoire), de le
modifier et de l'exécuter.
112
SEDKI A.
Les droits d'accès aux fichiers (ou répertoire)
:~
~ $ ls – l documents
drwxrwxrwx 2 sedki profs 4096 mars 29 20:00 documents
-rw-r--r--
- : le premier tiret indique qu'il ne s'agit pas d'un dossier. S'il y avait
eu un d à la place, cela aurait indiqué qu'il s'agissait d'un
dossier.
r-- : tous les autres (ceux qui ne font pas partie du groupe)
peuvent seulement lire le fichier.
114
SEDKI A.
Les droits d'accès aux répertoires
Sur un répertoire :
r signifie le droit de faire ls (sans être dedans)
Peu importe comment, par exemple cat *.c fait un ls
implicitement, car il a besoin de la liste pour filtrer les .c
115
SEDKI A.
Les droits d'accès aux répertoires : exemple
Les informations concernant un répertoire sont obtenues
par la commande : ls -ld nom_repertoire
$ ls -ld bin
drwxr-xr-x 3 driss staff 1024 Jul 28 18:04 bin
$
cp tp2/*.txt tp3
– tp2 dans un chemin : droit x sur tp2
– *.txt => liste du dossier tp2 : droit r sur tp2
– Copie des .txt : droits r sur tous les .txt de tp2
– tp3 dans un chemin : droit x sur tp3
– Copie dans tp3 => créations : droit w sur tp3
117
SEDKI A.
Les droits d'accès aux fichiers : Exercice
118
SEDKI A.
Les droits d'accès aux fichiers : Exercice:
La commande ls -l affiche ceci:
-rw-r-xr-- 1 abcd efgh 1234 août 14 2018 ijkl
-rw-r--r-- : les droits d'accès
abcd : Propriétaire du fichier ("owner" ou "user")
Efgh : groupe associé au fichier
1234 : taille du fichier
ijkl : nom du fichier
Décomposez le sens de : rw-r-xr--
119
SEDKI A.
Les droits d'accès aux fichiers : Exercice:
Supposons qu’un utilisateur tape la commande suivante :
$ ls -al
drwxr---wx 3 truc bidule 12288 18 oct. 16:21 .
drwxr-xr-x 4 root root 4096 23 août 2010 ..
-r-xrw-rwx 1 truc machin 333 22 mars 08:52 fich
drw-r---wx 2 machin bidule 4096 8 sep. 10:10 rep
chmod
Exemples :
Ajouter au groupe le droit d'écriture : chmod g+w rapport.txt
Retirer aux autres le droit de lecture : chmod o-r rapport.txt
Ajouter au propriétaire les droits de lecture et d'exécution :
chmod u+rx rapport.txt
SEDKI A.
chmod : changer les droits
chmod
Exemples :
chmod
123
SEDKI A.
chmod : exemples
$ ls –l fichier
- rwx r-- --- fichier
$ chmod u-x fichier
$ ls –l fichier
-rw- r-- --- fichier
$ chmod u+x fichier
$ ls –l fichier
-rwx r-- --- fichier
SEDKI A.
chmod : exemples
$ cp /etc/passwd .
$ ls -l
total 4
-rw-r--r-- 1 gthomas users 1120 19 juil. 2016 passwd
$ chmod u-r passwd
$ cat passwd
cat: passwd: Permission non accordée
$ mkdir rep
$ ls -l
total 8
--w-r--r-- 1 gthomas users 1120 19 juil. 2016 passwd
drwxr-xr-x 2 gthomas users 68 19 juil. 2016 rep
$ cd rep
$ cd ..
$ chmod u-x rep
$ cd rep
-bash: cd: rep: Permission non accordée
SEDKI A.
chmod : changer les droits avec des chiffres
On attribue un chiffre à chaque droit :
Droit Chiffre
r 4
w 2
x 1
-rwxr-xr—
4+2+1 4+1 4
7 5 4 chmod 754
777 droit de lecture, d'écriture et d'exécution : pour
le propriétaire, pour son groupe et pour tous les autres 126
SEDKI A.
chmod : changer les droits
Droit Calcul Chiffre
r-- 4 4
-w- 2 2
--x 1 1
rwx 4+2+1 7
rw- 4+2 6
r-x 4+1 5
-wx 2+1 3
--- 0+0+0 0
~ $ chmod 600 fichier.txt
:~
:~
~ $ ls – l fichier.txt
- rw-
rw - ------
--- --- 1 sedki sedki …..
127
SEDKI A.
chown : changer le propriétaire d'un fichier
On peut changer le propriétaire d'un fichier, à l'aide de la
commande chown
La commande chown, qui doit être utilisée en tant que root,
attend deux paramètres au moins :
le nom du nouveau propriétaire ;
le nom du fichier à modifier.
Exemple : Supposons que user1 possède dans son répertoire
personnel un fichier appelé rapport.txt :
~$ ls -l rapport.txt
-rw-r--r-- 1 user1 user1 0 2007-1115 23:14 rapport.txt
le root souhaite le «donner » à user15 :
#chown user15 rapport.txt
# ls -l rapport.txt
-rw-r--r-- 1 user15 user15 0 2007-11 15 23:14 rapport.txt
SEDKI A.
Exercice:
Quelle commande taper pour changer ceci :
-rw-r--r-- 1 abcd efgh 1234 août 14 2018 ijkl
en ceci:
en ceci:
129
SEDKI A.
le fichier /etc/passwd
$ cat /etc/passwd
131
SEDKI A.
le fichier /etc/group
133
SEDKI A.
Processus
Dans le système Unix, de nombreuses commandes sont en
réalité des programmes compilés (issus de sources C)
Les commandes de base sont dans /bin
Les commandes supplémentaires dans /usr/bin
Les commandes admin. dans /sbin et /usr/sbin
Les commandes perso dans ~/bin
Un processus est une commande en cours d’exécution
$ ls
README.html
HEADER.html
$
134
SEDKI A.
Processus
Un processus est une commande en cours d’exécution
chaque fois que vous lancez un programme
chaque fois que vous tapez une commande
135
SEDKI A.
Informations fournies par ps -f
ps -f : affiche les processus s’exécutant à un instant donné
UID : nom de l'utilisateur qui l’a lancé (propriétaire)
PID : numéro unique appelé (identifie le processus)
PPID : le n°du processus shell qui l’a créé
CMD : la ligne de commande qui l’a généré
de nombreuses autres informations sur son état interne
136
SEDKI A.
top : liste dynamique des processus
top : permet de suivre dynamiquement (temps reel) les
ressources matériels utilisées par chaque processus.
elle donne pour chaque processus en autres choses, le
PID, le nom du propriétaire, la date de lancement du
processus, les %CPU et %MEM utilises.
peut être quittée en pressant la touche q
137
SEDKI A.
Processus en ligne de commande
Avec une interface à fenêtres, on peut lancer plusieurs
programmes sans attendre.
en mode graphique, chaque commande a sa fenêtre
138
SEDKI A.
Libération de la ligne de commande
Les commandes qui prennent beaucoup de temps peuvent être
lancées en en tâches de fond «arrière plan» pour libérer la ligne de
commande du shell.
Pour lancer directement la commande en «arrière plan» il suffit
de faire suivre la commande du caractère &. On retrouve
immédiatement un nouveau prompt.
Cela lance des commandes en «arrière plan» : elles se
déroulent simultanément
De tels processus sont appelés des JOBS
139
SEDKI A.
Contrôle des jobs
pour lister les taches en «arrière plan» on utilise la commande
jobs.
jobs affiche une liste avec un [n° de job ] devant chaque job.
Le + indique le dernier qui a été manipulé
Attention le n° de job n'est pas le PID
Si une tâche déjà lancée occupe la ligne de commande, il est
possible de suspendre son exécution en pressant la combinaison
de touches Ctrl + z . La tâche est alors suspendue et on retrouve
un nouveau prompt.
Pour la ramener au
premier plan : fg %num de job
Pour la relancer en
arrière-plan : bg %num de job
140
SEDKI A.
Suppression d'un job
Supprimer un ou plusieurs jobs :
kill -9 PID de job
kill % numéro de job
142
SEDKI A.
Entrée et sortie standard
L'entrée standard s'appelle stdin (standard input)
Par défaut, l'entrée standard est le clavier.
La sortie standard s'appelle stdout (standard output)
Par défaut, la sortie standard est l‘écran.
stderr : sortie erreur (la ou sont écrit les messages d'erreur).
143
SEDKI A.
Redirection de la sortie standard : > ou >>
Il est possible de modifier le comportement par défaut des
commandes et de donner une sortie standard différente:
145
SEDKI A.
Redirection de la sortie des erreurs : 2> ou 2>>
command 2> fichier.err
Redirige la sortie erreur de la commande vers le fichier
fichier.err avec écrasement du contenu si le fichier de
sortie existe déjà
command 2>> fichier.err
Redirige la sortie erreur de la commande command vers
le fichier fichier.err avec préservation du contenu si le
fichier de sortie existe déjà.
Exemple :
Exemple :
148
SEDKI A.
les tubes (pipes) : exemples
Améliorer l'affichage de commandes page par page. :
$ ls -l | less
$ ps -ef | less
$ ls
image.png
index.html la sortie de ls redirigée
estimation.txt vers l'entrée de grep
toto.sx
$ ls | grep ima
image.png
ima
estima
imation.txt
149
SEDKI A.
les tubes (pipes) : exemples
cat fic : affiche le contenu de fic sur la sortie standard
grep motif : lit ligne à ligne l’entrée et n’affiche que celles
qui contiennent motif
$ cat dromadaire.txt
Avec ses quatre dromadaires
Ibn Driss d'Alfaroubeira
Courut le monde et l'admira.
Il fit ce que je voudrais faire la sortie de cat redirigée
Si j'avais quatre dromadaires. vers l'entrée de grep
153
SEDKI A.
installer un logiciel
Un logiciel est constitué de nombreux fichiers. On y retrouve
des fichiers exécutables, des librairies, des données, des
images, de la documentation,...
L’installation d'un logiciel se fait généralement avec une
commande qui gère tout automatiquement.
L'opération d'installation est, pour l'essentiel, une copie
de fichiers à partir d'une archive vers les répertoires
appropriés du système.
share etc usr
c o p i e d e fichiers
paquet / archive
programmes exécutables
librairies
fichiers de configuration
documentation 154
SEDKI A.
installer un logiciel
Il existe plusieurs manières d'installer un logiciel.
On peut, par exemple, l'installer à partir du code source. Dans
ce cas, il faut configurer la compilation, compiler, et installer.
C'est compliqué, et pose des problèmes importants de
maintenance.
liste locale
(cache)
apt-get update 157
SEDKI A. apt-get install paquet
gestion de paquets
pour mettre à jour votre cache des paquets
apt-get update
Ceci correspond à télécharger la nouvelle liste des
paquets proposés par le dépôt.
pour télécharger et installer un paquet :
apt-get install monpaquet
Ceci va chercher aussi toutes les dépendances.
De nouvelles versions de logiciels apparaissent en
permanence (corrections de bugs, failles de sécurité). Pour
mettre à jour tous les paquets installés sur votre système :
apt-get upgrade
Si vous voulez désinstaller un paquet,
apt-get remove monpaquet
158
SEDKI A.
gestion de paquets
autres commandes utiles:
159
SEDKI A.
gestion de paquets
Récapitulons l'installation d'un paquet:
1) vous tapez : apt-get install unprogramme
4) Les paquets .deb sont des archives. Ils contiennent tous les
fichiers constituant le logiciel. Le gestionnaire de paquets
désarchive les paquets et copie les fichiers vers les
répertoires du système.
161
SEDKI A.
Exercice
Quelle commande faut-il taper pour installer le logiciel "xbomb" ?