Tp n 3 linux

gestion des fichiers linux

Institut Supérieur des Etudes Technologiques de Jendouba
Département Technologies de l’Informatique
2ème
année Licence Appliquée
Atelier Système 2 (Linux)
Amir Souissi
TP N° 3
La gestion des fichiers
Objectifs
• Comprendre l’organisation du système de fichier et savoir les notions de chemin relatif et chemin absolu,
• Maitriser les commandes de manipulation et de gestion de contenu des fichiers et des répertoires,
• Faire la différence entre les différents types de fichiers
• Présenter et manipuler les liens symboliques et les liens physiques
• Compression et décompression des fichiers.
1) Organisation du Système de Fichier
La racine / du système de fichier contient tous les répertoires et sous répertoires du système. La racine est
représentée par le signet « système de fichiers » sous Ubuntu.
Le dossier /home est un sous dossier de la racine. Il contient les dossiers personnels de chaque utilisateur du
système. Le nom du dossier personnel porte le même nom que celui de l’utilisateur déclaré. Le dossier d’un
utilisateur est représenté par le signet « dossier personnel » sous Ubuntu.
Les autres sous dossiers ont des significations particulières pour un système Linux comme Ubuntu. C’est une
organisation qui varie selon la distribution Linux.
Pour se déplacer dans l’arborescence du système, on utilise la commande cd en ligne de commande.
cd /chemin/repertoire permet de se déplacer dans le répertoire désigné et de le transformer en répertoire
actif.
cd ~ permet de se placer dans le répertoire personnel. Ce dernier devient le répertoire actif.
cd ~ est équivalent à ……………………………………………………………
Quel est le rôle de la commande pwd ?
Que fait la commande cd .. ?
Naviguer dans l’arborescence du système puis rappeler le rôle des répertoires : /bin, /boot, /dev et
/etc
Le répertoire /etc contient les fichiers de configurations du système et des outils installés pour tous les
utilisateurs du système.
Comment trouver les fichiers de configurations propres à un seul utilisateur ?
L’ajout d’un périphérique (cdrom, clé USB, …) au système Linux créera un nouveau répertoire inséré quelque
part dans le système de fichier : On appelle le point d’insertion point de montage. L’emplacement d’un point
de montage dans Linux dépend des distributions Linux.
Monter un nouveau périphérique et déterminer le répertoire de son point de montage dans le
système de fichier ?
Chemin relatif et chemin absolu
Il existe deux manières de référencer un fichier (ou un répertoire) sous Linux :
Chemin absolu : description du chemin en partant de la racine / (root) quel que soit le répertoire courant.
Chemin relatif : description du chemin depuis le répertoire courant (actif). Commence par un nom de fichier et
non pas par un /.
Quel est l’avantage de l’utilisation des références relatives par rapport aux références absolues ?
Exercice A : (répertoire actif, chemins relatifs et chemins absolus)
1) A partir des prompts suivant, déterminer le chemin du dossier actif :
amir@ubuntu:/etc/apt$
amir@ubuntu:~/dossier$
amir@ubuntu:/$
2) Soit la ligne de commande suivante :
amir@ubuntu:~/dossier$ mv /home/amir/doc.txt /home/amir/dossier/
a. Déduire ce que fait la commande mv ?
b. A-t-on utilisé des chemins relatifs ou des chemins absolus ?
c. Ecrire la commande d’une autre manière
3) Utiliser des chemins relatifs pour déplacer le fichier doc.txt se trouvant dans ~/dossier vers le répertoire
parent.
4) Remettre doc.txt à sa place toujours en utilisant des chemins relatifs.
La commande ls permet d’afficher le contenu d’un répertoire.
ls . permet d’afficher le contenu du répertoire courant (ls ls .)
ls ../ permet d’afficher le contenu du répertoire parent du répertoire courant.
ls ../.. permet d’afficher le contenu du répertoire parent du répertoire parent du répertoire courant.
Expliquer puis tester la ligne de commande suivante :
amir@ubuntu:~dossier$ mv ./doc.txt ../../ali/dossier
Comme sous MSDOS, par exemple, on pourra utiliser sous Linux un ensemble de caractères génériques :
* zéro ou plusieurs caractères indéfinis
? un caractère quelconque
[abc] un caractère parmi a,b,c
[a-z] un caractère pris dans l’intervalle de a à z
Exercice B : (commande ls et caractères génériques)
1) Lister tous les fichiers et répertoires contenus dans le répertoire de travail dont le nom commence
par « a ».
2) Lister ceux dont le nom possède au moins trois caractères, commence par « a » et possède un « c »
en troisième position.
3) Lister ceux qui possèdent un chiffre compris entre 1 et 5 (compris) en seconde position.
4) Lister tous les fichiers possédant exactement un nom de 4 caractères et commençant par « a ».
5) Lister tous les fichiers possédant exactement un nom de 4 caractères.
6) Lister les noms de fichiers constitués par exactement 4 chiffres.
2) Commandes de Manipulation des Fichiers et Répertoires
Créer un fichier touch (fichier vide) ou éditeur quelconque.
Renommer un fichier mv fichier1 fichier2
Déplacer un (des) fichier(s) mv fichier1 [fichier2 ..] répertoire
Copier un fichier cp fichier1 fichier2
cp fichier1 [fichier2 ..] répertoire
Détruire un fichier rm fichier1 [fichier2 ..]
Attention : définitif !
Attention à rm –r !
Pour plus de précaution il serait souhaitable d’initialiser un alias rm = « rm -i »
Visualiser un fichier less more cat (cat –n ; cat –b)
Concaténer des fichiers cat
Créer un répertoire mkdir répertoire
Renommer un répertoire mv rep newrep
Déplacer un répertoire mv rep newrep
Détruire un répertoire rmdir dir
Visualiser le contenu d’un fichier
Visualiser le fichier /var/log/syslog par la commande cat
Visualiser le par la commande less (avec barre d’espacement)
Noter la différence entre cat et less
Utiliser tail pour voir la fin du fichier syslog. Quelle est le nombre de ligne affiché par défaut ?
Utiliser tail avec l’option –n30 ou -30
L’option –f de tail permet de voir en temps réel ce qui s’ajoute au fichier gardé ouvert. Comment reprendre
la main au shell après un tail –f ?
La commande sœur de tail est head. Tester-la.
Visualiser la taille d’un fichier et d’un répertoire
Utiliser la commande stat pour le fichier syslog. Quelles sont les informations du système de fichier
concernant ce fichier que vous trouvez importantes ?
Utiliser la commande wc et déterminer son rôle.
Utiliser du (disc usage) pour montrer la taille d’un répertoire en nombre de blocs (Exp :du /var/log)
L’option –b de du donne la taille d’un répertoire en nombre d’octets.
L’option –h de du donne la taille mieux lisible par un humain (en kilo, en méga ou giga octets)
Que fait la commande du -h -s ou du -hs ?
La commande df permet de connaitre la taille de tous les systèmes de fichiers des périphériques attachés au
système.
La première colonne désigne le nom du périphérique
Les 3 colonnes suivantes désignent respectivement la taille totale, la taille utilisée et la taille disponible.
La cinquième colonne désigne le pourcentage d’utilisation
La sixième colonne désigne le point de montage du périphérique
Utiliser df avec les options -h et -H, puis déterminer la taille de la partition principale de votre système
exprimée en giga octet.
Exercice C :
1) Donner le chemin absolu de votre répertoire de travail.
2) Le répertoire /etc étant votre répertoire courant, donnez la commande permettant de transformer votre
répertoire de travail personnel en répertoire courant.
3) Créez l’arborescence suivante dans votre répertoire de travail :
Mon_répertoire
Essais Documentation Travail
En_cours Rendu
4) Créez un fichier non vide nommé « un.txt » dans le répertoire /Essais, à l’aide d’un éditeur de texte installé.
5) Créer un fichier nommé « deux.txt » dans le répertoire /Essais, à l’aide de la commande touch.
6) Éditez-le, à l’aide de emacs et placez-y quelques lignes de texte.
7) Déplacez le fichier « un.txt » dans /Documentation.
8) Dupliquez le fichier « un.txt » dans /En_cours. (il doit y avoir maintenant deux exemplaires de « un.txt »
dans l’arborescence).
9) Renommez « /En_cours/un.txt » en « /En_cours/trois.txt »
10) Quelle commande permettrait de déplacer un fichier tout en le renommant.
11) Renommez le répertoire /Essais en /Brouillons.
12) Détruire le répertoire /Travail et tout ce qu’il contient.
13) Concaténez les deux fichiers « un.txt » et « deux.txt » pour obtenir un fichier nommé « total.txt ». Que sont
devenus les deux fichiers de départ.
14) Donnez toutes les commandes permettant d’effectuer les actions décrites dans la section précédente
(manipulation de fichier et répertoires), qui n’ont pas été complétés.
3) Les Types de Fichiers
Un fichier est une suite finie d’octets possédant un début et une fin.
Chaque fichier est désigné, en interne, par un numéro unique (inode).
Les types des fichiers sont :
Fichiers normaux (fichiers texte et binaire)
Répertoires
Fichiers spéciaux (devices interfaces avec des périphériques)
L’utilisation de la commande « ls -l » fait apparaître des informations importantes sur les fichiers.
Exemple : affichage suite à une commande ls
amir@ubuntu:~$ ls -l
total 4
-rwxrw-r-- 2 cesar users 1126 may 2 13:33 essai.txt
-rwxrw-r-- 1 cesar users 10255 june 5 15:02 scratch.bin
drwxr-xr-x 1 cesar users 1024 apr 28 05:35 mes_docs
lrwxrw-r-- 2 cesar users 1126 may 2 14:32 toto
Que représente le premier caractère du premier champ ? quels sont les caractères possibles de
ce champ ?
Que représente le deuxième champ ?
Remarque : la commande ls possède de nombreuses options d’affichage. Se reporter aux pages man et
info la concernant.
Utiliser la commande file pour connaitre le type de fichier.
4) Liens Matériels et Liens Symboliques
Rappeler la différence entre le lien symbolique et le lien physique ?
Pour créer un lien matériel (ou physique) on utilise la commande ln :
Syntaxe : ln <nom fichier> <nom lien>
Tester la commande ls –i et vérifier les numéros inode.
Supprimer monfichier et vérifier si le fichier existe toujours sous le nom monlien.
Modifier l’un et vérifier si l’autre est modifié ou non.
Pour créer un lien symbolique on utilise la commande ln avec l’option -s :
Syntaxe : ln -s <nom fichier> <nom lien>
Créer un lien symbolique sur dossier : ln -s ./dossier ./liendossier
Les liens symboliques sont affichés en couleur cyan au résultat de la commande ls.
Après un ls –l , le lien symbolique est affiché suivi d’une flèche vers le dossier pointé.
Tester la commande ls –i et vérifier les inodes.
Tester la commande ls –l et vérifier le nombre de liens qui pointent sur le fichier.
Tester la suppression, la copie et le déplacement du lien symbolique. Commenter ?
Lorsqu’on crée un lien symbolique, il faut utiliser des chemins complets.
Tester la commande : ls ./liendossier
Qu’est-ce qu’on obtient ?
On peut conclure que le shell interprète les chemins relatifs et il les transforme en chemins absolues avant de
créer le lien.
5) Compression et Décompression des Fichiers
La commande tar (tape archive ou archive sur bande) est très utile en terminal.
La commande tar permet d’archiver ou de désarchiver plusieurs fichiers dans un seul fichier. En utilisant tar
sur une suite de fichier, on obtient une archive de la même taille que la suite des fichiers.
On peut utiliser zip ou gzip qui sont des algorithmes de compression disponible sur Linux dans la ligne de
commande.
tar ne fait pas la compression par défaut. Mais elle peut intégrer la compression en ajoutant une option de
compression.
Options de tar :
-c créer une nouvelle archive
-z utiliser l’algorithme de compression gzip
-v pour avoir un résultat visuel juste après l’exécution de la commande
-f pour dire qu’on va utiliser un fichier (le nom de l’archive) dans lequel on va archiver les autres
fichiers.
Exemple : tar -czvf monarchive.tar.gz . (le point à la fin veut dire que l’archive sera créée à partir du
répertoire courant.)
Par convention, on ajoute une extension .tar.gz ou tgz pour dire qu’on a créé une archive qui est ensuite
compressée en gz. C’est un format de compression traditionnel de Linux.
Les archives compressées sont affichés en rouge lorsqu’on utilise la commande ls.
Pour voir le contenu de l’archive on utilise l’option -t à la place de -c et on remet les autres options.
Exemple : tar -tzvf monarchive.tar.gz
Pour extraire le contenu d’une archive (désarchivage et décompression), on utilise l’option –x, en conservant
l’arborescence des répertoires compressés.
Exemple : tar -xzvf monarchive.tar.gz
Créer une archive nommée « mesdocs » pour votre répertoire personnel.
Vérifier la taille de votre archive et comparer la avec la taille de votre répertoire personnel.
Créer un nouveau dossier nommé « extraction » dans lequel on va décompresser le contenu de
l’archive « mesdocs ».
Remarque :
Le tiret des options avec tar est optionnel : tar –czvf mesdocs.tar.gz tar czvf mesdocs.tar.gz
Expliquer la suite des deux commandes suivantes :
amir@ubuntu:~/Documents$ tar cvzf mesdocs.tar.gz *
amir@ubuntu:~/MyDoc$ tar xvzf ../Documents/mesdocs.tar.gz

Recommandé

Tp n 5 linux par
Tp n 5 linuxTp n 5 linux
Tp n 5 linuxAmir Souissi
1.1K vues4 diapositives
Manuel des TP : Atelier systèmes 2 par
Manuel des TP : Atelier systèmes 2Manuel des TP : Atelier systèmes 2
Manuel des TP : Atelier systèmes 2Faycel Chaoua
5.1K vues66 diapositives
Tp n 1 linux par
Tp n 1 linuxTp n 1 linux
Tp n 1 linuxAmir Souissi
1.9K vues7 diapositives
Tp n 4 linux par
Tp n 4 linuxTp n 4 linux
Tp n 4 linuxAmir Souissi
1.2K vues4 diapositives
Cours java par
Cours javaCours java
Cours javaZakaria Mouammin
5.4K vues343 diapositives
Commandes usuelle linux par
Commandes usuelle   linuxCommandes usuelle   linux
Commandes usuelle linuxFabrice Sonzahi
1.7K vues15 diapositives

Contenu connexe

Tendances

Corrige tp java par
Corrige tp javaCorrige tp java
Corrige tp javaMaya Medjdoub
13.7K vues102 diapositives
Windows server 2012 r2 par
Windows server 2012 r2Windows server 2012 r2
Windows server 2012 r2Ousmane BADJI
2.1K vues32 diapositives
BigData_TP1: Initiation à Hadoop et Map-Reduce par
BigData_TP1: Initiation à Hadoop et Map-ReduceBigData_TP1: Initiation à Hadoop et Map-Reduce
BigData_TP1: Initiation à Hadoop et Map-ReduceLilia Sfaxi
44.9K vues9 diapositives
Plateforme d’e learning par
Plateforme d’e learningPlateforme d’e learning
Plateforme d’e learningEl Aber Haythem
14.1K vues15 diapositives
Les règles de passage par
Les règles de passageLes règles de passage
Les règles de passagemarwa baich
4.7K vues25 diapositives
Notes de cours et tp - Administation Systèmes par
Notes de cours et tp  - Administation Systèmes Notes de cours et tp  - Administation Systèmes
Notes de cours et tp - Administation Systèmes Ikram Benabdelouahab
2K vues28 diapositives

Tendances(20)

BigData_TP1: Initiation à Hadoop et Map-Reduce par Lilia Sfaxi
BigData_TP1: Initiation à Hadoop et Map-ReduceBigData_TP1: Initiation à Hadoop et Map-Reduce
BigData_TP1: Initiation à Hadoop et Map-Reduce
Lilia Sfaxi44.9K vues
Les règles de passage par marwa baich
Les règles de passageLes règles de passage
Les règles de passage
marwa baich4.7K vues
TP1 Big Data - MapReduce par Amal Abid
TP1 Big Data - MapReduceTP1 Big Data - MapReduce
TP1 Big Data - MapReduce
Amal Abid4.4K vues
Chapitre 2 complexité par Sana Aroussi
Chapitre 2 complexitéChapitre 2 complexité
Chapitre 2 complexité
Sana Aroussi7.4K vues
Conception et Réalisation d’une application de Gestion SCOLAIRE par Ghizlane ALOZADE
Conception et Réalisation d’une application de Gestion SCOLAIREConception et Réalisation d’une application de Gestion SCOLAIRE
Conception et Réalisation d’une application de Gestion SCOLAIRE
Ghizlane ALOZADE39.1K vues
Support du cours : Systèmes d'exploitation 2 (linux) par Faycel Chaoua
Support du cours : Systèmes d'exploitation 2 (linux)Support du cours : Systèmes d'exploitation 2 (linux)
Support du cours : Systèmes d'exploitation 2 (linux)
Faycel Chaoua3K vues
Boutique en ligne par vangogue
Boutique en ligneBoutique en ligne
Boutique en ligne
vangogue458 vues
Présentation python par Sarah
Présentation pythonPrésentation python
Présentation python
Sarah 7.3K vues
Cours réseaux informatiques ia2 par Amel Morchdi
Cours réseaux informatiques  ia2Cours réseaux informatiques  ia2
Cours réseaux informatiques ia2
Amel Morchdi34.6K vues
Cours linux complet par aubin82
Cours linux completCours linux complet
Cours linux complet
aubin8222.7K vues
TD2 - UML - Correction par Lilia Sfaxi
TD2 - UML - CorrectionTD2 - UML - Correction
TD2 - UML - Correction
Lilia Sfaxi21.3K vues
applications-reparties par mourad50
applications-repartiesapplications-reparties
applications-reparties
mourad50743 vues

Similaire à Tp n 3 linux

Cours_Linux_S1_Partie 2.pptx par
Cours_Linux_S1_Partie 2.pptxCours_Linux_S1_Partie 2.pptx
Cours_Linux_S1_Partie 2.pptxKhalil BOUKRI
29 vues46 diapositives
Formation Linux - Initiation par
Formation Linux - InitiationFormation Linux - Initiation
Formation Linux - Initiationrobertpluss
5.8K vues95 diapositives
Cmd dos sous windows par
Cmd dos sous windowsCmd dos sous windows
Cmd dos sous windowsSelman Dridi
615 vues14 diapositives
Notions sur le commandes linux par
Notions sur le commandes linux Notions sur le commandes linux
Notions sur le commandes linux Emed Lesi
9 vues7 diapositives
les Commandes linux/Unix (giants networks) par
les Commandes linux/Unix (giants networks)les Commandes linux/Unix (giants networks)
les Commandes linux/Unix (giants networks)Souhaib El
4K vues8 diapositives
Manip fichier par
Manip fichierManip fichier
Manip fichierImane Bellali
1.3K vues21 diapositives

Similaire à Tp n 3 linux(20)

Formation Linux - Initiation par robertpluss
Formation Linux - InitiationFormation Linux - Initiation
Formation Linux - Initiation
robertpluss5.8K vues
Notions sur le commandes linux par Emed Lesi
Notions sur le commandes linux Notions sur le commandes linux
Notions sur le commandes linux
Emed Lesi9 vues
les Commandes linux/Unix (giants networks) par Souhaib El
les Commandes linux/Unix (giants networks)les Commandes linux/Unix (giants networks)
les Commandes linux/Unix (giants networks)
Souhaib El4K vues
Petit precis des_commandes_unix_utiles_a_ubuntu par El7fe Eternal
Petit precis des_commandes_unix_utiles_a_ubuntuPetit precis des_commandes_unix_utiles_a_ubuntu
Petit precis des_commandes_unix_utiles_a_ubuntu
El7fe Eternal2.3K vues
Cours système d’exploitation partie3 par manou2008
Cours système d’exploitation partie3Cours système d’exploitation partie3
Cours système d’exploitation partie3
manou20083.5K vues
ATELIER SYSTEME (1) FERCHICHI ABDELWAHEB par Ferjani Bassem
ATELIER SYSTEME (1) FERCHICHI ABDELWAHEBATELIER SYSTEME (1) FERCHICHI ABDELWAHEB
ATELIER SYSTEME (1) FERCHICHI ABDELWAHEB
Ferjani Bassem854 vues

Plus de Amir Souissi

Chap5 diagramme d'etats-transitions par
Chap5 diagramme d'etats-transitionsChap5 diagramme d'etats-transitions
Chap5 diagramme d'etats-transitionsAmir Souissi
3.1K vues20 diapositives
Chapitre 6 traitement des exceptions par
Chapitre 6  traitement des exceptionsChapitre 6  traitement des exceptions
Chapitre 6 traitement des exceptionsAmir Souissi
1.1K vues10 diapositives
Chapitre 5 classes abstraites et interfaces par
Chapitre 5  classes abstraites et interfacesChapitre 5  classes abstraites et interfaces
Chapitre 5 classes abstraites et interfacesAmir Souissi
2K vues9 diapositives
Chapitre 4 heritage et polymorphisme par
Chapitre 4 heritage et polymorphismeChapitre 4 heritage et polymorphisme
Chapitre 4 heritage et polymorphismeAmir Souissi
992 vues11 diapositives
Chapitre 3 elements de base de java par
Chapitre 3  elements de base de javaChapitre 3  elements de base de java
Chapitre 3 elements de base de javaAmir Souissi
636 vues12 diapositives
Chapitre 4 persistance des donnees par
Chapitre 4  persistance des donneesChapitre 4  persistance des donnees
Chapitre 4 persistance des donneesAmir Souissi
275 vues36 diapositives

Plus de Amir Souissi(18)

Chap5 diagramme d'etats-transitions par Amir Souissi
Chap5 diagramme d'etats-transitionsChap5 diagramme d'etats-transitions
Chap5 diagramme d'etats-transitions
Amir Souissi3.1K vues
Chapitre 6 traitement des exceptions par Amir Souissi
Chapitre 6  traitement des exceptionsChapitre 6  traitement des exceptions
Chapitre 6 traitement des exceptions
Amir Souissi1.1K vues
Chapitre 5 classes abstraites et interfaces par Amir Souissi
Chapitre 5  classes abstraites et interfacesChapitre 5  classes abstraites et interfaces
Chapitre 5 classes abstraites et interfaces
Amir Souissi2K vues
Chapitre 4 heritage et polymorphisme par Amir Souissi
Chapitre 4 heritage et polymorphismeChapitre 4 heritage et polymorphisme
Chapitre 4 heritage et polymorphisme
Amir Souissi992 vues
Chapitre 3 elements de base de java par Amir Souissi
Chapitre 3  elements de base de javaChapitre 3  elements de base de java
Chapitre 3 elements de base de java
Amir Souissi636 vues
Chapitre 4 persistance des donnees par Amir Souissi
Chapitre 4  persistance des donneesChapitre 4  persistance des donnees
Chapitre 4 persistance des donnees
Amir Souissi275 vues
Chapitre 3 activites et intents par Amir Souissi
Chapitre 3   activites et  intentsChapitre 3   activites et  intents
Chapitre 3 activites et intents
Amir Souissi295 vues
Chapitre 2 classe et objet par Amir Souissi
Chapitre 2   classe et objetChapitre 2   classe et objet
Chapitre 2 classe et objet
Amir Souissi974 vues
Chapitre 1 introduction generale par Amir Souissi
Chapitre 1   introduction generaleChapitre 1   introduction generale
Chapitre 1 introduction generale
Amir Souissi447 vues
Chapitre 2 elements graphiques android par Amir Souissi
Chapitre 2   elements graphiques androidChapitre 2   elements graphiques android
Chapitre 2 elements graphiques android
Amir Souissi141 vues
Chapitre 1 decouverte du developpement android par Amir Souissi
Chapitre 1  decouverte du developpement androidChapitre 1  decouverte du developpement android
Chapitre 1 decouverte du developpement android
Amir Souissi178 vues
diagramme de séquence UML par Amir Souissi
diagramme de séquence UMLdiagramme de séquence UML
diagramme de séquence UML
Amir Souissi21.4K vues
diagramme des cas d'utilisation par Amir Souissi
diagramme des cas d'utilisationdiagramme des cas d'utilisation
diagramme des cas d'utilisation
Amir Souissi7.3K vues
introduction à la modélisation objet par Amir Souissi
introduction à la modélisation objetintroduction à la modélisation objet
introduction à la modélisation objet
Amir Souissi2.6K vues

Tp n 3 linux

  • 1. Institut Supérieur des Etudes Technologiques de Jendouba Département Technologies de l’Informatique 2ème année Licence Appliquée Atelier Système 2 (Linux) Amir Souissi TP N° 3 La gestion des fichiers Objectifs • Comprendre l’organisation du système de fichier et savoir les notions de chemin relatif et chemin absolu, • Maitriser les commandes de manipulation et de gestion de contenu des fichiers et des répertoires, • Faire la différence entre les différents types de fichiers • Présenter et manipuler les liens symboliques et les liens physiques • Compression et décompression des fichiers. 1) Organisation du Système de Fichier La racine / du système de fichier contient tous les répertoires et sous répertoires du système. La racine est représentée par le signet « système de fichiers » sous Ubuntu. Le dossier /home est un sous dossier de la racine. Il contient les dossiers personnels de chaque utilisateur du système. Le nom du dossier personnel porte le même nom que celui de l’utilisateur déclaré. Le dossier d’un utilisateur est représenté par le signet « dossier personnel » sous Ubuntu. Les autres sous dossiers ont des significations particulières pour un système Linux comme Ubuntu. C’est une organisation qui varie selon la distribution Linux. Pour se déplacer dans l’arborescence du système, on utilise la commande cd en ligne de commande. cd /chemin/repertoire permet de se déplacer dans le répertoire désigné et de le transformer en répertoire actif. cd ~ permet de se placer dans le répertoire personnel. Ce dernier devient le répertoire actif. cd ~ est équivalent à …………………………………………………………… Quel est le rôle de la commande pwd ? Que fait la commande cd .. ? Naviguer dans l’arborescence du système puis rappeler le rôle des répertoires : /bin, /boot, /dev et /etc Le répertoire /etc contient les fichiers de configurations du système et des outils installés pour tous les utilisateurs du système. Comment trouver les fichiers de configurations propres à un seul utilisateur ? L’ajout d’un périphérique (cdrom, clé USB, …) au système Linux créera un nouveau répertoire inséré quelque part dans le système de fichier : On appelle le point d’insertion point de montage. L’emplacement d’un point de montage dans Linux dépend des distributions Linux. Monter un nouveau périphérique et déterminer le répertoire de son point de montage dans le système de fichier ?
  • 2. Chemin relatif et chemin absolu Il existe deux manières de référencer un fichier (ou un répertoire) sous Linux : Chemin absolu : description du chemin en partant de la racine / (root) quel que soit le répertoire courant. Chemin relatif : description du chemin depuis le répertoire courant (actif). Commence par un nom de fichier et non pas par un /. Quel est l’avantage de l’utilisation des références relatives par rapport aux références absolues ? Exercice A : (répertoire actif, chemins relatifs et chemins absolus) 1) A partir des prompts suivant, déterminer le chemin du dossier actif : amir@ubuntu:/etc/apt$ amir@ubuntu:~/dossier$ amir@ubuntu:/$ 2) Soit la ligne de commande suivante : amir@ubuntu:~/dossier$ mv /home/amir/doc.txt /home/amir/dossier/ a. Déduire ce que fait la commande mv ? b. A-t-on utilisé des chemins relatifs ou des chemins absolus ? c. Ecrire la commande d’une autre manière 3) Utiliser des chemins relatifs pour déplacer le fichier doc.txt se trouvant dans ~/dossier vers le répertoire parent. 4) Remettre doc.txt à sa place toujours en utilisant des chemins relatifs. La commande ls permet d’afficher le contenu d’un répertoire. ls . permet d’afficher le contenu du répertoire courant (ls ls .) ls ../ permet d’afficher le contenu du répertoire parent du répertoire courant. ls ../.. permet d’afficher le contenu du répertoire parent du répertoire parent du répertoire courant. Expliquer puis tester la ligne de commande suivante : amir@ubuntu:~dossier$ mv ./doc.txt ../../ali/dossier Comme sous MSDOS, par exemple, on pourra utiliser sous Linux un ensemble de caractères génériques : * zéro ou plusieurs caractères indéfinis ? un caractère quelconque [abc] un caractère parmi a,b,c [a-z] un caractère pris dans l’intervalle de a à z Exercice B : (commande ls et caractères génériques) 1) Lister tous les fichiers et répertoires contenus dans le répertoire de travail dont le nom commence par « a ». 2) Lister ceux dont le nom possède au moins trois caractères, commence par « a » et possède un « c » en troisième position. 3) Lister ceux qui possèdent un chiffre compris entre 1 et 5 (compris) en seconde position. 4) Lister tous les fichiers possédant exactement un nom de 4 caractères et commençant par « a ». 5) Lister tous les fichiers possédant exactement un nom de 4 caractères. 6) Lister les noms de fichiers constitués par exactement 4 chiffres.
  • 3. 2) Commandes de Manipulation des Fichiers et Répertoires Créer un fichier touch (fichier vide) ou éditeur quelconque. Renommer un fichier mv fichier1 fichier2 Déplacer un (des) fichier(s) mv fichier1 [fichier2 ..] répertoire Copier un fichier cp fichier1 fichier2 cp fichier1 [fichier2 ..] répertoire Détruire un fichier rm fichier1 [fichier2 ..] Attention : définitif ! Attention à rm –r ! Pour plus de précaution il serait souhaitable d’initialiser un alias rm = « rm -i » Visualiser un fichier less more cat (cat –n ; cat –b) Concaténer des fichiers cat Créer un répertoire mkdir répertoire Renommer un répertoire mv rep newrep Déplacer un répertoire mv rep newrep Détruire un répertoire rmdir dir Visualiser le contenu d’un fichier Visualiser le fichier /var/log/syslog par la commande cat Visualiser le par la commande less (avec barre d’espacement) Noter la différence entre cat et less Utiliser tail pour voir la fin du fichier syslog. Quelle est le nombre de ligne affiché par défaut ? Utiliser tail avec l’option –n30 ou -30 L’option –f de tail permet de voir en temps réel ce qui s’ajoute au fichier gardé ouvert. Comment reprendre la main au shell après un tail –f ? La commande sœur de tail est head. Tester-la. Visualiser la taille d’un fichier et d’un répertoire Utiliser la commande stat pour le fichier syslog. Quelles sont les informations du système de fichier concernant ce fichier que vous trouvez importantes ? Utiliser la commande wc et déterminer son rôle. Utiliser du (disc usage) pour montrer la taille d’un répertoire en nombre de blocs (Exp :du /var/log) L’option –b de du donne la taille d’un répertoire en nombre d’octets. L’option –h de du donne la taille mieux lisible par un humain (en kilo, en méga ou giga octets) Que fait la commande du -h -s ou du -hs ? La commande df permet de connaitre la taille de tous les systèmes de fichiers des périphériques attachés au système.
  • 4. La première colonne désigne le nom du périphérique Les 3 colonnes suivantes désignent respectivement la taille totale, la taille utilisée et la taille disponible. La cinquième colonne désigne le pourcentage d’utilisation La sixième colonne désigne le point de montage du périphérique Utiliser df avec les options -h et -H, puis déterminer la taille de la partition principale de votre système exprimée en giga octet. Exercice C : 1) Donner le chemin absolu de votre répertoire de travail. 2) Le répertoire /etc étant votre répertoire courant, donnez la commande permettant de transformer votre répertoire de travail personnel en répertoire courant. 3) Créez l’arborescence suivante dans votre répertoire de travail : Mon_répertoire Essais Documentation Travail En_cours Rendu 4) Créez un fichier non vide nommé « un.txt » dans le répertoire /Essais, à l’aide d’un éditeur de texte installé. 5) Créer un fichier nommé « deux.txt » dans le répertoire /Essais, à l’aide de la commande touch. 6) Éditez-le, à l’aide de emacs et placez-y quelques lignes de texte. 7) Déplacez le fichier « un.txt » dans /Documentation. 8) Dupliquez le fichier « un.txt » dans /En_cours. (il doit y avoir maintenant deux exemplaires de « un.txt » dans l’arborescence). 9) Renommez « /En_cours/un.txt » en « /En_cours/trois.txt » 10) Quelle commande permettrait de déplacer un fichier tout en le renommant. 11) Renommez le répertoire /Essais en /Brouillons. 12) Détruire le répertoire /Travail et tout ce qu’il contient. 13) Concaténez les deux fichiers « un.txt » et « deux.txt » pour obtenir un fichier nommé « total.txt ». Que sont devenus les deux fichiers de départ. 14) Donnez toutes les commandes permettant d’effectuer les actions décrites dans la section précédente (manipulation de fichier et répertoires), qui n’ont pas été complétés. 3) Les Types de Fichiers Un fichier est une suite finie d’octets possédant un début et une fin. Chaque fichier est désigné, en interne, par un numéro unique (inode). Les types des fichiers sont : Fichiers normaux (fichiers texte et binaire) Répertoires Fichiers spéciaux (devices interfaces avec des périphériques)
  • 5. L’utilisation de la commande « ls -l » fait apparaître des informations importantes sur les fichiers. Exemple : affichage suite à une commande ls amir@ubuntu:~$ ls -l total 4 -rwxrw-r-- 2 cesar users 1126 may 2 13:33 essai.txt -rwxrw-r-- 1 cesar users 10255 june 5 15:02 scratch.bin drwxr-xr-x 1 cesar users 1024 apr 28 05:35 mes_docs lrwxrw-r-- 2 cesar users 1126 may 2 14:32 toto Que représente le premier caractère du premier champ ? quels sont les caractères possibles de ce champ ? Que représente le deuxième champ ? Remarque : la commande ls possède de nombreuses options d’affichage. Se reporter aux pages man et info la concernant. Utiliser la commande file pour connaitre le type de fichier. 4) Liens Matériels et Liens Symboliques Rappeler la différence entre le lien symbolique et le lien physique ? Pour créer un lien matériel (ou physique) on utilise la commande ln : Syntaxe : ln <nom fichier> <nom lien> Tester la commande ls –i et vérifier les numéros inode. Supprimer monfichier et vérifier si le fichier existe toujours sous le nom monlien. Modifier l’un et vérifier si l’autre est modifié ou non. Pour créer un lien symbolique on utilise la commande ln avec l’option -s : Syntaxe : ln -s <nom fichier> <nom lien> Créer un lien symbolique sur dossier : ln -s ./dossier ./liendossier Les liens symboliques sont affichés en couleur cyan au résultat de la commande ls. Après un ls –l , le lien symbolique est affiché suivi d’une flèche vers le dossier pointé. Tester la commande ls –i et vérifier les inodes. Tester la commande ls –l et vérifier le nombre de liens qui pointent sur le fichier. Tester la suppression, la copie et le déplacement du lien symbolique. Commenter ? Lorsqu’on crée un lien symbolique, il faut utiliser des chemins complets. Tester la commande : ls ./liendossier Qu’est-ce qu’on obtient ? On peut conclure que le shell interprète les chemins relatifs et il les transforme en chemins absolues avant de créer le lien.
  • 6. 5) Compression et Décompression des Fichiers La commande tar (tape archive ou archive sur bande) est très utile en terminal. La commande tar permet d’archiver ou de désarchiver plusieurs fichiers dans un seul fichier. En utilisant tar sur une suite de fichier, on obtient une archive de la même taille que la suite des fichiers. On peut utiliser zip ou gzip qui sont des algorithmes de compression disponible sur Linux dans la ligne de commande. tar ne fait pas la compression par défaut. Mais elle peut intégrer la compression en ajoutant une option de compression. Options de tar : -c créer une nouvelle archive -z utiliser l’algorithme de compression gzip -v pour avoir un résultat visuel juste après l’exécution de la commande -f pour dire qu’on va utiliser un fichier (le nom de l’archive) dans lequel on va archiver les autres fichiers. Exemple : tar -czvf monarchive.tar.gz . (le point à la fin veut dire que l’archive sera créée à partir du répertoire courant.) Par convention, on ajoute une extension .tar.gz ou tgz pour dire qu’on a créé une archive qui est ensuite compressée en gz. C’est un format de compression traditionnel de Linux. Les archives compressées sont affichés en rouge lorsqu’on utilise la commande ls. Pour voir le contenu de l’archive on utilise l’option -t à la place de -c et on remet les autres options. Exemple : tar -tzvf monarchive.tar.gz Pour extraire le contenu d’une archive (désarchivage et décompression), on utilise l’option –x, en conservant l’arborescence des répertoires compressés. Exemple : tar -xzvf monarchive.tar.gz Créer une archive nommée « mesdocs » pour votre répertoire personnel. Vérifier la taille de votre archive et comparer la avec la taille de votre répertoire personnel. Créer un nouveau dossier nommé « extraction » dans lequel on va décompresser le contenu de l’archive « mesdocs ». Remarque : Le tiret des options avec tar est optionnel : tar –czvf mesdocs.tar.gz tar czvf mesdocs.tar.gz Expliquer la suite des deux commandes suivantes : amir@ubuntu:~/Documents$ tar cvzf mesdocs.tar.gz * amir@ubuntu:~/MyDoc$ tar xvzf ../Documents/mesdocs.tar.gz