
Copie, déplacement, suppression : `cp`, `mv`, `rm`, `rmdir` (et l'option `-r` avec prudence)
Apprenez à copier (cp), déplacer/renommer (mv), et supprimer (rm, rmdir) fichiers et répertoires sous Linux. Maîtrisez l'option -r avec précaution.
Manipuler activement vos fichiers et répertoires
Une fois que vous avez créé des fichiers et des répertoires, ou que vous travaillez avec des données existantes, vous aurez inévitablement besoin de les copier, de les déplacer, de les renommer ou de les supprimer. Linux fournit un ensemble de commandes puissantes pour ces opérations : cp pour la copie, mv pour le déplacement ou le renommage, rm pour la suppression de fichiers (et de répertoires sous conditions), et rmdir pour la suppression de répertoires vides.
Ces commandes sont au coeur de la gestion quotidienne des données. Il est crucial de bien comprendre leur fonctionnement, leurs options principales, et surtout les implications de chacune, en particulier pour la suppression. Une mauvaise utilisation, notamment de la commande rm avec certaines options, peut entraîner une perte de données irréversible. C'est pourquoi une attention particulière sera portée à l'utilisation prudente de ces outils.
Ce sous-chapitre vous guidera à travers chaque commande, en expliquant sa syntaxe, ses cas d'usage courants et les options qui augmentent leur flexibilité, tout en soulignant les bonnes pratiques pour éviter les accidents.
Dupliquer des données : la commande `cp` (Copy)
La commande cp est utilisée pour copier des fichiers et des répertoires.
cp [options] SOURCE DESTINATIONOù SOURCE est le fichier à copier et DESTINATION peut être un nouveau nom de fichier ou un répertoire existant.
- Copier un fichier en lui donnant un nouveau nom dans le même répertoire :
cp fichier_original.txt fichier_copie.txt - Copier un fichier dans un autre répertoire (en gardant le même nom) :
(Ceci suppose que le répertoirecp mon_document.odt Documents/Documentsexiste.) - Copier un fichier dans un autre répertoire en lui donnant un nouveau nom :
cp rapport_v1.doc Archives/rapport_final_v1.doc
Pour copier plusieurs fichiers vers un répertoire, listez toutes les sources avant la destination (qui doit être un répertoire).
cp fichier1.txt image.jpg notes.md Sauvegardes/Copier des répertoires : l'option -r ou -R (récursif)Par défaut, cp ne copie pas les répertoires. Pour copier un répertoire et tout son contenu (y compris les sous-répertoires et les fichiers qu'ils contiennent), vous devez utiliser l'option -r (ou -R, ou --recursive).
cp -r MonProjet/ MonProjet_Backup/Si MonProjet_Backup n'existe pas, il sera créé. Si MonProjet_Backup existe déjà et est un répertoire, alors MonProjet sera copié à l'intérieur de MonProjet_Backup (résultant en MonProjet_Backup/MonProjet/). Soyez attentif à ce comportement, notamment la présence ou l'absence du slash final sur le nom du répertoire source, qui peut influencer le résultat si la destination existe.
Autres options utiles de cp :
-i(interactive) : Demande confirmation avant d'écraser un fichier existant à la destination. C'est une bonne précaution à prendre, souvent configurée par défaut via un alias dans les configurations de shell modernes.-v(verbose) : Affiche ce qui est fait, fichier par fichier. Utile pour suivre la progression de copies volumineuses.-p(preserve) : Tente de préserver les attributs du fichier source (permissions, propriétaire, timestamps) dans la copie.-u(update) : Ne copie le fichier source que s'il est plus récent que le fichier de destination ou si le fichier de destination n'existe pas.-a(archive) : Equivaut à-dR --preserve=all(récursif, copie les liens symboliques tels quels, préserve tous les attributs). C'est souvent l'option préférée pour faire des sauvegardes complètes de répertoires.
Déplacer et renommer : la commande `mv` (Move)
La commande mv sert à deux choses : déplacer des fichiers/répertoires d'un emplacement à un autre, ou renommer un fichier/répertoire.
mv [options] SOURCE DESTINATIONRenommer un fichier ou un répertoire :Si SOURCE et DESTINATION sont dans le même répertoire (ou si DESTINATION est simplement un nouveau nom dans le même chemin), mv renomme la source.
mv ancien_nom.txt nouveau_nom.txt
mv MonDossier/ MonRepertoire/Déplacer un fichier ou un répertoire :Si DESTINATION est un répertoire existant, SOURCE (fichier ou répertoire) est déplacé à l'intérieur de DESTINATION.
mv mon_fichier.doc Documents/
mv RapportFinal/ Archives/Si DESTINATION est un chemin complet avec un nouveau nom, la source est déplacée et renommée en même temps.
mv ~/telechargements/image_temporaire.jpg ~/Images/Vacances/paysage_montagne.jpgContrairement à cp, mv peut déplacer des répertoires sans option récursive spécifique, car il opère sur l'entrée du système de fichiers elle-même.
mv fichier1.txt photo.png DossierProjet/ ArchivesCommunes/Options utiles de mv (similaires à cp) :
-i(interactive) : Demande confirmation avant d'écraser un fichier existant à la destination.-v(verbose) : Affiche ce qui est fait.-u(update) : Ne déplace la source que si elle est plus récente que le fichier de destination ou si le fichier de destination n'existe pas.-n(no-clobber) : Ne pas écraser un fichier existant. Si la destination existe, l'opération de déplacement pour cet élément est ignorée.
Supprimer avec précaution : les commandes `rm` (Remove) et `rmdir` (Remove Directory)
La suppression de fichiers et de répertoires est une opération qui doit être effectuée avec la plus grande prudence, car sous Linux, il n'y a généralement pas de corbeille en ligne de commande par défaut. Une fois supprimé avec rm, un fichier est la plupart du temps irrécupérable par des moyens simples.
rmdir : Supprimer des répertoires videsLa commande rmdir est la plus sûre pour supprimer des répertoires, car elle ne fonctionne que sur des répertoires vides.
rmdir repertoire_videSi le répertoire contient des fichiers ou d'autres sous-répertoires, rmdir échouera avec un message d'erreur. Vous pouvez supprimer plusieurs répertoires vides en les listant.
L'option -p de rmdir permet de supprimer un répertoire ainsi que ses parents s'ils deviennent vides après la suppression du fils. Par exemple, si vous avez a/b/c et que c est vide, rmdir -p a/b/c supprimera c, puis b s'il est vide, puis a s'il est vide.
rm : Supprimer des fichiers (et des répertoires avec -r)La commande rm est utilisée pour supprimer des fichiers. Pour supprimer un fichier :
rm fichier_a_supprimer.txtVous pouvez supprimer plusieurs fichiers en les listant :
rm temp1.tmp log.out image_test.jpgL'option -r (ou -R, --recursive) avec rm : ATTENTION !Pour supprimer un répertoire et tout son contenu (fichiers, sous-répertoires, et leur contenu), vous devez utiliser l'option -r avec rm.
rm -r repertoire_a_supprimer/C'est une commande extrêmement dangereuse si mal utilisée. Une faute de frappe ou une mauvaise compréhension de votre emplacement actuel peut conduire à la suppression de données importantes de manière irréversible. Par exemple, rm -r / home/utilisateur/mauvais_dossier (avec un espace après /) pourrait commencer à effacer la racine du système si vous avez les droits suffisants !Options importantes de rm :
-i(interactive) : Demande une confirmation pour chaque fichier avant de le supprimer. Fortement recommandé, surtout lorsque vous débutez ou lorsque vous utilisez des jokers (commerm *.tmp).-f(force) : Supprime les fichiers sans demander de confirmation, même s'ils sont protégés en écriture, et ne signale pas d'erreur si les fichiers n'existent pas. L'utilisation derm -rfest particulièrement risquée et doit être réservée aux situations où vous êtes absolument certain de ce que vous faites. Une combinaison commerm -rf /*peut détruire votre système.-v(verbose) : Affiche ce qui est fait, fichier par fichier.
rm :- Toujours vérifier votre répertoire courant avec
pwdavant de lancer une commanderm -r. - Utiliser l'option
-iautant que possible, surtout au début. - Double-vérifier les chemins, surtout lorsque vous utilisez des chemins absolus ou des jokers.
- Préférer déplacer des données potentiellement inutiles vers un répertoire "poubelle" temporaire avant de les supprimer définitivement, le temps de s'assurer qu'elles ne sont plus nécessaires.
- Penser aux sauvegardes régulières de vos données importantes.
La maîtrise de cp, mv, rmdir et rm est essentielle. Leur puissance vient avec une responsabilité : celle de comprendre leurs effets pour les utiliser de manière sûre et efficace.