SlideShare una empresa de Scribd logo
1 de 6
Descargar para leer sin conexión
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

Más contenido relacionado

La actualidad más candente

Cours python avancé
Cours python avancéCours python avancé
Cours python avancépierrepo
 
Rapport- Conception et réalisation d'une plateforme social learning
Rapport- Conception et réalisation d'une plateforme social learningRapport- Conception et réalisation d'une plateforme social learning
Rapport- Conception et réalisation d'une plateforme social learningRouâa Ben Hammouda
 
Algorithmique et Structures de Données II
Algorithmique et Structures de Données IIAlgorithmique et Structures de Données II
Algorithmique et Structures de Données IIRiadh Bouslimi
 
Examen principal- php - correction
Examen principal- php - correctionExamen principal- php - correction
Examen principal- php - correctionInes Ouaz
 
les systèmes d'exploitation.ppt
les systèmes d'exploitation.pptles systèmes d'exploitation.ppt
les systèmes d'exploitation.pptPROFPROF11
 
Systèmes d'Exploitation - chp1-introduction
Systèmes d'Exploitation - chp1-introductionSystèmes d'Exploitation - chp1-introduction
Systèmes d'Exploitation - chp1-introductionLilia Sfaxi
 
Systèmes d'Exploitation - chp2-gestion des processus
Systèmes d'Exploitation - chp2-gestion des processusSystèmes d'Exploitation - chp2-gestion des processus
Systèmes d'Exploitation - chp2-gestion des processusLilia Sfaxi
 
Windows server 2012 r2
Windows server 2012 r2Windows server 2012 r2
Windows server 2012 r2Ousmane BADJI
 
Android-Tp4: stockage
Android-Tp4: stockageAndroid-Tp4: stockage
Android-Tp4: stockageLilia Sfaxi
 
TP1 Big Data - MapReduce
TP1 Big Data - MapReduceTP1 Big Data - MapReduce
TP1 Big Data - MapReduceAmal Abid
 
Rapport de mini projet de programation web
Rapport de mini projet de programation webRapport de mini projet de programation web
Rapport de mini projet de programation webMOHAMMED MOURADI
 
Architectures 3-tiers (Web)
Architectures 3-tiers (Web)Architectures 3-tiers (Web)
Architectures 3-tiers (Web)Heithem Abbes
 
Cours linux complet
Cours linux completCours linux complet
Cours linux completaubin82
 
Support du cours : Programmation Web 2
Support du cours : Programmation Web 2Support du cours : Programmation Web 2
Support du cours : Programmation Web 2Faycel Chaoua
 
Systèmes d'Exploitation - chp3-gestion mémoire
Systèmes d'Exploitation - chp3-gestion mémoireSystèmes d'Exploitation - chp3-gestion mémoire
Systèmes d'Exploitation - chp3-gestion mémoireLilia Sfaxi
 
Chapitre 2 complexité
Chapitre 2 complexitéChapitre 2 complexité
Chapitre 2 complexitéSana Aroussi
 
Base de données distribuée
Base de données distribuéeBase de données distribuée
Base de données distribuéekamar MEDDAH
 
Conception et Réalisation Application Web Laravel PFE BTS
Conception et Réalisation Application Web Laravel PFE BTSConception et Réalisation Application Web Laravel PFE BTS
Conception et Réalisation Application Web Laravel PFE BTSFaissoilMkavavo
 

La actualidad más candente (20)

Cours python avancé
Cours python avancéCours python avancé
Cours python avancé
 
UML
UMLUML
UML
 
Rapport- Conception et réalisation d'une plateforme social learning
Rapport- Conception et réalisation d'une plateforme social learningRapport- Conception et réalisation d'une plateforme social learning
Rapport- Conception et réalisation d'une plateforme social learning
 
Algorithmique et Structures de Données II
Algorithmique et Structures de Données IIAlgorithmique et Structures de Données II
Algorithmique et Structures de Données II
 
Examen principal- php - correction
Examen principal- php - correctionExamen principal- php - correction
Examen principal- php - correction
 
les systèmes d'exploitation.ppt
les systèmes d'exploitation.pptles systèmes d'exploitation.ppt
les systèmes d'exploitation.ppt
 
Systèmes d'Exploitation - chp1-introduction
Systèmes d'Exploitation - chp1-introductionSystèmes d'Exploitation - chp1-introduction
Systèmes d'Exploitation - chp1-introduction
 
Systèmes d'Exploitation - chp2-gestion des processus
Systèmes d'Exploitation - chp2-gestion des processusSystèmes d'Exploitation - chp2-gestion des processus
Systèmes d'Exploitation - chp2-gestion des processus
 
Windows server 2012 r2
Windows server 2012 r2Windows server 2012 r2
Windows server 2012 r2
 
Android-Tp4: stockage
Android-Tp4: stockageAndroid-Tp4: stockage
Android-Tp4: stockage
 
TP1 Big Data - MapReduce
TP1 Big Data - MapReduceTP1 Big Data - MapReduce
TP1 Big Data - MapReduce
 
Rapport de mini projet de programation web
Rapport de mini projet de programation webRapport de mini projet de programation web
Rapport de mini projet de programation web
 
Architectures 3-tiers (Web)
Architectures 3-tiers (Web)Architectures 3-tiers (Web)
Architectures 3-tiers (Web)
 
Cours linux complet
Cours linux completCours linux complet
Cours linux complet
 
Support du cours : Programmation Web 2
Support du cours : Programmation Web 2Support du cours : Programmation Web 2
Support du cours : Programmation Web 2
 
Systèmes d'Exploitation - chp3-gestion mémoire
Systèmes d'Exploitation - chp3-gestion mémoireSystèmes d'Exploitation - chp3-gestion mémoire
Systèmes d'Exploitation - chp3-gestion mémoire
 
Chapitre 2 complexité
Chapitre 2 complexitéChapitre 2 complexité
Chapitre 2 complexité
 
Base de données distribuée
Base de données distribuéeBase de données distribuée
Base de données distribuée
 
Conception et Réalisation Application Web Laravel PFE BTS
Conception et Réalisation Application Web Laravel PFE BTSConception et Réalisation Application Web Laravel PFE BTS
Conception et Réalisation Application Web Laravel PFE BTS
 
Fascicule tp programmation c
Fascicule tp programmation cFascicule tp programmation c
Fascicule tp programmation c
 

Similar a Tp n 3 linux

Cours_Linux_S1_Partie 2.pptx
Cours_Linux_S1_Partie 2.pptxCours_Linux_S1_Partie 2.pptx
Cours_Linux_S1_Partie 2.pptxKhalil BOUKRI
 
Formation Linux - Initiation
Formation Linux - InitiationFormation Linux - Initiation
Formation Linux - Initiationrobertpluss
 
Cmd dos sous windows
Cmd dos sous windowsCmd dos sous windows
Cmd dos sous windowsSelman Dridi
 
Notions sur le commandes linux
Notions sur le commandes linux Notions sur le commandes linux
Notions sur le commandes linux ImnaTech
 
les Commandes linux/Unix (giants networks)
les Commandes linux/Unix (giants networks)les Commandes linux/Unix (giants networks)
les Commandes linux/Unix (giants networks)Souhaib El
 
Rapport des Travaux Pratiques UNIX
Rapport des Travaux Pratiques UNIXRapport des Travaux Pratiques UNIX
Rapport des Travaux Pratiques UNIXSoukaina Boujadi
 
Processus pére fils
Processus pére filsProcessus pére fils
Processus pére filsSelman Dridi
 
Notes de cours et tp - Administation Systèmes
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
 
Petit precis des_commandes_unix_utiles_a_ubuntu
Petit precis des_commandes_unix_utiles_a_ubuntuPetit precis des_commandes_unix_utiles_a_ubuntu
Petit precis des_commandes_unix_utiles_a_ubuntuEl7fe Eternal
 
Cours système d’exploitation partie3
Cours système d’exploitation partie3Cours système d’exploitation partie3
Cours système d’exploitation partie3manou2008
 
ATELIER SYSTEME (1) FERCHICHI ABDELWAHEB
ATELIER SYSTEME (1) FERCHICHI ABDELWAHEBATELIER SYSTEME (1) FERCHICHI ABDELWAHEB
ATELIER SYSTEME (1) FERCHICHI ABDELWAHEBFerjani Bassem
 

Similar a Tp n 3 linux (20)

Cours_Linux_S1_Partie 2.pptx
Cours_Linux_S1_Partie 2.pptxCours_Linux_S1_Partie 2.pptx
Cours_Linux_S1_Partie 2.pptx
 
Formation Linux - Initiation
Formation Linux - InitiationFormation Linux - Initiation
Formation Linux - Initiation
 
Cmd dos sous windows
Cmd dos sous windowsCmd dos sous windows
Cmd dos sous windows
 
Notions sur le commandes linux
Notions sur le commandes linux Notions sur le commandes linux
Notions sur le commandes linux
 
les Commandes linux/Unix (giants networks)
les Commandes linux/Unix (giants networks)les Commandes linux/Unix (giants networks)
les Commandes linux/Unix (giants networks)
 
Manip fichier
Manip fichierManip fichier
Manip fichier
 
s de base
s de bases de base
s de base
 
Rapport des Travaux Pratiques UNIX
Rapport des Travaux Pratiques UNIXRapport des Travaux Pratiques UNIX
Rapport des Travaux Pratiques UNIX
 
Commande linux
Commande linuxCommande linux
Commande linux
 
Processus pére fils
Processus pére filsProcessus pére fils
Processus pére fils
 
Notes de cours et tp - Administation Systèmes
Notes de cours et tp  - Administation Systèmes Notes de cours et tp  - Administation Systèmes
Notes de cours et tp - Administation Systèmes
 
Rar
RarRar
Rar
 
Petit precis des_commandes_unix_utiles_a_ubuntu
Petit precis des_commandes_unix_utiles_a_ubuntuPetit precis des_commandes_unix_utiles_a_ubuntu
Petit precis des_commandes_unix_utiles_a_ubuntu
 
Cours système d’exploitation partie3
Cours système d’exploitation partie3Cours système d’exploitation partie3
Cours système d’exploitation partie3
 
ATELIER SYSTEME (1) FERCHICHI ABDELWAHEB
ATELIER SYSTEME (1) FERCHICHI ABDELWAHEBATELIER SYSTEME (1) FERCHICHI ABDELWAHEB
ATELIER SYSTEME (1) FERCHICHI ABDELWAHEB
 
Chapitre 3 Linux
Chapitre 3 LinuxChapitre 3 Linux
Chapitre 3 Linux
 
cours-Linux.PPT
cours-Linux.PPTcours-Linux.PPT
cours-Linux.PPT
 
Chapitre_Shell.pdf
Chapitre_Shell.pdfChapitre_Shell.pdf
Chapitre_Shell.pdf
 
Ch1 p1
Ch1 p1Ch1 p1
Ch1 p1
 
Linux commandes
Linux commandesLinux commandes
Linux commandes
 

Más de Amir Souissi

Chap5 diagramme d'etats-transitions
Chap5 diagramme d'etats-transitionsChap5 diagramme d'etats-transitions
Chap5 diagramme d'etats-transitionsAmir Souissi
 
Chapitre 6 traitement des exceptions
Chapitre 6  traitement des exceptionsChapitre 6  traitement des exceptions
Chapitre 6 traitement des exceptionsAmir Souissi
 
Chapitre 5 classes abstraites et interfaces
Chapitre 5  classes abstraites et interfacesChapitre 5  classes abstraites et interfaces
Chapitre 5 classes abstraites et interfacesAmir Souissi
 
Chapitre 4 heritage et polymorphisme
Chapitre 4 heritage et polymorphismeChapitre 4 heritage et polymorphisme
Chapitre 4 heritage et polymorphismeAmir Souissi
 
Chapitre 3 elements de base de java
Chapitre 3  elements de base de javaChapitre 3  elements de base de java
Chapitre 3 elements de base de javaAmir Souissi
 
Chapitre 4 persistance des donnees
Chapitre 4  persistance des donneesChapitre 4  persistance des donnees
Chapitre 4 persistance des donneesAmir Souissi
 
Chapitre 3 activites et intents
Chapitre 3   activites et  intentsChapitre 3   activites et  intents
Chapitre 3 activites et intentsAmir Souissi
 
Chapitre 2 classe et objet
Chapitre 2   classe et objetChapitre 2   classe et objet
Chapitre 2 classe et objetAmir Souissi
 
Chapitre 1 introduction generale
Chapitre 1   introduction generaleChapitre 1   introduction generale
Chapitre 1 introduction generaleAmir Souissi
 
Chapitre 2 elements graphiques android
Chapitre 2   elements graphiques androidChapitre 2   elements graphiques android
Chapitre 2 elements graphiques androidAmir Souissi
 
Chapitre 1 decouverte du developpement android
Chapitre 1  decouverte du developpement androidChapitre 1  decouverte du developpement android
Chapitre 1 decouverte du developpement androidAmir Souissi
 
Atelier symfony n 3
Atelier symfony n 3Atelier symfony n 3
Atelier symfony n 3Amir Souissi
 
Atelier symfony n 2
Atelier symfony n 2Atelier symfony n 2
Atelier symfony n 2Amir Souissi
 
Atelier symfony n 1
Atelier symfony n 1Atelier symfony n 1
Atelier symfony n 1Amir Souissi
 
diagramme de séquence UML
diagramme de séquence UMLdiagramme de séquence UML
diagramme de séquence UMLAmir Souissi
 
diagramme de classe
diagramme de classediagramme de classe
diagramme de classeAmir Souissi
 
diagramme des cas d'utilisation
diagramme des cas d'utilisationdiagramme des cas d'utilisation
diagramme des cas d'utilisationAmir Souissi
 
introduction à la modélisation objet
introduction à la modélisation objetintroduction à la modélisation objet
introduction à la modélisation objetAmir Souissi
 

Más de Amir Souissi (18)

Chap5 diagramme d'etats-transitions
Chap5 diagramme d'etats-transitionsChap5 diagramme d'etats-transitions
Chap5 diagramme d'etats-transitions
 
Chapitre 6 traitement des exceptions
Chapitre 6  traitement des exceptionsChapitre 6  traitement des exceptions
Chapitre 6 traitement des exceptions
 
Chapitre 5 classes abstraites et interfaces
Chapitre 5  classes abstraites et interfacesChapitre 5  classes abstraites et interfaces
Chapitre 5 classes abstraites et interfaces
 
Chapitre 4 heritage et polymorphisme
Chapitre 4 heritage et polymorphismeChapitre 4 heritage et polymorphisme
Chapitre 4 heritage et polymorphisme
 
Chapitre 3 elements de base de java
Chapitre 3  elements de base de javaChapitre 3  elements de base de java
Chapitre 3 elements de base de java
 
Chapitre 4 persistance des donnees
Chapitre 4  persistance des donneesChapitre 4  persistance des donnees
Chapitre 4 persistance des donnees
 
Chapitre 3 activites et intents
Chapitre 3   activites et  intentsChapitre 3   activites et  intents
Chapitre 3 activites et intents
 
Chapitre 2 classe et objet
Chapitre 2   classe et objetChapitre 2   classe et objet
Chapitre 2 classe et objet
 
Chapitre 1 introduction generale
Chapitre 1   introduction generaleChapitre 1   introduction generale
Chapitre 1 introduction generale
 
Chapitre 2 elements graphiques android
Chapitre 2   elements graphiques androidChapitre 2   elements graphiques android
Chapitre 2 elements graphiques android
 
Chapitre 1 decouverte du developpement android
Chapitre 1  decouverte du developpement androidChapitre 1  decouverte du developpement android
Chapitre 1 decouverte du developpement android
 
Atelier symfony n 3
Atelier symfony n 3Atelier symfony n 3
Atelier symfony n 3
 
Atelier symfony n 2
Atelier symfony n 2Atelier symfony n 2
Atelier symfony n 2
 
Atelier symfony n 1
Atelier symfony n 1Atelier symfony n 1
Atelier symfony n 1
 
diagramme de séquence UML
diagramme de séquence UMLdiagramme de séquence UML
diagramme de séquence UML
 
diagramme de classe
diagramme de classediagramme de classe
diagramme de classe
 
diagramme des cas d'utilisation
diagramme des cas d'utilisationdiagramme des cas d'utilisation
diagramme des cas d'utilisation
 
introduction à la modélisation objet
introduction à la modélisation objetintroduction à la modélisation objet
introduction à la modélisation objet
 

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