Créer et manipuler des fichiers
Créer, copier, déplacer, renommer et supprimer des fichiers et dossiers.
Objectifs
À la fin de cette leçon, vous saurez :
- créer des dossiers et des fichiers avec
mkdirettouch; - copier, déplacer et renommer avec
cpetmv; - supprimer proprement avec
rmetrmdir; - comprendre les dangers des suppressions.
🔗 Pour vous rafraîchir la mémoire : navigation dans l'arborescence (
cd,pwd)
Créer des dossiers
mkdir cours
mkdir -p cours/projets/cours # crée toute la chaîne s'il manque des maillons
Sans -p, mkdir cours/projets/cours échoue si projets n'existe pas. Avec -p, Linux crée les premiers dossiers puis les suivants ; la commande fonctionne aussi deux fois de suite (elle considère alors que tout existe déjà).
Créer des fichiers
touch notes.txt
touch brouillon.md
touch crée un fichier vide, ou actualise sa date de modification s'il existe déjà. C'est un geste d'initialisation, pas d'édition : c'est nano ou un autre éditeur qui écrit le contenu.
Astuce : le nom d'un fichier
Un nom de fichier n'a pas obligatoirement d'extension, mais c'est une convention pratique : README.md, script.sh, index.html. Le système, lui, identifie le contenu réel du fichier par son contenu, pas par son nom. L'extension est une aide pour les autres programmes : elle leur suggère comment l'interpréter.
Copier
cp notes.txt notes-copie.txt
cp notes.txt ../brouillon.md
cp -r projets projets-copie # récursif : indispensable pour les dossiers
cp source destinationcopie le fichier source vers la destination.- Lorsque la destination est un répertoire, le fichier est copié dedans.
- Pour copier un dossier, il faut
-r: Linux traite alors chaque fichier et sous-dossier, un à un.
Déplacer et renommer
La même commande, mv, fait les deux choses :
mv notes.txt ~/notes.txt # déplacement vers votre répertoire personnel
mv notes.txt journal.txt # renommage dans le même répertoire
mv notes.txt ~/cours/journal.txt # déplacement avec nouveau nom
Avec deux chemins dans le même répertoire, mv agit comme un renommage. Avec deux répertoires différents, c'est un déplacement. Dans les deux cas, il n'y a jamais de doublon : l'entrée quitte son emplacement d'origine.
Supprimer
rm journal.txt
rm -r projets-copie # récursif : nécessaire pour un dossier
rmdir notes # ne fonctionne que sur un dossier vide
Attention
rm supprime définitivement. Il n'y a pas de corbeille : ce qui est fait est fait. Personne ne viendra annuler une suppression à votre place : entraînez-vous d'abord sur des données que vous pouvez perdre. Avant une suppression importante :
rm -ri dossier-cible # demande confirmation pour chaque élément
C'est le réflexe d'un professionnel : relire avant de valider.
Exercice
Créez cette structure dans votre répertoire personnel :
projet/
├── documents/
├── images/
├── scripts/
└── sauvegardes/
Puis :
- créez un fichier
notes.txtdansprojet/documents; - copiez ce fichier dans
projet/sauvegardes; - déplacez la copie dans
projet/imagesen la renommantvieux-notes.txt; - supprimez
vieux-notes.txt; - listez toute la structure en partant de votre répertoire personnel.
Résumé
- Rien ne s'écrit sans le demander : tout commence par une commande.
touchcrée,mkdirstructure,cpduplique,mvdéplace ou renomme,rmsupprime sans retour.- Réflexe système : regarder avec
pwdetlsavant, voir le résultat après.
Correction disponibleCherchez d’abord par vous-même.Voir la correction
Correction
Chemin et commandes attachées
cd ~
mkdir -p projet/documents projet/images projet/scripts projet/sauvegardes
touch projet/documents/notes.txt
cp projet/documents/notes.txt projet/sauvegardes/notes.txt
mv projet/sauvegardes/notes.txt projet/images/vieux-notes.txt
rm projet/images/vieux-notes.txt
ls -R projet
ls -R fait la liste récursive : chaque sous-dossier est présenté après son parent. On voit le résultat final :
projet/
├── documents/
│ └── notes.txt
├── images/
├── scripts/
└── sauvegardes/
L'original a traversé toutes ces opérations : il a été copié vers sauvegardes, puis c'est la copie qui a été déplacée vers images sous un nouveau nom, puis supprimée. Il ne reste donc que l'original, dans documents. C'est le piège classique : on copie, on déplace, on supprime, et on oublie que seule la première copie portait le nom. Se souvenir que cp produit une entrée supplémentaire, que mv ne laisse jamais deux exemplaires au même endroit, et que rm efface pour toujours.