0% ont trouvé ce document utile (0 vote)
79 vues23 pages

Chapitre 3

Transféré par

bac2023yeswecan17
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd
0% ont trouvé ce document utile (0 vote)
79 vues23 pages

Chapitre 3

Transféré par

bac2023yeswecan17
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd

Dpt Informatique 2ème année Licence GTR

Faculté Electronique et Informatique UASE : Utilisation et Administration


USTHB des Systèmes d’Exploitation

CHAPITRE 3 : GESTION DES FICHIERS

3.1 Notions

Les répertoires sont appelés directories en anglais. Un répertoire est une boîte qui peut
contenir des fichiers et d'autres répertoires (comme les catalogues de MS-DOS, ou les
dossiers du Macintosh). Des exemples de répertoires :

/users
/bin
/usr/local/bin

On désigne les fichiers (et les répertoires) contenus dans un répertoire par :

nom de répertoire/nom de fichier

Par exemple : /bin/sh est le fichier sh contenu dans le répertoire /bin.

Les répertoires sont organisés en arbre, c'est-à-dire qu'ils sont tous contenus dans un répertoire
appelé la racine, et désigné par "/". Chaque répertoire contient deux répertoires spéciaux :

 . désigne le répertoire lui-même.


 .. désigne le père du répertoire.

Exemples : /users/92/. est le même répertoire que /users/92, /users/92/.. est le même
répertoire que /users.

Chaque utilisateur a un home-directory, ou répertoire personnel. C'est l'endroit ou il range ses


fichiers.

Exemples : /users/92/maths/vous, /users/formel/ali.

On peut aussi désigner le répertoire personnel d'un autre utilisateur par le nom de login de
l'utilisateur précédé d'un tilde (le caractère ~ tilde). Exemple : ~mohamed.

3.2 Noms de fichiers

Un nom de fichier qui commence par / est dit absolu. Il est interprété en partant de la racine,
et en descendant dans l'arbre. Un nom de fichier qui ne commence pas par / est relatif. Il est
interprété en partant du répertoire courant. Le répertoire courant est initialement (au moment
où vous vous connectez) votre répertoire personnel ; le répertoire courant est le répertoire
dans lequel vous vous trouvez.

Pr BELKHIR A
Dpt Informatique 2ème année Licence GTR
Faculté Electronique et Informatique UASE : Utilisation et Administration
USTHB des Systèmes d’Exploitation

Exemples : /users/ali/foo est un nom (ou chemin) absolu. bar est un nom relatif. Il
désigne un fichier appelé bar et situé dans le répertoire courant. Le fichier exact dont il s'agit
dépend donc de votre répertoire courant.

Remarque : Le seul caractère spécial dans les noms de fichiers est le slash /. Un nom de
fichier peut avoir jusqu'à 255 caractères, et contenir un nombre quelconque de points.

3.3 Commandes pour manipuler le système de fichiers


pwd

Affiche le répertoire courant. Exemple :

$ pwd
/users/ali

cd

Change le répertoire courant. Si on ne lui donne pas d'argument, on retourne dans le répertoire
personnel. Exemple :

$ pwd
/users/ali
$ cd ..
$ cd
$ pwd
/users/ali

mkdir

Crée un nouveau répertoire, (presque) vide. Il ne contient que . et ...

rmdir

Supprime un répertoire vide. Si le répertoire contient autre chose que . et .. ça ne marche


pas.

mv

Renomme un fichier, mais peut aussi le déplacer d'un répertoire à un autre.

Exemple :

$ mkdir foo
$ nano bar
$ mv bar foo/bar2
$ cd foo
$ pwd
/users/ali/foo
$ ls
bar2

Pr BELKHIR A
Dpt Informatique 2ème année Licence GTR
Faculté Electronique et Informatique UASE : Utilisation et Administration
USTHB des Systèmes d’Exploitation

ls

Liste les fichiers et les répertoires qu'on lui donne en arguments, ou le répertoire courant si on
ne lui donne pas d'argument. ls ne liste pas les fichiers dont le nom commence par . C'est
pourquoi . et .. n'apparaissent pas ci-dessus.

3.4 Raccourcis pour les noms de fichiers

Il est parfois ennuyeux d'avoir à taper un nom complet de fichier comme nabuchodonosor. Il
est encore plus ennuyeux d'avoir à taper une liste de fichier pour les donner en arguments à
une commande, comme : cc -o foo bar.c gee.c buz.c gog.c. Pour éviter ces
problèmes, on peut utiliser des jokers (wildcards en anglais).

Une étoile * dans un nom de fichier est interprétée par le shell comme « n'importe quelle
séquence de caractères ». Exemple : cc -o foo *.c.

Pour interpréter l'étoile, le shell va faire la liste de tous les noms de fichiers du répertoire
courant qui ne commencent pas par . et qui finissent par .c Ensuite, il remplace *.c par cette
liste (triée par ordre alphabétique) dans la ligne de commande, et exécute le résultat, c'est-à-
dire par exemple : cc -o foo bar.c buz.c foo.c gee.c gog.c.

On a aussi le ?, qui remplace un (et exactement un) caractère quelconque. Par exemple, *.?
liste tous les fichiers sont l'extension n'a qu'une seule lettre.

La forme [abcd] remplace un caractère quelconque parmi a, b, c, d. Enfin, [^abcd] remplace


un caractère quelconque qui ne se trouve pas parmi a, b, c, d.

Exemple : echo /users/* affiche la même chose que ls /users (La commande echo se
contente d'afficher ses arguments.)

Remarques :

 C'est le shell qui fait le remplacement des arguments contenant un joker. On ne peut
donc pas faire mv *.c *.bak, car le shell va passer à mv les arguments foo.c bar.c
foo.bak bar.bak, et mv ne sait pas quel fichier remplacer.
 Attention aux espaces. Si vous tapez rm * ~, le shell remplace l'étoile par la liste des
fichiers présents, et ils seront tous effacés. Si vous tapez rm *~, seuls les fichiers dont
le nom finit par un tilde seront effacés.

Remarque : comment effacer un fichier nommé ?*? On ne peut pas taper rm ?* car le shell
remplace ?* par la liste de tous les fichiers du répertoire courant. On peut taper rm -i * qui
supprime tous les fichiers, mais en demandant confirmation à chaque fichier. On répond no à
toutes les questions sauf rm: remove ?*?.

Pr BELKHIR A
Dpt Informatique 2ème année Licence GTR
Faculté Electronique et Informatique UASE : Utilisation et Administration
USTHB des Systèmes d’Exploitation

3.5 Manipuler les fichiers

3.5.1 Créer un fichier

Un fichier est un ensemble d'informations : ce peut être aussi bien du texte, que de la musique
ou une image. Chaque objet que vous manipulez en informatique (une page Web, la musique,
vos photos, un logiciel, etc.) correspond à un fichier.

Quand vous écrivez un texte avec OpenOffice.org et que vous le sauvegardez sous le nom
« Rapport de licence », vous créez un fichier à ce nom, écrit sur le disque dur. Chaque fois
que vous écrivez quelque chose sur le disque, vous créez un ou plusieurs fichiers.

a- Créer un fichier texte

Une des opérations les plus courantes consiste à écrire du texte. Pour cela, voir le cours sur les
éditeurs de texte. Quand on vous demande de créer un fichier, généralement il faut utiliser un
éditeur de texte. Ainsi, pour créer le fichier index.html (accueil d'une page Web), utilisez
l'éditeur NEdit et tapez :

$ nedit index.html

Si vous êtes pressé, la commande cat peut faire office d'éditeur minimaliste. Tapez la
commande suivante, et quelques mots :

$ cat > notes


Faire les courses
Passer à la bibliothèque
Et finissez par Ctrl+D. Le fichier notes contient les quelques lignes que vous avez saisies.

b- Créer un fichier vide

On peut aussi créer un fichier à l'aide de la commande touch. touch toto crée un fichier
vide appelé « toto ». En fait, cette commande sert essentiellement à modifier la date de
dernière modification d'un fichier.

Application : vous avez une page Web sur votre serveur et que vous ne voulez pas qu'à
chaque virgule modifiée, on voie votre page dans la liste des pages récemment modifiées.
Créez alors dans votre répertoire www un fichier vide appelé .last_modified :
$ touch .last_modified
Votre page, désormais, ne figurera dans la liste des récentes modifications qu'après un
nouveau touch du fichier .last_modified.

3.5.2 Nommer ses fichiers

Les noms de fichiers s'écrivent avec des caractères alphanumériques (lettres et chiffres). On
peut utiliser des majuscules et des minuscules, mais elles ne sont pas interchangeables :
document et Document sont deux fichiers distincts.

Il est préférable d'éviter les espaces dans les noms de fichiers. On peut les remplacer par un
underscore (_) ou un tiret (-). :

Pr BELKHIR A
Dpt Informatique 2ème année Licence GTR
Faculté Electronique et Informatique UASE : Utilisation et Administration
USTHB des Systèmes d’Exploitation

cours-de-logique.tex
lettre_recommandation.dvi
Il vaut mieux éviter les caractères accentués, et proscrire le reste (ponctuations diverses,
signes bizarres). Il faut aussi éviter de faire commencer un fichier par un . (par exemple
.document). Il est également sage d'éviter de donner des noms trop longs (même si en théorie
vous avez droit à 255 caractères).

Certains fichiers ont des suffixes conventionnels qui les identifient auprès des utilisateurs et
de certains programmes (liste non exhaustive de suffixes et d'outils) :

Suffixe Nature Logiciel à utiliser


.tex Fichier source pour LaTeX Éditeur de texte

.dvi
Résultat de la compilation
xdvi
LaTeX

Fichiers produits
.aux, .log, .toc, .mp,
automatiquement par la À regarder avec less
etc.
compilation LaTeX

.ps, .eps Fichiers PostScript gv (Ghostview)

.txt
Éditeur si vous voulez le modifier,
Fichier texte
less si vous voulez juste le lire.

.html, .shtml, .htm Pages Web Navigateur (netscape, links...)

Les fichiers .au s'écoutent avec


play, les .ogg avec ogg123, les
.au, .ogg, .mp2, .mp3 Son
.mp2 avec maplay , les .mp3 avec
mpg123.

.tiff, .png, .jpg, .gif, xv pour les regarder ; gimp pour


Images
.ppm... les modifier

.mov, .avi Séquences animées xanim

.pdf Portable Document Format acroread (Acrobat Reader)

.gz, .tgz, .tar,


.tar.gz, .Z, .tar.Z, Divers formats d'archives Consultez la page sur la
.zip, .zoo, .lha, .lzx, plus ou moins compressés compression
.z, .uu, .shar

De façon générale, tous les fichiers LaTeX ont un suffixe .tex, et toutes les pages Web un
suffixe .html (par exemple ce document s'appelle fichiers.html).

Pr BELKHIR A
Dpt Informatique 2ème année Licence GTR
Faculté Electronique et Informatique UASE : Utilisation et Administration
USTHB des Systèmes d’Exploitation

3.5.3 Lire un fichier

a- Lire un fichier avec cat

Pour pouvoir consulter un fichier (sans l'éditer), le plus simple est la commande cat :

$ cat fichier
Le problème est que cat affiche l'intégralité du fichier que vous lui demandez. Si le fichier est
plus long que la taille de votre écran (ce qui arrive quand même souvent), vous verrez défiler
très vite à l'écran le contenu de votre fichier, sans pouvoir l'arrêter ou le ralentir. Pas très
pratique...

b- Les pagers more et less

Mieux vaut alors utiliser ce qu'en anglais on appelle un pager (parfois traduit par
« visionneuse » en français). Le nom « pager » vient du fait qu'il affiche un fichier page par
page et non tout d'un coup comme le fait cat. Sur les Unix récents, la commande qui fait cela
est less. Pour lire le fichier toto.txt, tapez simplement :

$ less toto.txt
Voici un tableau des commandes utiles de less :

h afficher une aide.

SPC faire défiler le texte page par page


d, ^D
(down) descendre d'un demi-écran

f, ^F
(forward) descendre d'un écran

p, ^P
(previous) remonter d'un demi-écran

b, ^B
(back) remonter d'un écran

j descendre d'une ligne

k remonter d'une ligne

G aller à la fin du texte

nombreG
aller à la ligne de numéro nombre (par exemple, 1G place à la première ligne
du fichier).

chercher le « mot » dans le texte. Il sera signalé en inverse dans tout le texte.
/mot Pour aller à la prochaine occurence du mot, taper n, pour aller à la précédente
occurence, taper N.

Pr BELKHIR A
Dpt Informatique 2ème année Licence GTR
Faculté Electronique et Informatique UASE : Utilisation et Administration
USTHB des Systèmes d’Exploitation

q quitter

more (en savoir davantage sur un fichier) est une commande standard sur tous les systèmes
Unix. less est cependant plus performant : les mots recherchés apparaissent sur fond noir au
lieu d'être juste placés en haut de l'écran, le défilement du texte est plus précis. Si vous n'avez
que more à disposition, vous pouvez utiliser les commandes suivantes :

h afficher une aide

d ( down) descendre d'un demi-écran

f (
descendre d'un écran
forward)

b ( back) remonter d'un demi-écran

/mot
chercher le « mot » dans le texte (le résultat est beaucoup moins clair qu'avec
less ).

q quitter

3.5.4 Afficher le début d'un fichier

On utilise la commande head pour afficher le début d'un fichier :

$ head cours.txt
Les logiciels peuvent être classés en deux catégories :
Les programmes d'application des utilisateurs.
Les programmes système qui permettent le fonctionnement de l'ordinateur.
Parmi ceux-ci, le système d'exploitation (SE dans la suite).
(...)
Par défaut, head affiche les 10 premières lignes. Pour lui spécifier un nombre de lignes précis,
utilisez l'option -n, n étant le nombre de votre choix :
$ head -2 cours.txt
Les logiciels peuvent être classés en deux catégories :
Les programmes d'application des utilisateurs.
$

« Mais à quoi est-ce que ça peut bien servir ? », vous direz-vous. Là, comme ça, c'est vrai que
l'utilité est limitée. Mais en combinaison avec d'autres commandes, c'est très utile. Un
exemple tiré de notre page sur la place disque :

$ du -ak | sort -nr | head -10


98280 .
22007 ./www
16580 ./Mail
9637 ./www/hist
5005 ./www/hist/licence
4910 ./histoire
3941 ./Mail/archives

Pr BELKHIR A
Dpt Informatique 2ème année Licence GTR
Faculté Electronique et Informatique UASE : Utilisation et Administration
USTHB des Systèmes d’Exploitation

3757 ./www/logique/
3274 ./www/logique/cours
3112 ./www/logique/cours/karim
2841 ./prive
Nous avons ici les 10 fichiers ou répertoires les plus gros de notre compte. Toutes les
explications sur cette suite de commandes se trouvent dans notre page sur la place disque.

4.5.5 Afficher la fin d'un fichier

Cette fois, c'est la commande tail qu'on utilise, avec les mêmes options que head :

$ tail -3 cours.txt
UNIX a été écrit à 95% en langage C, ce qui permet sa portabilité. De
plus, sa conception modulaire avec des interfaces bien définies a contribué
à sa popularité.

3.5.6 Copier un fichier

Copier un fichier, c'est prendre un fichier déjà existant et en créer une copie rigoureusement
identique sous un nom différent. On utilise pour cela la commande cp. Pour copier toto.txt
en toto2.txt :

$ cp toto.txt toto2.txt
Notez qu'on ne peut pas se servir de cp pour copier un répertoire. Ainsi, si vous essayez de
copier votre répertoire www, cp va se plaindre :
$ cp www www2
cp: www: is a directory

3.5.7 Renommer un fichier

Renommer un fichier, c'est lui donner un nouveau nom, sans rien modifier d'autre. On utilise
pour cela la commande mv (comme move). Pour renommer dissert.tex en
dissertation.tex :

$ mv dissert.tex dissertation.tex

La même commande sert également, avec la même syntaxe, pour les répertoires. Ainsi, si
vous voulez renommer votre répertoire boulot en répertoire magistere :

$ mv boulot magistere

3.5.8 Déplacer un fichier

C'est toujours la commande mv que l'on utilise. La syntaxe est la suivante : mv fichier
nouvel_endroit. Ainsi, vous voulez déplacez le fichier cv.html, situé à la racine de votre
compte, dans votre répertoire www :

$ mv cv.html www
Autre exemple :

Pr BELKHIR A
Dpt Informatique 2ème année Licence GTR
Faculté Electronique et Informatique UASE : Utilisation et Administration
USTHB des Systèmes d’Exploitation

$ mv fichier ..
Déplace un fichier dans le répertoire père.

3.5.9 Effacer un fichier

Sous Unix, effacer un fichier, c'est le détruire de façon irréversible. Pas de concept de
poubelle dans laquelle on peut fouiller, comme sous Windows ou Mac OS. C'est la commande
rm (comme remove) qui efface un fichier :

$ rm fichier

a- Effacer plusieurs fichiers en même temps

Nettoyage de printemps sur votre compte, vous voulez supprimer plusieurs fichiers en même
temps. Il suffit tout simplement de les indiquer à la suite à rm :

$ rm f1.tex f2.tex f3.tex

b- Effacer un répertoire et son contenu

La commande pour effacer un répertoire est rmdir, mais elle ne marche que si le répertoire
est vide. La commande rm ne peut pas effacer directement un répertoire :

$ rm www
rm: www is a directory
Pour effacer un répertoire et son contenu, utilisez l'option -R (comme recursive de rm. Pour
effacer votre répertoire toto/ et les fichiers qu'il contient, tapez :
$ rm -R toto

3.5.10 Concaténer des fichiers

Concaténer des fichiers, c'est les placer bout à bout. On utilise la commande cat (comme
concatenate) :

$ cat fichier1 fichier2 > fichier3


Les fichiers 1 et 2 placés bout à bout et le résultat est mis dans un fichier3 créé
automatiquement. Le shell refuse d'écraser un fichier existant.
Dans fichier3 apparaît d'abord fichier1 puis fichier2. Concaténer deux fichiers de la
sorte ne les détruit pas (il existe à la fois fichier1, fichier2 et fichier3).

On peut aussi placer deux fichiers bout à bout sans créer de troisième fichier. La syntaxe est
alors la suivante :

$ cat fichier2 >> fichier1


fichier2 est placé « au bout » de fichier1. fichier2 reste inchangé, fichier1 contient
désormais son propre texte suivi du texte de fichier2.

Pr BELKHIR A
Dpt Informatique 2ème année Licence GTR
Faculté Electronique et Informatique UASE : Utilisation et Administration
USTHB des Systèmes d’Exploitation

3.6 Récapitulons (exemple)

On veut renommer le fichier chrono du sous-répertoire ancienne/ en evolution, et le


mettre dans le répertoire histoire/. Dans cet exemple, nous sommes dans
histoire/ancienne/ :

(1) État de départ : (2) cp chrono evolution

(3) mv evolution .. (4) rm chrono

On peut aussi faire plus rapidement :

mv chrono evolution
mv evolution ..

Ou, en une seule ligne de commande :

mv chrono ../evolution

La même série d'opérations est possible depuis histoire/; elle se fera avec la suite de
commandes suivantes :

On recopie le fichier chrono du sous-répertoire


ancienne/ en un second fichier evolution placé
cp ancienne/chrono evolution dans le répertoire courant : on se retrouve
rm ancienne/chrono directement dans l'état 3. Ensuite, on efface le
fichier chrono qui est toujours dans le répertoire
ancienne/.

mv ancienne/chrono .. D'abord on déplace le fichier, ensuite on le


mv chrono evolution renomme.

mv ancienne/chrono evolution
En une seule ligne, on déplace le fichier et on le
renomme.

Pr BELKHIR A
Dpt Informatique 2ème année Licence GTR
Faculté Electronique et Informatique UASE : Utilisation et Administration
USTHB des Systèmes d’Exploitation

Il y a donc rarement une seule façon de manipuler ses fichiers, c'est une question d'aisance et
de rapidité.

3.7 Les répertoires (directories)

3.7.1 Créer et détruire des répertoires


mkdir

mkdir truc (make directory) : crée un répertoire de nom « truc ».

rmdir

rmdir chose (remove directory) : détruit le répertoire de nom « chose ». Cela ne fonctionne
que si le répertoire est absolument vide.

Exemple :

Au départ j'ai juste un répertoire socio. mkdir histoire rmdir histoire

Le tilde ~ désigne le home-directory (« répertoire-maison » ; répertoire d'accueil), c'est-à-dire


l'utilisateur lui-même, « chez soi » ; par exemple le home-directory de Toto (nom de login
toto) est ~toto.

3.7.2 Faire un inventaire : ls (list)

a- Utilisation de ls

ls donne le contenu du répertoire où l'on se trouve, dans l'ordre suivant : symboles, chiffres,
majuscules, minuscules. Les fichiers apparaissent sous leur nom, les sous-répertoires ont leur
nom suivi d'un slash (par exemple, truc/). Les noms de fichiers suivis d'une étoile sont des
exécutables.

ls nom-de-répertoire donne le contenu du répertoire désigné; là aussi on peut taper par


exemple ls -l truc/ pour savoir la taille des fichiers contenus dans le répertoire truc/. Par
exemple :

Si j'ai une arborescence comme celle-ci : $ ls egypte.tex histoire/


$ ls -a histoire/
./
../
Revolution
chronologie

Pr BELKHIR A
Dpt Informatique 2ème année Licence GTR
Faculté Electronique et Informatique UASE : Utilisation et Administration
USTHB des Systèmes d’Exploitation

b- Options de ls

ls a un tas d'options, entre autres pour déterminer le critère du tri (tri alphabétique, inverse,
par date, etc). Voici les options les plus courantes :

ls -l

Donne la liste des fichiers avec entre autres les droits (possibilité pour d'autres personnes de
lire les fichiers, écrire dedans ou les exécuter), la taille (en octets) et la date de dernière
modification. Et ls -l donnera (par exemple) :

Droits Liens Propriétaire Groupe Taille Date Nom


-rw-r--r-- 1 redha litt98 2166 Aug 30 15:04 egypte.tex
drwxr-xr-x 2 redha litt98 512 Mar 6 2000 histoire/

ls -a

Donne la liste de tous les fichiers, y compris ceux commençant par un point (fichiers de
configuration essentiellement).

3.7.3 Se déplacer : cd (change directory)

cd sert à changer de répertoire :

a- cd sans argument

Ramène au répertoire d'accueil, autrement dit chez soi, au point de départ de l'arborescence du
compte.

b- cd suivi d'un nom de répertoire

Sert à aller dans ce répertoire.

cd histoire/

place dans le répertoire histoire/.

cd .. (point point) fait remonter d'un niveau dans l'arborescence.

Pr BELKHIR A
Dpt Informatique 2ème année Licence GTR
Faculté Electronique et Informatique UASE : Utilisation et Administration
USTHB des Systèmes d’Exploitation

Exemple

Supposons que nous nous trouvons dans ~/histoire/moderne/documents/.

Pour retourner du premier coup au home directory : cd

Si on veut remonter dans moderne (répertoire parent de cd ..


documents/) :

Si on veut remonter jusqu'à histoire/ : cd ../..

cd ../../medievale
Si on veut aller dans medievale/ : ou
cd ~/histoire/medievale

Si on veut aller de documents dans Bourbons/ : cd ../Bourbons

Pour aller directement d'histoire/ dans documents/ : moderne/documents

3.7.3 Se repérer : pwd (print working directory)

pwd affiche le répertoire courant, c'est-à-dire le répertoire où vous vous trouvez actuellement.
C'est utile quand le prompt ne l'indique pas. Prenons comme référence l'arborescence de la
figure ci-dessus :

/histoire/moderne/documents $ pwd
/users/98/litt/toto/histoire/moderne/documents
$ cd ~/geo
$ pwd
/users/98/litt/toto/geo

Comme vous le constatez, c'est l'adresse absolue du répertoire qui est indiquée : pwd indique
tous les noms de répertoires traversés depuis la racine ( /users) pour l'atteindre. L'adresse
relative d'un fichier ou d'un répertoire est donnée par rapport au répertoire personnel de
l'utilisateur : « ~ » signifie en fait /users/98/litt/toto (dans le cas de Toto).

Pr BELKHIR A
Dpt Informatique 2ème année Licence GTR
Faculté Electronique et Informatique UASE : Utilisation et Administration
USTHB des Systèmes d’Exploitation

3.8 Les droits d'accès sous Unix

Qu'est-ce que ces « droits d'accès » ? C'est un modèle qui décrit, pour chaque fichier ou
chaque répertoire, qui a le droit de lire, exécuter (ou traverser dans le cas d'un répertoire) ou
modifier. Sur votre Mac ou PC Windows personnel, ces considérations ne sont peut-être pas
très importantes si vous êtes le seul utilisateur. Mais c'est particulièrement important sous
Unix, qui est un système conçu pour être multi-utilisateurs.

3.8.1 Lire les droits

Chaque fichier a plusieurs propriétés associées : le propriétaire, le groupe propriétaire, la


date de dernière modification, et les droits d'accès. On peut examiner ces propriétés grâce à
l'option -l de ls. Dans cet exemple, nous voyons les permissions standards d'un répertoire et
de deux fichiers :

$ ls -l
total 205
drwxr-xr-x 2 toto phy03 512 Jan 16 10:02 fiches/
-rw-r--r-- 1 toto phy03 72008 Oct 2 2003 article.dvi
-rw-r--r-- 1 toto phy03 145905 Oct 2 2003 article.pdf
Les permissions sont indiquées dans la colonne de gauche, suivant un format bien particulier :

3.8.2 Permissions

Comme nous le voyons sur l'image ci-dessus, le bloc de permissions se divise en quatre
éléments.

a- Type

Le premier caractère du bloc de permissions indique le type du fichier : - pour un fichier


normal, d pour un répertoire. On trouve également parfois l pour les liens symboliques.

b- Droits du propriétaire

 r ou - : droit de lire (r pour read) le fichier (r pour oui, - pour non)


 w ou - : droit d'écrire (w pour write) dans le fichier
 x ou - : droit d'exécuter (x pour execute) le fichier.

Pr BELKHIR A
Dpt Informatique 2ème année Licence GTR
Faculté Electronique et Informatique UASE : Utilisation et Administration
USTHB des Systèmes d’Exploitation

Pour un répertoire, les choses sont un peu différentes. Le couple rx donne le droit d'examiner
le répertoire et son contenu. Le bit w donne le droit d'ajouter ou de supprimer des fichiers dans
le répertoire.

Il existe d'autres types de droits, comme le bit setuid (s) ou encore le « sticky bit » (t).

c- Droits du groupe

Comme les droits du propriétaire, mais s'applique aux gens qui sont dans le groupe
propriétaire.

d- Droits des autres

Comme les droits du propriétaire, mais s'applique aux gens qui sont ni le propriétaire, ni dans
le groupe propriétaire.

3.8.3 Liens

Nombre de liens du fichier; un répertoire en a au moins deux (. et ..). Un répertoire qui


contient 5 sous-répertoires en a 7, etc.

3.8.4 Propriétaire

Le nom de login de la personne à qui appartient ce fichier. Seul le propriétaire peut changer
les droits ou le groupe d'un fichier.

3.8.5 Groupe propriétaire

Les groupes sont des ensembles d'utilisateurs qui sont fixés par l'administrateur du système.
Ils sont un moyen pour gérer un peu finement les droits d'accès. C'est la commande id qui
vous révèle le(s) groupe(s) auquel vous appartenez :

$ id
uid=4242(toto) gid=276(phy03) groups=276(phy03)
La commande vous indique d'abord votre identifiant d'utilisateur (UID) et votre login, puis
votre identifiant de groupe principal (GID) et enfin tous les groupes dans lesquels vous vous
trouvez.

3.8.6 Taille

Elle est indiquée en octets.

3.8.7 Modifier les droits d'accès

Il existe 4 commandes liées aux droits d'accès :

 chmod (change mode), la plus utile, qui modifie les permissions


 chgrp (change group) qui modifie le groupe d'un fichier ou répertoire
 chown (change owner) qui modifie le propriétaire d'un fichier ou répertoire

Pr BELKHIR A
Dpt Informatique 2ème année Licence GTR
Faculté Electronique et Informatique UASE : Utilisation et Administration
USTHB des Systèmes d’Exploitation

 umask, qui définit les protections par défaut

Les commandes chgrp et chown servent surtout à l'administrateur du système, donc nous ne
les examinerons pas ici (lisez leur page de man pour en savoir plus). En revanche, chmod est
une commande très pratique dans une utiisation courante.

3.8.8 Notation symbolique

Cette notation consiste à associer un ou plusieurs degrés de propriété, une action et un ou


plusieurs types d'accès. On l'utilise généralement pour ajouter ou retirer des permissions par
rapport à la normale (-rw-r--r-- pour un fichier, drwxr-xr-x pour un répertoire).

Degré de propriété Action Type d'accès

u (utilisateur)
+ (ajoute le droit) r (lecture)
g (groupe)
- (enlève le droit) w (écriture)
o (autres)
= (définit le droit) x (exécution
a (tout le monde)

Quelques exemples
a- Protéger un fichier

Ici, vous interdisez à tout autre que vous l'accès à votre fichier

$ ls -l fichier.txt
-rw-r--r-- 1 toto phy03 42 Jan 5 12:08 fichier.txt
$ chmod og-r fichier.txt
$ ls -l fichier.txt
-rw------- 1 toto phy03 42 Feb 5 12:08 fichier.txt

b- Protéger un répertoire

Même chose pour un répertoire...

$ ls -l | grep repertoire
drwxr-xr-x 2 toto phy03 512 Feb 5 12:19 repertoire/
$ chmod go-rx repertoire
$ ls -l | grep repertoire
drwx------ 2 toto phy03 512 Feb 5 12:19 repertoire/

c- Rétablir des droits normaux pour un fichier


Certains fichiers sont par défaut en mode parano. C'est le cas par exemple de votre mail :
quand vous sauvegardez un fichier en provenance de votre boîte aux lettres, il est protégé.
Pour permettre aux autres l'accès au fichier :
$ chmod og+r fichier.txt

Pr BELKHIR A
Dpt Informatique 2ème année Licence GTR
Faculté Electronique et Informatique UASE : Utilisation et Administration
USTHB des Systèmes d’Exploitation

d- Rétablir des droits normaux pour un répertoire


$ chmod go+rx repertoire

e- Rendre un script exécutable

Par défaut un fichier n'est pas un exécutable. Pour rendre exécutable par tout le monde le joli
script que vous venez d'écrire, faites simplement :

$ chmod +x script

3.8.9 Notation numérique


Cette notation est un peu plus complexe. Elle se fonde sur le principe suivant : considérons un
bloc de permissions, rw-r--r--. Quand une lettre est présente, ça veut dire que l'accès est
autorisé, quand elle est absente (-), il est refusé. On peut traduire ceci de façon binaire :

R w - r - - r - -

1 1 0 1 0 0 1 0 0
Ce qui donne 110-100-100. 110 vaut 6 en décimal, 100 vaut 4 (voir le teableau ci-dessous),
donc la représentation numérique de rw-r--r-- est 644. Cette valeur peut être indiquée
exactement à chmod :
$ ls -l fichier.txt
-rw------- 1 toto phy03 42 Feb 5 12:08 fichier.txt
$ chmod 644 fichier.txt
$ ls -l fichier.txt
-rw-r--r-- 1 toto phy03 42 Jan 5 12:08 fichier.txt

Accès --- --x -w- -wx r-- r-x rw- rwx

Binaire 000 001 010 011 100 101 110 111

Décimal 0 1 2 3 4 5 6 7

Quelques permissions habituelles

Valeur Type de
Permission Signification
numérique fichier

N'importe
--------- 000 Aucun accès à qui que ce soit
quel type.

Fichier parano : lecture et écriture réservées


rw------- 600 Fichiers
au propriétaire.

rw-r--r-- 644 Fichiers Standard : tout le monde peut lire le fichier

Pr BELKHIR A
Dpt Informatique 2ème année Licence GTR
Faculté Electronique et Informatique UASE : Utilisation et Administration
USTHB des Systèmes d’Exploitation

mais vous êtes le seul à pouvoir le modifier.

Fichier public : tout le monde peut lire et


rw-rw-rw 666 Fichiers
écrire.

Répertoire parano : lecture, accès et écriture


rwx------ 700 Répertoires
réservés au propriétaire.

Fichier lisible et exécutable par tous, vous


Fichiers
seul pouvez le modifier.
rwxr-xr-x Standard : tout le monde peut accéder au
755
Répertoires répertoire et lire son contenu, vous seul
pouvez modifier le contenu.

Répertoire public : tout le monde peut y


Répertoires
accéder, lire le contenu et modifier celui-ci.
rwxrwxrwx 777
Exécutable public : tout le monde peut le lire,
Fichiers
l'exécuter et le modifier.

Pr BELKHIR A
Dpt Informatique 2ème année Licence GTR
Faculté Electronique et Informatique UASE : Utilisation et Administration
USTHB des Systèmes d’Exploitation

3.9 Les éditeurs de texte

3.9.1 Qu'est ce qu'un éditeur de texte ?

Un éditeur de texte est un programme qui sert à... éditer des textes (c'est-à-dire à les créer et à
les modifier). Contrairement à un traitement de texte, il ne sert pas à faire de la mise en forme,
la mise en page qu'on peut y faire est seulement une question de lisibilité. Dans le monde
Windows, par exemple, le Bloc-notes (notepad.exe) est l'éditeur de texte (très rudimentaire)
fourni avec le système. Sous UNIX, il y a pico, l'éditeur de texte utilisé par le lecteur de
courrier pine.

Un éditeur de texte vous sert à :

 prendre des notes, comme sur des feuilles volantes ou des Post-It ;
 rédiger vos courriers électroniques ;
 rédiger de beaux documents, quand on le couple avec LaTeX ;
 écrire vos pages Web ;
 écrire des programmes ;
 etc.

Donc, chaque fois que vous avez besoin d'écrire quelque chose, vous vous servez d'un éditeur
de texte.

3.9.2 Comment lancer un éditeur ?

Vous tapez le nom de l'éditeur, suivi du nom du fichier. Par exemple, pour écrire le fichier
rapport.tex avec l'éditeur nano, on tape :

$ nano rapport.tex

Ce qui peut vous dérouter, c'est que certains éditeurs sont en mode texte : ils se lancent dans
la fenêtre où vous avez tapé la commande, au lieu de se lancer dans une nouvelle fenêtre.
Quand on n'est pas habitué, on n'a pas l'impression d'être «dans» un programme. C'est une
question d'habitude!

Dans tous les cas, il faut veiller à sauver son document très régulièrement pendant qu'on
l'écrit, et à quitter correctement l'éditeur (avec sa commande spécifique).

3.9.3 Choisir son éditeur

Il y a plusieurs éditeurs, certains très simples et spartiates, d'autres simples et à la souris,


d'autres plus complexes... Le choix dépend des goûts personnels, si on aime la souris ou non,
les raccourcis claviers, le syntax highlighting (colorisation syntaxique), etc.

Pr BELKHIR A
Dpt Informatique 2ème année Licence GTR
Faculté Electronique et Informatique UASE : Utilisation et Administration
USTHB des Systèmes d’Exploitation

3.9.4 Présentation de NEdit

NEdit est un éditeur de texte en mode graphique, disponible pour UNIX mais aussi
MacOS X et Windows. Il est simple et intuitif, et son fonctionnement ne devrait pas vous
poser trop de problèmes si vous êtes habitué à utiliser les éditeurs Windows ou Mac. Bien que
facile à apprendre, il est assez puissant. C'est un bon choix si vous êtes effrayé par Emacs ou
Vim. Gros inconvénient quand même : comme il est en mode graphique, vous ne pourrez pas
le lancer à distance depuis un Windows ou un Mac.

On utilise les conventions suivantes dans cette page : « File > Open » veut dire
« cliquez sur File, un menu déroulant va s'ouvrir, parcourez-le et cliquez sur Open ».
« Ctrl+O » signifie « tapez sur la touche Control (souvent abrégée en Ctrl) puis sur la touche
'o' ». Shift+Ctrl+Z veut dire « tapez sur la touche Shift (celle qui sert à faire les majuscules),
puis la touche Control, puis la touche 'z' ».

Voici un aperçu de ce que donne NEdit en train d'éditer un fichier (ici, la page source de
ce que vous êtes en train de lire).

Observez que NEdit fait de la colorisation syntaxique, c'est-à-dire qu'il colore les différents
éléments du texte suivant leur fonction. Ici, c'est un fichier XML (sorte de dérivé du HTML,
le langage des pages Web). Les « tags » sont de couleur différente du texte à proprement
parler, ce qui rend le tout beaucoup plus lisible. Cette fonctionnalité est très utile quand vous
tapez des fichiers LaTeX ou HTML, par exemple, ou quand vous programmez...

Pr BELKHIR A
Dpt Informatique 2ème année Licence GTR
Faculté Electronique et Informatique UASE : Utilisation et Administration
USTHB des Systèmes d’Exploitation

3.9.4.1 Manipulations de base

a- Lancer NEdit

Rien de très différent des autres éditeurs ici. Si vous tapez :

$ nedit
NEdit va se lancer. Comme c'est un éditeur graphique, il s'ouvre dans une nouvelle fenêtre.
Vous pouvez aussi lui indiquer directement le fichier à ouvrir :
$ nedit index.html

b- Ouvrir un fichier

Pour ouvrir un fichier, vous pouvez indiquer le fichier à ouvrir en ligne de commande, comme
vu plus haut, mais aussi utiliser File > Open (ou Ctrl+O). À chaque fois, le fichier s'ouvre
dans une autre fenêtre. Il n'y a pas de limite au nombre de fichiers que vous pouvez ouvrir.

NEdit garde en mémoire les fichiers que vous avez récemment édités. Pour en réouvrir un,
choisissez parmi ceux que vous propose File > Open previous.

c- Créer un nouveau fichier

Si vous avez tapé nedit tout court, vous avez à votre disposition une fenêtre sans titre
(« Untitled »). Vous pouvez taper directement pour créer un nouveau fichier. NEdit vous
demandera comment l'appeler quand vous sauvegarderez. Sinon, c'est File > New (ou
Ctrl+N).

d- Sauvegarder

C'est File > Save ou Ctrl+S. Si le fichier ne possède pas de titre (« Untitled »), NEdit vous
demandera de lui en donner un. Pour sauvegarder sous un autre nom, File > Save As.

À noter que quand NEdit se ferme mal, il crée une sauvegarde du fichier que vous étiez en
train d'éditer. Cette sauvegarde porte le nom ~monfichier, ou « monfichier » est évidemment
le nom du fichier que vous éditiez.

e- Quitter NEdit

Si vous souhaitez seulement fermer une fenêtre, c'est File > Close (Ctrl+W). Si vous
souhaitez quitter définitivement NEdit (ce qui fermera toutes vos fenêtres, si vous en avez
plusieurs), c'est File > Quit (Ctrl+Q).

3.9.4.2 Aller un peu plus loin

a- Effacer

Pour effacer, utilisez les touches Del (aussi appelées Suppr) et backspace (<-) de votre
clavier. Pour effacer tout un bloc de texte, sélectionner-le simplement à la souris, puis faites
Ctrl-X (ou appuyez sur Del).

Pr BELKHIR A
Dpt Informatique 2ème année Licence GTR
Faculté Electronique et Informatique UASE : Utilisation et Administration
USTHB des Systèmes d’Exploitation

b- Copier-Coller

Sélectionner avec votre souris l'expression à copier, puis tapez Ctrl+C. Cette commande
place l'expression sélectionnée dans le presse-papiers. Ensuite, cliquez à l'endroit ou vous
voulez copier l'expression, et tapez Ctrl+V. Pour couper-coller, même chose avec Ctrl+X
(couper) et Ctrl+V.

Pour inclure tout un fichier à l'endroit où se trouve votre curseur, utilisez File > Include
file (Alt+I).

c- Rechercher et remplacer

Pour chercher une expression dans votre fichier, il faut passer par Search > Find (Ctrl+F).
Différentes options sont possibles : faire une recherche simple, utiliser une expression
régulière, rechercher en indiquant ou non la casse, etc. La recherche commence à l'endroit où
se trouve votre curseur.

Pour remplacer, c'est Search > Replace (Ctrl+R). Indiquez d'abord l'expression à
remplacer, uis la nouvelle expression. Vous aurez ensuite à choisir entre différentes manières
de remplacer : pour remplacer seulement la première occurrence, cliquez sur « Replace ».
Pour remplacer sur tout le document, cliquez sur « Window ». Si vous voulez pouvoir
remplacer ou pas au cas par ca, cliquez sur « Replace and Find ». NEdit va rechercher chaque
occurrence du terme à remplacer, puis vous l'indiquer en grisé. Vous devrez alors choisir entre
remplacer (Ctrl+T) ou passer à l'occurence suivante sans rien toucher (Ctrl+G).

d- Annuler la dernière action

Edit > Undo (ou Ctrl+Z) annule votre dernière action. Vous pouvez faire des Undo
successifs jusqu'à ce que mort s'ensuive.

Vous pouvez aussi faire des Redo. Cétikoi ? Imaginons que vous ayez collé un paragraphe à
un endroit de votre fichier. Vous changez d'avis et faites un Undo. Vous réfléchissez de
nouveau et vous vous dites que non, il était très bien là. Vous voulez donc annuler l'opération
« Annuler l'opération précédente » : c'est ce qu'on appelle un « redo », faisable avec
Shift+Ctrl+Z.

Enfin, si vous n'aimez vraiment pas les modifications que vous avez faites à un fichier, vous
pouvez revenir à létat où il était lors de sa dernière sauvegarde avec File > Revert to
saved.

3.9.4.3 Récapitulons

Action À la souris Raccourci clavier

Ouvrir un fichier File > Open Ctrl+O

Créer un nouveau fichier File > New Ctrl+N

Pr BELKHIR A
Dpt Informatique 2ème année Licence GTR
Faculté Electronique et Informatique UASE : Utilisation et Administration
USTHB des Systèmes d’Exploitation

Sauvegarder File > Save Ctrl+S

Fermer une fenêtre File > Close Ctrl+W

Quitter NEdit File > Quit Ctrl+Q

Couper la sélection Edit > Cut Ctrl+X

Copier la sélection Edit > Copy Ctrl+C

Coller la sélection Edit > Paste Ctrl-V

Rechercher Search > Find Ctrl+F

Remplacer Search > Replace Ctrl+R

Annuler la dernière action Edit > Undo Ctrl+Z

« Redo » Edit > Redo Shift+Ctrl+Z

Cette page n'était qu'un simple tour d'horizon. NEdit a bien sûr, beaucoup plus de
fonctionnalités. Pour en savoir plus, reportez-vous à la documentation fournie (Menu Help).

Pr BELKHIR A

Vous aimerez peut-être aussi