Introduction
Bienvenue dans le laboratoire sur les opérations de base sur les fichiers sous Linux ! Sous Linux, presque tout est traité comme un fichier, ce qui rend les opérations sur les fichiers fondamentales pour l'utilisation du système. Ce laboratoire vous guidera à travers les commandes les plus courantes pour gérer les fichiers et les répertoires, vous aidant ainsi à devenir plus efficace dans la navigation et l'organisation de votre système Linux.
Comprendre votre environnement de travail
Sous Linux, chaque utilisateur possède généralement un « répertoire personnel » (home directory), représenté par ~. Cependant, dans cet environnement de laboratoire, nous commencerons dans le répertoire /home/labex/project, qui est notre répertoire de travail par défaut.
Tout d'abord, veuillez ouvrir un terminal sur le bureau OU basculer vers l'onglet du terminal dans l'environnement du laboratoire.

Commençons par comprendre notre emplacement actuel :
pwd
pwd signifie « print working directory » (afficher le répertoire de travail). Il affiche votre emplacement actuel dans le système de fichiers. Cette commande est cruciale pour vous orienter dans la structure des fichiers Linux. Vous devriez voir /home/labex/project comme résultat.
Maintenant, explorons la relation entre le répertoire actuel et le répertoire personnel :
echo ~
Remarque : Si vous ne pouvez pas taper le symbole
~dans le terminal du bureau en raison de différences de disposition du clavier dans certains pays, vous pouvez essayer de basculer vers l'onglet Terminal autonome dans le coin supérieur gauche de l'interface de la machine virtuelle.
Cette commande affichera le chemin vers votre répertoire personnel, qui devrait être /home/labex.
Pour voir le contenu de votre répertoire actuel, utilisez :
ls
Cela listera les fichiers et les répertoires dans votre répertoire de travail actuel (/home/labex/project).
Vérifions également le contenu de votre répertoire personnel :
ls ~
Cette commande liste le contenu de votre répertoire personnel, qui peut être différent de votre répertoire de travail actuel.
Comprendre la distinction entre votre répertoire de travail actuel et votre répertoire personnel est important pour naviguer efficacement dans le système de fichiers Linux.
Naviguer dans le système de fichiers
Linux utilise ce que nous appelons un « système de fichiers hiérarchique ». Imaginez-le comme un grand arbre avec des branches. Le tronc principal est appelé le « répertoire racine » (root directory), représenté par une simple barre oblique /. Tous les autres répertoires et fichiers se ramifient à partir de cette racine.
Explorons comment se déplacer dans cette structure arborescente :
- Vérifiez votre emplacement actuel :
pwd
Cela devrait afficher /home/labex/project. Si ce n'est pas le cas, vous êtes peut-être dans un répertoire différent. Utilisez cd /home/labex/project pour revenir au point de départ.
- Affichez le contenu de votre répertoire actuel :
ls
Cela liste tous les fichiers et dossiers à votre emplacement actuel. /home/labex/project est vide, vous ne verrez donc rien.
- Remontez d'un niveau vers le répertoire parent :
cd ..
.. signifie « le répertoire au-dessus ». Après cette commande, faites à nouveau pwd. Vous devriez maintenant être dans /home/labex.
- Retournez dans votre répertoire de projet :
cd project
Cela vous ramène à /home/labex/project.
- Allez dans votre répertoire personnel :
cd ~
Le ~ est un raccourci pour votre répertoire personnel. Faites pwd pour confirmer que vous êtes dans /home/labex.
- Retournez dans le répertoire du projet en utilisant un chemin absolu :
cd /home/labex/project
Ceci est appelé un « chemin absolu » car il commence à partir de la racine (/) et donne l'emplacement complet.
Créer des fichiers et lister le contenu d'un répertoire
Maintenant que nous savons comment naviguer, créons quelques fichiers et explorons comment lister le contenu d'un répertoire.
Tout d'abord, assurez-vous d'être dans le répertoire /home/labex/project :
cd /home/labex/project
- Créons quelques fichiers :
touch file1.txt
La commande touch est utilisée pour créer un fichier vide. Si le fichier existe déjà, elle met à jour l'horodatage du fichier sans modifier son contenu. C'est un moyen simple de créer de nouveaux fichiers vides.
echo "Hello, Linux" > file2.txt
Cette commande fait deux choses :
echoest une commande qui affiche du texte.- Le symbole
>redirige la sortie deechovers un fichier nomméfile2.txt. Si le fichier n'existe pas, il est créé. S'il existe, son contenu est remplacé.
echo "Hidden file" > .hiddenfile
Ceci crée un fichier caché. Sous Linux, tout nom de fichier ou de répertoire commençant par un point (.) est considéré comme caché.
- Maintenant, créons un répertoire :
mkdir testdir
La commande mkdir (abréviation de « make directory ») crée un nouveau répertoire nommé testdir.
- Liste de base :
ls

Cela affiche le contenu de votre répertoire actuel. Vous devriez voir file1.txt, file2.txt et testdir.
- Liste détaillée :
ls -l
L'option -l (c'est un L minuscule, pas le chiffre 1) fournit une liste au format « long ». Vous verrez des détails supplémentaires comme les permissions du fichier, le propriétaire, la taille et la date de modification.
- Afficher les fichiers cachés :
ls -a
Cela affichera tous les fichiers, y compris le fichier caché .hiddenfile que nous avons créé.
- Combiner les options :
ls -la
Cela combine le format long (-l) avec l'affichage de tous les fichiers (-a).
- Lister le contenu d'un répertoire spécifique :
ls -l testdir
Cela liste le contenu du répertoire testdir (qui devrait être vide à ce stade).
Les commandes de liste de cette étape sont destinées à la pratique pratique et à la confirmation visuelle. Votre progression est évaluée en vérifiant que les fichiers et le répertoire requis ont été créés correctement.
Copier des fichiers et des répertoires
Maintenant que nous avons des fichiers avec lesquels travailler, apprenons à les copier :
- Copier un fichier :
cp file1.txt file1_copy.txt
Cela crée une copie de file1.txt nommée file1_copy.txt dans le répertoire actuel.
Vérifions la copie :
ls
- Copier un fichier vers un autre répertoire :
cp file2.txt testdir/
Cela copie file2.txt dans le répertoire testdir.
- Copier un répertoire :
cp -r testdir testdir_copy
L'option -r signifie « récursif ». Elle est nécessaire lors de la copie de répertoires pour s'assurer que tout le contenu est copié.
- Vérifions nos copies :
ls
ls testdir
ls testdir_copy

Déplacer et renommer des fichiers et des répertoires
La commande mv est utilisée à la fois pour déplacer et renommer sous Linux :
- Renommer un fichier :
mv file1.txt newname.txt
Cela renomme file1.txt en newname.txt.
- Déplacer un fichier vers un répertoire :
mv newname.txt testdir/
Cela déplace newname.txt dans le répertoire testdir.
- Renommer un répertoire :
mv testdir_copy new_testdir
Cela renomme testdir_copy en new_testdir.
- Déplacer et renommer en une seule commande :
mv testdir/newname.txt ./original_file1.txt
Cela déplace newname.txt hors de testdir et le renomme en original_file1.txt dans le répertoire actuel.
- Vérifions nos changements :
ls
ls testdir

Supprimer des fichiers et des répertoires
La suppression de fichiers et de répertoires est une opération puissante. Contrairement aux interfaces graphiques, la ligne de commande n'a souvent pas de « Corbeille ». Les suppressions effectuées avec rm sont généralement permanentes. Vérifiez toujours vos commandes avant de les exécuter !
Nettoyons les fichiers et les répertoires que nous avons créés. Assurez-vous d'être dans le répertoire /home/labex/project.
pwd
ls -a
Vous devriez voir des fichiers comme original_file1.txt, .hiddenfile, file2.txt et des répertoires comme testdir, new_testdir.
-rw-rw-r-- 1 labex labex 12 May 3 08:44 .hiddenfile
-rw-rw-r-- 1 labex labex 0 May 3 08:45 file1_copy.txt
-rw-rw-r-- 1 labex labex 13 May 3 08:44 file2.txt
drwxrwxr-x 2 labex labex 23 May 3 08:45 new_testdir
-rw-rw-r-- 1 labex labex 0 May 3 08:44 original_file1.txt
drwxrwxr-x 2 labex labex 23 May 3 08:45 testdir
Supprimer un seul fichier :
rm original_file1.txtLa commande
rm(abréviation de « remove ») supprime les fichiers. Vérifions :lsoriginal_file1.txtdevrait avoir disparu.Supprimer de manière interactive (plus sûr) :
Essayons de supprimer
file2.txt, mais cette fois en utilisant l'indicateur interactif-i:rm -i file2.txtL'option
-ivous demande une confirmation avant de supprimer chaque fichier. Tapezy(pour yes) et appuyez sur Entrée pour confirmer la suppression. Si vous tapeznou toute autre chose, le fichier ne sera pas supprimé.lsSi vous avez confirmé,
file2.txtaura disparu.Supprimer un répertoire vide :
Vous vous souvenez du
new_testdirque nous avons créé en renommanttestdir_copy? Vérifions s'il est vide :ls new_testdirS'il est vide (n'affiche aucun fichier), nous pouvons le supprimer en utilisant
rmdir:rmdir new_testdirrmdir(remove directory) ne fonctionne que sur les répertoires vides.lsnew_testdirne peut pas être supprimé car il n'est pas vide.Tenter de supprimer un répertoire non vide :
Maintenant, essayons
rmdirsurtestdir, qui contient toujoursfile2.txt(copié à l'étape 4) :ls testdir rmdir testdirVous verrez probablement un message d'erreur comme
rmdir: failed to remove 'testdir': Directory not empty. C'est normal carrmdirne peut pas supprimer des répertoires qui contiennent des fichiers ou d'autres répertoires.Supprimer un répertoire et son contenu (récursivement) :
Pour supprimer un répertoire qui n'est pas vide, nous devons utiliser
rmavec l'option-r(récursive) :rm -r testdirCette commande supprime le répertoire
testdiret tout ce qu'il contient. Utilisez cette commande avec prudence.lstestdirdevrait maintenant avoir disparu.Suppression forcée (à utiliser avec une extrême prudence) :
Parfois, vous voudrez peut-être supprimer des fichiers sans y être invité, même s'ils sont protégés en écriture (bien que nous n'en ayons pas ici). L'option
-f(force) le permet.Supprimons notre fichier caché :
rm .hiddenfile ls -aMaintenant, combinons
-ret-f. La commanderm -rfest extrêmement puissante et potentiellement dangereuse. Elle supprime les répertoires de manière récursive (-r) et force la suppression sans demander de confirmation (-f).!!! ZONE DE DANGER !!! Soyez ABSOLUMENT SÛR de savoir ce que vous supprimez avant d'exécuter
rm -rf. Une petite erreur de frappe pourrait supprimer des fichiers système critiques ou vos données personnelles. Il n'y a pas d'annulation possible. Par exemple,rm -rf /pourrait tenter de supprimer tout votre système (si vous avez les autorisations). Vérifiez toujours le chemin.Créons un répertoire et un fichier temporaires pour démontrer (en toute sécurité) :
mkdir temp_dir touch temp_dir/temp_file.txt ls -R temp_dirRemarque : Vous remarquerez peut-être que nous avons utilisé
-R(majuscule) aveclsau lieu de-r(minuscule) comme nous l'avons fait aveccpetrm. Ce n'est pas juste une différence de casse - ce sont des options complètement différentes ! Pourls,-Rsignifie « liste récursive » (lister les sous-répertoires), tandis que-rsignifie « ordre de tri inversé ». Pourcpetrm, l'option récursive est-r(minuscule). Consultez toujours le manuel (man command) pour comprendre les options spécifiques de chaque commande.Maintenant, supprimons-le de force :
rm -rf temp_dirVérifiez la suppression :
lstemp_dirdevrait avoir disparu.
N'oubliez pas : dans la ligne de commande Linux, les fichiers supprimés sont généralement perdus pour toujours. Utilisez rm avec précaution !
Résumé
Félicitations ! Vous avez appris les opérations essentielles sur les fichiers sous Linux :
- Naviguer dans le système de fichiers avec
cdetpwd - Créer des fichiers et des répertoires avec
touchetmkdir - Lister le contenu avec
lset ses options - Copier des fichiers et des répertoires avec
cp - Déplacer et renommer avec
mv - Supprimer des fichiers et des répertoires avec
rmetrmdir
Ces commandes constituent la base de la gestion des fichiers sous Linux. Avec de la pratique, vous deviendrez compétent dans la gestion de vos fichiers et répertoires à partir de la ligne de commande.
N'oubliez pas d'utiliser ces commandes avec précaution, en particulier rm, car elle supprime définitivement les fichiers et les répertoires sans possibilité de récupération.
Alors que vous poursuivez votre aventure Linux, explorez les pages de manuel (par exemple, man ls) pour en savoir plus sur chaque commande et ses options. Bonne exploration !



