Linux sans magie #3 — Fichiers et répertoires : créer, copier, déplacer et supprimer sans faire de bêtise
Apprendre à manipuler fichiers et répertoires sous Linux avec mkdir, touch, cp, mv et rm dans un lab isolé, avec vérifications et erreurs contrôlées.
Dans l’article précédent, nous avons appris à nous repérer dans Linux avec pwd, ls et cd.
Maintenant que nous savons où nous sommes, nous pouvons commencer à agir.
Créer un fichier. Créer un répertoire. Copier. Déplacer. Renommer. Supprimer.
Ce sont des opérations simples, mais ce sont aussi les premières commandes avec lesquelles on peut vraiment faire une erreur.
L’objectif de cet article n’est donc pas seulement d’apprendre touch, mkdir, cp, mv et rm.
Nous allons surtout apprendre une méthode :
observer → agir → vérifier
Et nous allons tout faire dans un petit espace de test isolé.
Objectif
À la fin de cet article, vous saurez :
- créer un répertoire ;
- créer un fichier vide ;
- copier un fichier ;
- renommer un fichier ;
- déplacer un fichier ;
- supprimer un fichier ;
- supprimer un répertoire ;
- reconnaître certaines erreurs courantes ;
- vérifier systématiquement le résultat de vos commandes.
Et surtout, vous commencerez à comprendre pourquoi Linux peut être très efficace sans être dangereux… à condition de savoir où vous êtes et ce que vous ciblez.
Lab — Préparer un terrain de jeu
Nous allons travailler dans votre répertoire personnel.
Commencez par revenir chez vous :
cd
Vérifiez votre position :
pwd
Vous devriez obtenir quelque chose comme :
/home/alex
Créons maintenant un répertoire réservé à notre lab :
mkdir linux-sans-magie-lab
Puis entrons dedans :
cd linux-sans-magie-lab
Vérifiez :
pwd
Vous devriez maintenant être dans un chemin ressemblant à :
/home/alex/linux-sans-magie-lab
Enfin :
ls
Le répertoire devrait être vide.
Nous pouvons travailler ici sans toucher au reste de votre système.
Créer un répertoire avec mkdir
La commande :
mkdir projets
crée un nouveau répertoire nommé projets.
Vérifiez :
ls
Vous devriez voir :
projets
mkdir signifie make directory : crée un répertoire.
Vérifier que c’est bien un répertoire
Essayez :
ls -l
Vous pourriez obtenir :
drwxr-xr-x 2 alex alex 4096 Sep 5 projets
Le premier caractère est d. Il indique qu’il s’agit d’un directory, donc d’un répertoire.
Nous parlerons des permissions plus tard. Pour l’instant, retenez seulement qu’un fichier et un répertoire ne sont pas la même chose.
Créer un fichier avec touch
Entrons dans notre répertoire :
cd projets
Puis créons un fichier vide :
touch notes.txt
Vérifiez :
ls
Résultat attendu :
notes.txt
touch peut avoir plusieurs usages, mais ici nous l’utilisons simplement pour créer un fichier vide.
Essayez :
ls -l
Vous pourriez voir :
-rw-r--r-- 1 alex alex 0 Sep 5 notes.txt
Cette fois, la ligne ne commence pas par d. Nous avons bien affaire à un fichier. Sa taille est probablement 0 : nous n’avons encore rien écrit dedans.
Créer plusieurs fichiers
Essayez maintenant :
touch todo.txt
touch brouillon.txt
Puis :
ls
Vous devriez obtenir quelque chose comme :
brouillon.txt
notes.txt
todo.txt
Copier un fichier avec cp
Copions notes.txt :
cp notes.txt notes-copie.txt
Puis vérifiez :
ls
Vous devriez maintenant voir :
brouillon.txt
notes-copie.txt
notes.txt
todo.txt
cp signifie copy. La logique est généralement :
cp source destination
Dans notre exemple :
source → notes.txt
destination → notes-copie.txt
Le fichier original existe toujours. Nous avons simplement créé une copie.
Renommer un fichier avec mv
Pour renommer un fichier, nous pouvons utiliser :
mv brouillon.txt rapport.txt
Puis :
ls
Vous devriez voir :
notes-copie.txt
notes.txt
rapport.txt
todo.txt
mv signifie move. Il peut servir à déplacer un fichier ou à le renommer.
En pratique, renommer un fichier revient à le déplacer vers un autre nom au même endroit.
Déplacer un fichier dans un autre répertoire
Créons un nouveau répertoire :
mkdir archives
Puis déplaçons rapport.txt :
mv rapport.txt archives/
Vérifiez :
ls
ls archives
rapport.txt ne doit plus apparaître dans le répertoire courant, mais doit être visible dans archives.
Une habitude importante : vérifier après mv
Une commande comme mv ne produit souvent aucun message lorsqu’elle réussit. Sous Linux, beaucoup de commandes suivent cette logique : pas de message signifie souvent pas d’erreur.
C’est pourquoi il faut vérifier le résultat avec ls.
Provoquer une erreur contrôlée
Essayons volontairement quelque chose d’impossible :
cp fichier-inexistant.txt copie.txt
Vous devriez obtenir un message ressemblant à :
cp: cannot stat 'fichier-inexistant.txt': No such file or directory
Le texte exact peut varier légèrement selon le système.
Quand cela arrive, vérifiez :
pwd
ls
Posez-vous deux questions : suis-je dans le bon répertoire ? Le nom du fichier est-il correct ?
Une erreur Linux est souvent une information exploitable.
Supprimer un fichier avec rm
Regardons d’abord les fichiers présents :
ls
Nous allons supprimer uniquement la copie :
rm notes-copie.txt
Puis vérifiez :
ls
notes-copie.txt ne devrait plus apparaître.
rm signifie remove. Contrairement à cp ou mv, la suppression n’est pas une simple réorganisation. Dans un terminal classique, le fichier n’est généralement pas déplacé dans une corbeille graphique.
Avant une suppression, prenez donc ce réflexe :
pwd
ls
Puis seulement :
rm fichier
Provoquer une deuxième erreur utile
Essayez maintenant :
rm archives
Vous devriez recevoir une erreur ressemblant à :
rm: cannot remove 'archives': Is a directory
Pourquoi ? Parce que archives est un répertoire, pas un fichier ordinaire.
Supprimer un répertoire vide
Créons un répertoire vide :
mkdir test-vide
Puis supprimons-le avec :
rmdir test-vide
rmdir signifie remove directory. Le répertoire doit être vide.
Essayons maintenant :
rmdir archives
Comme archives contient encore rapport.txt, vous devriez obtenir quelque chose ressemblant à :
rmdir: failed to remove 'archives': Directory not empty
Et rm -r ?
Vous verrez rapidement des commandes comme :
rm -r repertoire
L’option -r signifie ici que la suppression se fait récursivement : Linux entre dans le répertoire, supprime ce qu’il contient, puis supprime le répertoire lui-même.
C’est très pratique. C’est aussi une commande à utiliser avec attention.
Retenez la différence :
rm fichier → supprime un fichier
rmdir repertoire → supprime un répertoire vide
rm -r repertoire → peut supprimer un répertoire et tout son contenu
Comprendre la notion de source et destination
Les commandes cp et mv utilisent très souvent cette logique :
commande source destination
Exemple :
cp notes.txt sauvegarde.txt
signifie : copier notes.txt vers sauvegarde.txt.
Et :
mv notes.txt archives/
signifie : déplacer notes.txt vers archives/.
Lorsque vous hésitez, relisez mentalement la commande de gauche à droite.
Lab — Construire une petite arborescence
Vérifiez d’abord où vous êtes :
pwd
ls
Créez deux répertoires :
mkdir docs
mkdir sauvegardes
Créez deux fichiers :
touch docs/guide.txt
touch docs/checklist.txt
Regardez le résultat :
ls docs
Vous devriez voir :
checklist.txt
guide.txt
Copiez maintenant guide.txt dans sauvegardes :
cp docs/guide.txt sauvegardes/
Vérifiez :
ls sauvegardes
Puis renommez la copie :
mv sauvegardes/guide.txt sauvegardes/guide-backup.txt
Et vérifiez à nouveau :
ls sauvegardes
Résultat attendu :
guide-backup.txt
Vous venez d’utiliser des chemins relatifs un peu plus intéressants. docs/guide.txt signifie : depuis l’endroit où je me trouve, entre dans docs et cible guide.txt.
Petit défi
Sans regarder immédiatement la solution, essayez de réaliser les opérations suivantes dans le lab :
- créez un répertoire
atelier; - créez dedans un fichier
original.txt; - créez un répertoire
copies; - copiez
original.txtverscopies; - renommez la copie en
copie.txt; - vérifiez que les deux fichiers existent ;
- supprimez uniquement
copie.txt; - vérifiez que
original.txtexiste toujours.
Une solution possible
mkdir atelier
touch atelier/original.txt
mkdir atelier/copies
cp atelier/original.txt atelier/copies/
mv atelier/copies/original.txt atelier/copies/copie.txt
ls atelier
ls atelier/copies
rm atelier/copies/copie.txt
ls atelier
ls atelier/copies
Le fichier atelier/original.txt doit toujours exister.
Nettoyage du lab
Nous avons volontairement travaillé dans un environnement isolé.
Revenons dans le répertoire personnel :
cd
Vérifiez :
pwd
ls
Assurez-vous que le répertoire linux-sans-magie-lab est bien celui créé pour cet exercice, puis supprimez tout le terrain d’exercice :
rm -r linux-sans-magie-lab
Puis vérifiez :
ls
Le répertoire ne doit plus apparaître.
Pourquoi rm -r était acceptable ici
Nous savions précisément où nous étions, quel répertoire nous supprimions, qu’il avait été créé uniquement pour ce lab et qu’il ne contenait rien d’important.
Nous n’avons donc pas utilisé rm -r au hasard : nous avons d’abord créé un environnement contrôlé, puis vérifié la cible.
Les cinq commandes à retenir
mkdir → créer un répertoire
touch → créer un fichier vide
cp → copier
mv → déplacer ou renommer
rm → supprimer
Mais le plus important reste la boucle :
observer
agir
vérifier
Avant : où suis-je ? Qu’est-ce qu’il y a ici ?
Après : est-ce que le résultat correspond à ce que j’attendais ?
Références officielles
Les commandes pwd, ls, cp, mv, rm, mkdir, rmdir et touch font partie des utilitaires GNU Coreutils sur de nombreuses distributions Linux.
Vous pouvez consulter leur documentation directement depuis le terminal :
man cp
man mv
man rm
man mkdir
man touch
Référence officielle : GNU Coreutils manual.
Conclusion
Vous savez maintenant faire beaucoup plus que simplement vous déplacer dans Linux.
Vous pouvez créer une petite arborescence, y ajouter des fichiers, les copier, les déplacer, les renommer et les supprimer.
Mais le point le plus important n’est pas la syntaxe. C’est la méthode : observer → agir → vérifier.
Dans le prochain article de Linux sans magie, nous allons ouvrir une nouvelle porte essentielle : lire et modifier des fichiers texte sans quitter le terminal.
