• Aucun résultat trouvé

Introduction au Système d Exploitation Unix/Linux

N/A
N/A
Protected

Academic year: 2022

Partager "Introduction au Système d Exploitation Unix/Linux"

Copied!
71
0
0

Texte intégral

(1)

1 partie: Syst`eme de Gestion de Fichier

B. Jacob

IC2/LIUM

17 septembre 2013

(2)

Plan

1 Notions de fichier

2 Notions de r´epertoire

3 Organisation des r´epertoires

4 Identification d’un fichier dans l’arborescence

5 Expressions r´eguli`eres ”simples”

6 Expressions r´eguli`eres ”´etendues”

7 Commandegrep

8 Commandefind

9 Commandes fichiers distants

(3)

Plan

1 Notions de fichier

(4)

D´ efinition

Un fichier informatique = collection d’informations num´eriques (donn´ees)

les fichiers sont g´er´es par le SGF (Syst`eme de Gestion de Fichiers)

le SGF identifie un fichier par son nom (unique)

les donn´ees sont stock´ees de mani`ere permanente sur un support (disque dur, CD. . . )

(5)

Type de fichier

On peut parler de fichier

texte : fichiers, qui comme on l’aura devin´e, contiennent du texte.

ex´ecutable : que l’on peut ex´ecuter ou lancer, autrement dit des programmes.

compress´e : archives, fichiers Zip, Sit, Rar et autres formats compact´es.

graphique, audio, vid´eo : qui contiennent des images, des sons cod´es en diff´erents formats.

de donn´ees : tout autre type de fichiers.

(6)

Exemple de fichier

(7)

Nom de fichiers

Suite de caract`eres ascii sauf le /

Longueur limit´ee (14, ou 255 caract`eres. . . )

Pas de contraintes, mais des suffixes conventionnels Les langages

.c, .hC (et include) .java, .classJava .fFortran .oBinaire objet

.aLibrairie de binaires objets pdfPortable Document Format texTeX ou LATEX

(8)

Commandes sur les fichiers

basename− le nom sans le pr´efixe dirname −le pr´efixe

file → type du fichier

cat→ affiche le contenu sans pause head → premi`eres lignes

tail → derni`eres lignes touch

si le fichier: maj date derni`ere modif si le fichier@, cr´eer un fichier vide

more, less →affiche le contenu avec pause

(9)

Copie de fichiers

cpCopy, 3 utilisations Recopie de fichiers

cp filename1 filename2 : Recopie du fichier filename1 dans le fichier filename2

Copie de r´epertoire

cp -rR [-ip] dirname1 dirname2: Copie r´ecursive de dirname1 dans dirname2

Copie de fichiers dans un r´epertoire

cp [-iprR] filename... dirname: Copie des fichiers filename dans dirname

(dirname doit d´ej`a exister)

#

(10)

Destructions de fichiers

rmRemove

rm [-] [-fir] filename...

Options :

-r Destruction r´ecursive -i Mode interactif -f Force

(11)

D´ eplacement de fichiers

mvD´eplace ou renomme un fichier/un r´epertoire

mv filename1 filename2 : Renomme filename1 en filename2

mv dirname1 dirname2 Si dirname2 n’existe pas, renomme dirname1 en dirname2

mv filename... dirname : Place les fichiers filename dans le r´epertoire dirname

home% mv /home/deust/isr1/ /home/deust/isr2

#

(12)

Droits d’acc` es aux fichiers

Il faudrait d´efinir autant de droits d’acc`es qu’il y a de

fa¸cons d’utiliser un fichier (lecture, ´ecriture, modificiations. . . ) d’utilisateurs (souvent des centaines)

⇒impossible, nombre de combinaisons trop grand D´efinition ”arbitraire”de

3 fa¸cons d’utilisation (appel´es droits) droit de lecture (read)

droit d’ecriture (write)

droit d’ex´ecution (ou de traverser un r´epertoire) 3 classes d’utilisateurs :

le propri´etaire du fichier

le groupe auquelle propri´etaire tous les autres

(13)

Affichage des droits

Avec la commandels -l Affich´es sur 10 bits : -rwxwxrwx

1 : Type du fichier -: ordinaire

d: r´epertoire (directory)

2 `a 10 : Droits d’acc`es / d’utilisation 3 droits

r(Read) w(Write) x(eXecution)

pour les 3 classes d’utilisateurs : u(User)

g(Group) o(Others)

⇒3×3 combinaisons possibles

(14)

Exemples droits de fichiers

r w x

user group others

x x

w r w

r

(15)

Exemples droits de fichiers

r w x

user group others

x x

w r w

r

0

1 0 0 0 0 0 0 0

positionnement du droit "lecture" pour le propriétaire du fichier

(16)

Exemples droits de fichiers

r w x

user group others

x x

w r w

r

1 1 1

1 0 0 0 0 0

-rwxr--- Affichage :

Explications : Fichier que

- le propriétaire peut lire, écrire et exécuter - ceux du groupe puissent lire - les autres ne puissent rien faire dessus

(17)

Exemples droits de fichiers

r w x

user group others

x x

w r w

r

1 1 1

1 0 0 0 0 0

-rwxr--- Affichage :

Explications : Fichier que

- le propriétaire peut lire, écrire et exécuter - ceux du groupe puissent lire - les autres ne puissent rien faire dessus

(18)

Exemples droits de fichiers

r w x

user group others

x x

w r w

r

1 0

Explications : Affichage :

1 1 1 1 0 0 1

(19)

Exemples droits de fichiers

r w x

user group others

x x

w r w

r

1 0

Explications : Affichage :

1 1 1 1 0 0 1

-rwxr-x--x

(20)

Changement mode d’un fichier

chmod [-R] [ugoa] [+-=] [rwx st ugo] filename...

chmod [-R] octalmode filename...

Classe

a appliqu´e `a tous (d´efaut) u appliqu´e au propri´etaire (user) g appliqu´e au groupe

o appliqu´e aux autres (others) Op´erations

+ ajout de droits - retrait de droits

= positionnement de droits

(21)

Droits

rdroit de lecture (read) wdroit d’ecriture (write)

xdroit d’ex´ecution (ou de traverser un r´epertoire) s“set-uid” bit (associ´e `a u)

“set-gid“ bit (associ´e `a g) t“sticky” bit

(22)

Ou en octal, le mode est sp´ecifi´e par combinaison des nombres octaux

400 lisible par le propri´etaire 200 modifiable par le propri´etaire 100 ex´ecutable par le propri´etaire

40 lisible par les membres du groupe propri´etaire 20 modifiable le groupe propri´etaire

10 ex´ecutable le groupe

4 lisible par les autres utilisateurs 2 modifiable par les autres utilisateurs 1 ex´ecutable par les autres utilisateurs

Le ” sticky ” bit limite les swap entre diff´erentes ex´ecutions

(23)

Exemple

$ ls -l file

-rw--w---- 1 jacob enseign 433 sep 20 15:28 file

$ chmod a+x,g-w+r file

$ ls -l file

-rwxr-x--x 1 jacob enseign 433 sep 20 15:30 file

Fichier ex´ecutable par tous Avec les droits du groupe enseign Lisible par le groupe

Modifiable par le propri´etaire

(24)

Plan

2 Notions de r´epertoire

(25)

D´ efinition

r´epertoire = directory

En informatique, un r´epertoire = liste de fichiers.

le SGF g`ere un r´epertoire comme un fichier

→ 1 r´epertoire = liste de fichiers + r´epertoires gestion des droits d’un r´epertoire = idem que fichier manipulation des r´epertoires : idem que fichiers.

Retour sur cp Retour sur mv

(26)

Exemple de r´ epertoire

Users

bruno

toto.txt titi.c tata.bin

parametres.cfg

riri.o document.txt

Répertoire Fichier

(27)

Plan

3 Organisation des r´epertoires

(28)

Arborescence

Mod`ele hi´erarchique en ”arbre invers´e”

”arborescence Unix”

1 seule racine not´ee ”/”

6= Windows plusieurs racines (C: D: A:. . . )

(29)

Arborescence

Exemple d’arborescence Unix :

bin etc home lib Users tmp

/

thierry toto

sh csh bash ls bruno save1 save2 save3

data1

.cshrc toto

Ordinaires Répertoires Fichiers

{

racine

(30)

Noms de r´ epertoires

Vocabulaire relatif aux r´epertoires : r´epertoired’accueil ouhome :

→ r´epertoire sur lequel on est positionn´e `a la connexion r´epertoirecourantouworking directory :

→ r´epertoire sur lequel on se trouve `a tout moment r´epertoirep`ere:

→ r´epertoire/noeud au dessus du r´epertoire courant dans l’arborescence Unix

(31)

Acc` es ` a ces r´ epertoires

chemin absolu : `a partir de la racine (‘‘/’’) chemin relatif au r´epertoire d’accueil (‘‘∼’’) chemin relatif au r´epertoire courant (‘‘.’’) chemin relatif au r´epertoire p`ere (‘‘..’’)

(32)

Commandes sur les r´ epertoires

pwd(path working directory) cd (change directory) mkdir (make directory) rmdir (remove directory)

ls (list directory) Donne le contenu d’un r´epertoire

ls [-algiARF...] [name]...

Options

-a: all (mˆeme commen¸cant par un .) -l: format long

-cou-t: tri par derni`ere date de modification -R: r´ecursif

(33)

Exemples

homel% ls /bin

X11 grep roffbib ...

homel% ls -l

drwxr-xr-x 2 jacob ens 512 mar 26 2003 TclTk drwxr-xr-x 21 jacob ens 9216 sep 18 17:29 Temporaire drwxr-xr-x 3 jacob ens 512 jan 10 2002 tst -rw-r--r-- 1 jacob ens 148 jui 7 16:41 uhb.fr homel% ls -a

. bin kadb

.. cdrom lib

.cshrc dev mnt

.login etc net

(34)

Commandes de fichiers et/ou r´ epertoires

du[-s] [-a] [filename]...

Taille disque utilis´ee par un fichier ou par un r´epertoire (r´ecursif) en kilo-octets

%ls

Cours_1 Cours_2 Cours_Annexes

%du

1334 ./Cours_2 640 ./Cours_1 3970 ./Cours_Annexes 5946 .

(35)

Archives

commande tar

”mise `a plat” d’une arborescence de fichiers dans un seul fichier

convention : suffixe .tar

(36)

Compression

commande zip ou gzip compression d’un fichier convention : suffixe .zip ou .gz

souvent utilis´e avec une archive → suffixe .tar.gzip

(37)

Plan

4 Identification d’un fichier dans l’arborescence

(38)

Les chemins

bin etc home lib Users tmp

/

thierry toto

sh csh bash ls bruno save1 save2 save3

data1 .cshrc

toto

répertoire de travail MesFichiers

répertoire d'accueil répertoire racine

chemin absolu : /Users/bruno/MesFichiers/toto

chemin relatif au r´epertoire d’accueil ∼/MesFichiers/toto chemin relatif au r´epertoire courant ./toto outoto

(39)

Exercice

Exercices sur la cr´eation d’une arborescence

Cr´eation de r´epertoires Manipulation de fichiers

D´eplacement de fichiers et/ou de r´epertoires

Modification des droits des r´epertoires et des fichiers . . .

Voir feuille d’exercices

(40)

Plan

5 Expressions r´eguli`eres ”simples”

(41)

Expressions r´ eguli` eres simples

”regexp” simples →s´election de nomsde fichiers et/ou r´epertoires Elles utilisent des m´etacaract`eres

? : “joker” pour un car

* : n car. (n >0) [c,h] : ’c’ ou ’h’

{c,pl}: ’c’ ou ’pl’

[a-e] : un car.∈ [a,b,c,d,e]

[ˆd-f] : un car. tous sauf d,e,f

[a-zA-Z]: une lettre minuscule ou majuscule [a-z][0-9] : lettre minuscule suivie d’un chiffre

(42)

Expressions r´ eguli` eres simples

Les regexp sont utilis´ees

⇒ pour une s´election multiple de fichiers

⇒ par des commandes utilisant plusieurs fichiers (commels)

(43)

Exemples regexp simples avec ”ls”

prompt% ls

File1 File2 File3 fichier prog1.c prog2.c prompt% ls File?

File1 File2 File3 prompt% ls ?i*

File1 File2 File3 fichier prompt% ls *.c

prog1.c prog2.c prompt% ls [^Ff]*

prog1.c prog2.c

(44)

Plan

6 Expressions r´eguli`eres ”´etendues”

(45)

Expressions r´ eguli` eres ”´ etendues”

”regexp” ´etendues → s´election de contenus de fichiers

Fonctions des regexps ´etendues Fonctions des regexps simples +

\n : retour `a la ligne ˆ : d´ebut de ligne

$ : fin de ligne

(46)

Expressions r´ eguli` eres ´ etendues

Liste des M´etacaract`eres (6= simples) : .(dot) : un caract`ere quelconque

*: op´erateur de r´ep´etition [xyz]: x ou y ou z

[A−G]: intervale [ ˆxyz]: sauf x, y ou z ˆ: d´ebut de ligne

$fin de ligne

\{m,n\} : r´ep´etitions entre m et n fois

\ : ´echappement(enl`eve l’interpr´etation d’un car. sp´ecial)

(47)

Exemples de regexp ´ etendues

ˆ$ : repr´esente une ligne vide

ˆ[A-Z] : une majuscule en d´ebut de ligne [ˆA-Z] : tout sauf une majuscule

[a-z][a-z]$ : 2 minuscules en fin de ligne

[ABCD]\{2,10\}$ : entre 2 et 10 car. A,B,C ou D en fin de ligne

(48)

Plan

7 Commandegrep

(49)

grep

Recherche de contenus

→ utilisation deregexp ´etendues Recherche sur plusieurs fichiers

→ utilisation des regexp simples

(50)

Recherche de motifs dans un fichier grep

grep[-vin] regexpr [file]...

Cherche et affiche les lignes contenant regexpr Options

-v : compl´ementaire

-i : maj. et min. indiff´erentes -n : affiche les num´eros de lignes

(51)

Exemple 1 de grep

$ more texte il fait beau il fait chaud

beau temps n’est ce pas ?

$ grep "^il" texte il fait beau il fait chaud

(52)

Exemple 2 de grep

$ more fich11.txt il fait beau mais pas trop il est midi

$ more fich22.txt il fait chaud et humide

$ grep "^il" fich*.txt fich11.txt:il fait beau fich11.txt:il est midi fich22.txt:il fait chaud

(53)

Plan

8 Commandefind

(54)

find

Recherche de fichiers

→ utilisation deregexp simples sur un ou plusieurs crit`eres

si crit`ere = contenu des fichiers alors

→ utilisation des regexp ´etendues

(55)

Recherche de fichier

find dir expr command

Recherche dans une arborescence Des fichiers satisfaisant expr Application de command dirracine de l’arborescence expr

( ) -o -a op´erateurs logiques -name reg-expr-shell -user name

-size n / -size +/-n (taille n×512 octets) -atime n

Autres possibilit´ees :man find

(56)

command

-printaffiche le nom du fichier -execunix-cmd {}

avec{}= nom du fichier

(57)

Exemples de find

affichage des fichiers .c

% find . -name ’*.c’ -print

affichage de mes fichiers

% find / -user $USER -print

suppression des fichiers .o

% find $HOME -name ’*.o’ -exec rm {} \;

recherche de lignes commen¸cant par ”toto” dans les fichiers .txt

% find . -name "*.txt" -exec grep "^toto" {} \;

(58)

Exercice

Exercices sur grep et find

(59)

Plan

9 Commandes fichiers distants

(60)

FTP

Les fichiers sur des mahines distantes peuvent ˆetre g´er´es parFTP: File Transfert Protocole (Protocole de Transfert de Fichiers) protocole client-serveur qui permet `a un utilisateur de transf´erer des fichier vers et depuis un serveur distant N´ecessite

une connexion au serveur distant

parfois un identifiant et un mot de passe

d’invoquer les commandes pour effectuer les transferts entre votre machine et le serveur

(61)

Connexion

Pour se connecter au serveur server.fort.lointain.fr

$ ftp server.fort.lointain.fr

ou

$ ftp

ftp> open server.fort.lointain.fr

(62)

Identification

1 Saisie de l’identifiant

Name (server.fort.lointain.fr):

On peut saisir

un ”vrai” mot de passe pour les sites priv´es anonymousouftppour les sites publics

2 Saisie du mot de passe 331...login ok,....

Password:

Ce peut ˆetre :

un ”vrai” mot de passe une adresse e-mail . . . Si la connexion est r´eussie :

Remote system type is UNIX. Using binary mode to transfer files.

ftp>

On peut alors taper les commandes de transfert de fichiers

(63)

Type de Transfert des fichiers

2 modes :

ascii : pour transf´erer des fichiers textes

binaire : pour tous les autres fichiers (bianires, images. . . ) on peut changer de mode de transfert durant la connexion Exemples de mode de transfert :

fichier noyau du syst`eme→ binaire images (jpeg, pdf. . . )→ binaire

fichiers compress´es (zip, gzip)→ binaire en cas de doute → binaire

(64)

Explorer et voir la liste des fichiers

ls → affichage des fichiers sur le serveur ls est ex´ecut´ee sur le serveur distant Exemple :

ftp> ls 200 PORT command successful.

150 Opening ASCII mode data connection for /bin/ls.

total 33590

-r--r--r-- 1 root other 34348506 Dec 03 03:53 IAFA-LISTINGS lrwxrwxrwx 1 root other 7 Jul 15 1997 README -> WELCOME -rw-r--r-- 1 root other 890 Nov 15 13:11 WELCOME dr-xr-xr-x 2 root other 512 Jul 15 1997 bin dr-xr-xr-x 2 root other 512 Jul 15 1997 dev dr-xr-xr-x 2 root other 512 Jul 18 1997 etc drwxrwxrwx 11 ftp 20 4608 Nov 28 16:00 incoming

lrwxrwxrwx 1 root other 13 Jun 04 1998 ls-lR -> IAFA-LISTINGS dr-xr-xr-x 17 root root 512 Jun 08 11:43 pub

dr-xr-xr-x 3 root other 512 Jul 15 1997 unc dr-xr-xr-x 5 root other 512 Jul 15 1997 usr 226 Transfer complete.

(65)

Explorer

Les archives publiques dispos´ees sur les serveurs FTP se trouvent g´en´eralement dans le r´epertoire /pub

ftp> cd pub/

250-README for pub 250-

250-What you’ll find here: publc archive only for your eyes 250-

250-

250 CWD command successful.

Messages d’informations transmis par le serveur dans ce cas : serveur configur´e pour envoyer le fichier README et l’afficher lorsqu’on entre dans le r´epertoire

(66)

T´ el´ echarger des fichiers

Pour t´el´echarger un fichier du serveur vers votre machine : commande get→ un fichier

commande mget → plusieurs fichiers Exemples :

1 t´el´echargement de linux-2.2.13.tar.gz.

ftp> get linux-2.2.13.tar.gz

local: linux-2.2.13.tar.gz remote: linux-2.2.13.tar.gz 200 PORT command successful.

150 Opening BINARY mode data connection for linux-2.2.13.tar.gz (15079540 bytes).

→ ftpcommence `a sauvegarder le fichier distant vers votre ordinateur.

2 t´el´echargement de tous les fichiers commen¸cant par ”linux”

ftp> mget linux*

(67)

Transfert/Upload

Pour transferer des fichiers depuis le r´epertoire courant de votre machine vers le serveur :

commande put→ un fichier

commande mput → plusieurs fichiers Exemple :

1 Transfert du fichier Fiona.tar.gzdans le r´epertoire Incomingdu serveur serveur.fort.lointain.fr

ftp> cd /incoming ftp> put fiona.tar.gz

local: fiona.tar.gz remote: fiona.tar.gz 200 PORT command successful.

150 Opening BINARY mode data connection for fiona.tar.gz.

226 Transfer complete.

10257 bytes sent in 0.00316 secs (3.2e+03 Kbytes/sec)

(68)

Transfert/Upload

Si le fichier `a transf´erer n’est pas dans le r´epertoire courant

→commande lcd

Local Change Directory

change le r´epertoire courant de votre machine

Exemple :fiona.tar.gz se trouve dans le r´epertoiredonjonde votre machine :

ftp> lcd /donjon Local directory now donjon

(69)

Utiliser des commandes shell

Le client ftp permet l’utilisation du point d’exclamation ( !) pour effectuer des commandes locales. Par exemple, pour afficher la liste des fichiers dans le r´epertoire local en cours, entrez ceci :

ftp> !ls

Cette commande appelle les fonctions du shell, et utilise la commande indiqu´ee apr`es le ” !”. Vous pouvez utiliser n’importe quelle commande que votre shell supporte en appelant le ” !”. Notez que !cd ne changera pas de r´epertoire local, c’est pourquoi la commande lcd existe.

(70)

Progression des transferts

Progression de vos transferts pendant l’utilisation de FTP→ commandehash :

ftp> hash

Hash mark printing on (1024 bytes/hash mark).

affiche une indication tous les 1024 bytes pendant le t´el´echargement.

Il y a aussi l’option tick :

ftp> tick

Tick counter printing on (10240 bytes/tick increment).

Bytes transferred: 11680

(71)

Autres commandes FTP

Il existe beaucoup d’autres commandes ftp Pour plus d’informations :

dans ftp : helpnom de la commande : pour une commande sp´ecifique de ftp

dans un terminal :man ftp pour le manuel d’aide sur ftp

Références

Outline

Documents relatifs

Déterminer une primitive de chacune des fonctions suivantes sur

◊ remarque : l'inductance est plus grande avec le noyau de fer feuilleté (aimantation induite) ; elle est un peu plus faible avec un noyau de métal non feuilleté (champ magnétique

En utilisant la commande find ainsi que la commande grep, affichez la liste de tous les fichiers du répertoire courant et de ses sous répertoires qui ont une extension

La priorité peut être ajustée avec nice dans l'intervalle 20 (le plus prioritaire) à 19 (le moins prioritaire) A noter tout de fois que seul le super utilisateur (root) peut

• Le vélo est constitué d’un cadre, solide indéformable, sur lequel sont articulés par des liaisons sans frottement les deux roues et le pédalier assimilés à des

L’utilisation de voyelles nasales semble intrins`eque `a la langue cr´eole mais la nasalit´e nous parait ˆetre un ´el´ement r´ecurrent dans le chant gwoka tout comme dans

This non-negative functional tF was shown to be lower semi-continuous on the set of Lipschitz functions with the 1: I topology and hence could be extended to

Cette commande permet de copier un fichier vers un autre r´epertoire (avec ou sans renommage) et de copier plusieurs fichiers vers un mˆeme r´epertoire (sans renommage).. $ cp