Gestion des dossiers et des fichiers sous Linux
| Site: | Le labo numérique de M. MIGNOTTE – Cours, projets et ressources pour les élèves de seconde SNT et STI2D |
| Course: | Réseaux informatique (niveau 2) |
| Book: | Gestion des dossiers et des fichiers sous Linux |
| Printed by: | Guest user |
| Date: | Thursday, 30 October 2025, 9:39 AM |
Introduction
La gestion des fichiers sous Linux est la base de l'apprentissage de la ligne de commande. Il existe énormément de documentation concernant ce sujet. Je ne vais pas en écrire une nouvelle, mais seulement vous présenter l'essentiel. Voici un lien vers une bonne documentation pour les débutants sur le site Openclassroom (La partie 2 de ce cours est consacrée aux fichiers).
Pour réaliser la suite de ce TP, vous allez créer un clone lié du master Ubuntu qui vous appellerez "TP 2 Ubuntu".
Lancez-là et connectez-vous en tant que "user". Vous devriez obtenir l'écran suivant :

Quelques commandes
Introduction
Ce qui suit est un complément de cette présentation. N'hésitez pas à la consulter.
Vous êtes habitué à manipuler des dossiers et des fichiers grâce à une interface graphique. Mon objectif est de vous apprendre à faire la même chose en ligne de commande. Ici pas de souris, vous ne disposez que d'un clavier. Les débuts sont en général douloureux, mais au final vous vous apercevrez que l'on peut aller aussi vite (voire plus) avec un clavier qu'avec une souris. De plus, vous pourrez faire des manipulations impossibles à réaliser avec une interface graphique.
Les tâches les plus courantes sont :
-
- Lister le contenu d'un dossier (avec ses options).
- Se déplacer d'un dossier à un autre (chemin absolu ou relatif).
- Créer, renommer, copier, déplacer et supprimer des dossiers.
- Lire et modifier le contenu d'un fichier.
- Créer, renommer, copier, déplacer et supprimer des fichiers.
A chaque tâche correspond une ou plusieurs commandes avec éventuellement des options !
La seule solution pour s'en sortir est de pratiquer jusqu'à acquérir des réflexes.
Premières commandes
Voici une commande qui n'a rien à voir avec les fichiers mais que vous allez trouver très utile. Elle permet d'effacer le contenu de l'écran (et ainsi cacher le résultat visuel de vos dernières commandes).
user@ubuntu:~$ clear
Où suis-je ? Dans mon répertoire personnel. C'est le ~ qui me l'indique.
Oui mais il est où mon répertoire personnel ?
user@ubuntu:~$ pwd
/home/user
pwd a déjà été vu.
Remarques :
-
- La racine de l'arborescence Linux s'appelle '/'. C'est l'équivalent du 'C:\' sous Windows.
- Tous les utilisateurs (sauf root) ont un dossier personnel dans le dossier '/home' (sous Linux, on écrit toujours le chemin absolu). C'est l'équivalent de 'C:\Users'sous Windows.
- Le dossier personnel porte le nom de l'utilisateur ici '/home/user'. C'est l'équivalent de 'C:\Users\user' sous Windows.
- Sous Linux (et MacOS), le séparateur de dossier est le slash '/' alors que sous Windows c'est l'antislash '\'.
Que contient mon dossier personnel ?
user@ubuntu:~$ ls
C'est vide est-ce normal ? Oui car vous n'avez pas encore de fichiers personnels.
N'y-a-t-il pas des fichiers cachés comme avec Windows ? Oui, mais il faut demander à les afficher comme sous Windows.
Quelle commande saisir pour cela ? C'est la même commande mais avec une option.
Comment connaître rapidement la liste des options d'une commande ? Grâce à l'aide en ligne ! (pas besoin d'aller sur Internet pour si peu).
user@ubuntu:~$ man ls
Mais cette aide est en anglais ! Comment l'avoir en français ?
user@ubuntu:~$ apt-get install manpages-fr*
Remarques :
-
- apt-get (déjà vu) est l'utilitaire des gestion des paquets Ubuntu.
- apt-get install est l'option qui installe un paquet.
- manpages-fr* tous les paquets contenant de l'aide en français (* est un jocker que nous verrons plus bas).
La commande précédente retourne une erreur pourquoi ?
Vous n'avez pas les privilèges (les droits) en tant que simple utilisateur pour installer un paquet.
Solutions :
Soit vous vous déconnectez et vous vous reconnectez en root avant de relancer la commande, soit vous demandez les droits du superutilisateur (root) juste pour exécuter cette commande (solution plus rapide et qu'on a déjà vue).
user@ubuntu:~$ sudo apt-get install manpages-fr*
Et maintenant quelle est la bonne option sachant que les fichiers cachés sous Linux commencent pas un point '.' ?
Remarque sur l'aide en ligne :
-
- Pour naviguer dans l'aide : 'espace' avance d'une page, 'Entrée' avance d'une ligne, 'flèche haut' remonte d'une ligne, 'flèche bas' descend d'une ligne.
- Pour rechercher un mot dans l'aide : '/mot' puis 'Entrée'. Pour trouver la prochaine occurrence du mot vers le bas 'n' et vers le haut 'u'.
A quoi servent tous ces fichiers cachés ? La plupart sont des scripts (comme du JavaScript ou du php mais en langage shell, très proche du php). Ils sont exécutés soit à la connexion soit à la déconnexion des utilisateurs. Les autres sont des mouchards !
Comment voir leur contenu ?
Plusieurs solutions, la plus simple est d'utiliser la commande 'cat' (catalogue, ou contenu de )
user@ubuntu:~$ cat .bash_history
C'est un mouchard qui contient toutes les commandes que vous avez déjà saisies avant votre dernière déconnexion.
Son rôle est également de vous faciliter la vie :
-
- Vous pouvez rappeler les commandes déjà saisies avec la flèche du haut (comme dans Packet Tracer).
- Vous pouvez afficher directement toutes les commandes déjà saisies (même depuis la dernière connexion) avec la commande history (à tester)
-
Vous pouvez aussi rechercher une commande dans l'historique avec 'CTRL+R' (à tester).
Commandes pour les dossiers
Créer un dossier
Créer le dossier "images"
user@ubuntu:~$ mkdir images
Afficher de nouveau le contenu du dossier courant.
Le dossier apparait en bleu, pourquoi ? C'est pour indiquer que c'est un dossier et pas un fichier. Sous Linux les fichiers et les dossiers peuvent avoir des noms semblables, ce n'est pas comme avec Windows ou les fichiers doivent avoir un extension, de plus il n'y a pas d'icônes affichées à côté de chaque fichier ou dossier.
N'y a-t-il pas un autre moyen de les différencier ? Oui en demandant un affichage long (ou détaillé) du contenu du dossier (comme avec Windows).
user@ubuntu:~$ ls -al
Remarque : on peut combiner deux options, ici 'a' et 'l'
Les droits des dossiers commencent par un "d" alors que les droits des fichiers commencent par un "-". On reviendra sur les droits plus loin.
Changer de dossier
Se déplacer dans le dossier images
user@ubuntu:~$ cd images
user@ubuntu:~/images$
Si vous utilisez l'autocomplétion (touche de tabulation), le nom du dossier sera complété par un '/'. Ce slash final n'est pas obligatoire si vous saisissez vous même la commande. Les deux commandes suivantes sont donc équivalentes :
user@ubuntu:~$ cd images
user@ubuntu:~images$
user@ubuntu:~$ cd images/
user@ubuntu:~images$
Remarquez le changement du contenu du prompt (~images).
Comment revenir au répertoire juste au dessus ?
user@ubuntu:~/images$ cd ..
Sous Linux ".." signifie dossier parent.
Astuce : la commande cd sans option permet de retourner directement dans le répertoire de connexion de l'utilisateur. C'est l'équivalent de la commande cd ~
Renommer un dossier
Renommer le dossier "images" en "photos"
user@ubuntu:~$ mv images photos
Remarque : cette commande sert également à déplacer (voir plus bas)
Copier un dossier
Faire une copie du dossier photos que vous nommerez archives
user@ubuntu:~$ cp -r photos archives
Attention, l'option -r (récursif) est obligatoire pour un dossier car un dossier peut contenir des fichiers et/ou des sous-dossiers.
Déplacer un dossier
Déplacer le dossier archives dans photos
user@ubuntu:~$ mv archives photos
On retrouve ici la commande vue plus haut. Finalement déplacer et renommer c'est un peu la même chose. Quand on renomme, on déplace sous un autre nom !
Astuce : la commande mv fonctionne avec une source et une destination (mv source destination). Si la destination est le répertoire dans lequel vous vous trouvez (on parle de répertoire courant), il existe un raccourci qui se nomme '.'. Ainsi la commande :
mv photos/archives .
Déplacera le dossier archives du répertoire photos vers le répertoire courant.
Supprimer un dossier
Supprimer le dossier archives puis le dossier photos
user@ubuntu:~$ rmdir photos/archives
user@ubuntu:~$ rmdir photos
Remarques :
-
- Cette commande ne fonctionne qu'avec des répertoires vides.
- L'aide en lige de rmdir nous apprend qu'il est possible de supprimer en une fois un fils et son père. Comment ? Faîtes le test.
Exercice sur les dossiers
Objectif
Manipuler des dossiers encore et encore...
Énoncé
Reproduire l'arborescence suivante :

Remarque : les captures d'écran sont obtenues à l'aide de la commande 'tree' qu'il faut préalablement installer 'apt-get install tree'
Le dossier user représente votre dossier. Pour obtenir cette copie d'écran vous devez vous positionnez dans le répertoire /home.
Attention : il faut retourner dans votre répertoire user avant de créer les sous-dossiers.
Créer le dossier semestre1 et y déplacer les dossiers qui commencent par m1 en une seule commande. Pour cela il faut utiliser des jockers (rapide présentation ici).
Faire de même pour les dossiers semestre2, semestre3 et semestre4. Vous devez obtenir cette arborescence :

Créer un dossier ue2 et y déplacer tous les dossiers (en une seule commande) pour obtenir :

Depuis le répertoire de connexion, créer les dossiers ue2/mmi1 et ue2/mmi2 et y déplacer les semestres concernés pour obtenir :

Plus difficile : déplacez en une seule commande tous les dossiers qui commencent par m pour les placer à la racine du dossier user.

Supprimer en une commande tous les dossiers qui commencent par m.
Supprimer en une commande le dossier ue2 (attention rmdir ne fonctionne plus il faut trouver une autre commande).
Commandes pour les fichiers
Consultez cette partie du cours d'Openclassroom avant de continuer.
A l'issue de cette lecture vous devriez pouvoir répondre à ces questions :
- Différence entre cat et less ? Quelle touche pour demander de l'aide avec less ?
- Comment afficher les X premières lignes d'un fichier ?
- Comment afficher les Y dernières lignes d'un fichier ?
- Comment créer un fichier vide en ligne de commande ?
- Comment supprimer un fichier ?
- Comment créer un lien symbolique ?
Exercice sur les fichiers
Objectif
Créer une arborescence de tp et y copier des fichiers.

Première version
-
- Créer les dossiers un par un.
- Créer les deux fichiers vides index.html et style.css dans le dossier de user.
- Copier ces fichiers dans les bons sous-dossiers.
- supprimer en une seule instruction tous les tp.
Seconde version
Comment faire pour éviter la répétition d'une même commande en ne changeant que le numéro de tp ? Essayez avec les jocker.
Pour créer en une seule ligne de commande des dossiers avec un indice qui augmente de une en un, if faut utiliser {1..n} à la place de l'indice.
-
- Créer en une seule commande tp1 à tp9 (pourquoi s'arrêter à 4 quand on peut faire plus).
- Faire de même pour les sous dossiers css et html mais le tout en une seule commande (pas deux).
Pour copier en une seule fois un même fichier dans plusieurs endroits, il faut utiliser une boucle.
Essayez cette ligne :
user@ubuntu:~$ for i in *; do echo $i; done
Quel résultat ? Le echo peut être remplacé par un cp, mais il faut trouver un moyen de ne garder que les dossiers pas les fichier pour $i. Qu'est-ce qui peut faire la différence entre un fichier et un dossier ?