- La maîtrise de la commande mv vous permet de renommer et de déplacer des dossiers et des fichiers sous Linux rapidement et en toute sécurité, aussi bien en local que sur des serveurs distants.
- Les commandes cp et rm complètent mv pour copier, supprimer et réorganiser des répertoires entiers, en tirant parti d'options telles que -r, -i, -fy et -v.
- L'outil de renommage et les boucles shell facilitent le renommage en masse de fichiers à l'aide de modèles et d'expressions régulières.
- Utiliser les chemins d'accès corrects, vérifier avec la commande ls et faire attention aux caractères génériques et aux options destructives est essentiel pour éviter toute perte de données.

Si vous travaillez avec des serveurs ou développez des projets sous Linux, tôt ou tard, vous devrez Renommer les dossiers et les fichiers depuis le terminalSur le papier, cela paraît simple, mais lorsqu'on débute, la multitude de commandes, de chemins et d'options peut être intimidante, surtout si l'on vient d'un environnement graphique comme GNOME, KDE ou similaire et que l'on est plus habitué à l'interface graphique. gestionnaire de fichiers.
La bonne nouvelle, c'est que sous Linux, tout cela se résout avec quelques commandes très puissantes. Il suffit de comprendre leur fonctionnement. mv, cp, rm et l'outil de renommageVous aurez un contrôle total pour renommer, déplacer, copier et gérer les répertoires aussi bien sur votre ordinateur local que sur des serveurs distants via SSH.
Concepts de base : répertoires, chemins et terminal sous Linux
Avant de toucher à quoi que ce soit, il est important de comprendre exactement ce qu'est un dossier sous Linux : en interne, Un répertoire est un type de fichier particulier Ce répertoire contient un index répertoriant les noms des fichiers et sous-répertoires qu'il renferme. Autrement dit, renommer un dossier ne modifie ni ne copie son contenu ; cela ne fait que changer le nom correspondant dans cet index.
Sous Linux, la structure du système de fichiers est hiérarchique, donc Les itinéraires peuvent être absolus ou relatifs.Un chemin absolu commence toujours par / (par exemple, /home/utilisateur/projet), tandis qu'un chemin relatif est interprété à partir du répertoire dans lequel vous vous trouvez actuellement (par exemple, projet/image (si vous êtes déjà dans /home/user).
Pour naviguer dans cette structure, nous utilisons le terminal. cd Nous avons changé de répertoire, avec pwd nous voyons exactement quel itinéraire nous suivons et avec ls Nous listons le contenu. Ces trois commandes constituent la base des exemples de renommage que nous verrons ensuite. Ne vous donnez pas d'erreurs de route.
Lorsqu'on travaille sur des serveurs, notamment en développement web, il est très courant de se connecter via SSH : utilisateur ssh@serveurUne fois à l'intérieur, tout ce que vous faites avec mv, cp, rm et rename fonctionne de la même manière que sur votre machine locale, sauf que maintenant vous agissez sur les fichiers du serveur distant.
La commande mv : déplacer et renommer des répertoires sous Linux
La clé absolue pour renommer des dossiers sous Linux est la commande mv, acronyme de « move ». Sa fonction principale est de déplacer des fichiers et des répertoires, mais il nous est également très utile pour changer leurs noms sans les déplacer.
La syntaxe générale de mv est très simple : mv ORIGINE DESTINATIONLe paramètre SOURCE correspond au fichier ou au dossier existant, tandis que DESTINATION correspond au nouveau nom ou chemin (plus nom) où nous souhaitons le déplacer ou le renommer.
Si vous souhaitez voir toutes les options disponibles, vous pouvez exécuter mv –aide au terminal. Vous verrez quelque chose comme mv …, ainsi qu'une liste de paramètres et d'options permettant d'adapter son comportement à vos besoins.
Les options mv les plus couramment utilisées lors de la manipulation de répertoires et de fichiers sont : -f, -i, -uy -vElles ne sont pas obligatoires, mais elles vous offrent beaucoup de contrôle et de sécurité, surtout lorsque vous risquez d'écraser accidentellement des données importantes.
Options plus utiles de la commande mv
Quand on commence à renommer et à déplacer des éléments de la console, le plus effrayant, c'est… écraser un fichier ou un dossier sans s'en rendre compteÀ cette fin, il existe plusieurs drapeaux MV que vous devriez mémoriser car vous les utiliserez souvent.
Avec l'option -i (Interactif) `mv` vous demandera confirmation avant d'écraser un répertoire de destination existant. Par exemple, si le répertoire de destination porte le même nom que celui que vous souhaitez déplacer, `mv` vous demandera une confirmation avant de procéder à l'écriture. y / n continuer ou annuler.
Le drapeau -f (la force) fait exactement le contraire : Il ne demande rien et écrase les fichiers sans discernement.C'est utile dans les scripts automatisés ou lorsque vous êtes sûr que la cible peut être écrasée, mais il n'est pas conseillé de l'utiliser à la légère si vous êtes en phase d'apprentissage.
Le choix -u Il ne déplacera ou ne renommera les fichiers que si le fichier source est plus récent que le fichier de destination ou si ce dernier n'existe pas encore. Ceci est utile pour la synchronisation de répertoires afin d'éviter les remplacements inutiles.
Enfin, l'option -v L'option `verbose` permet à mv d'afficher à l'écran ce qu'il fait à chaque étape. Vous verrez donc des lignes comme celle-ci : renommé 'img' -> 'images', un outil très utile pour le suivi des opérations impliquant de nombreux fichiers.
Comment renommer un dossier sous Linux avec mv
Pour renommer un répertoire sans le déplacer, il suffit de spécifier son nom actuel et son nouveau nom. La méthode la plus simple est la suivante : déplacer ancien_dossier nouveau_dossier, toujours situé dans le répertoire parent de ce dossier.
Imaginez que vous ayez un dossier appelé img dans votre projet et vous souhaitez le renommer en simples images.Si vous êtes déjà dans le répertoire du projet, il vous suffit d'exécuter images mv Et vous direz adieu à l'ancien nom dans une seconde.
Si vous souhaitez voir un exemple plus explicite, vous pouvez commencer par lister le contenu avec ls -l, voir le répertoire img, exécutez la commande mv -v images et vérifiez à nouveau avec ls -l qui n'apparaît plus que maintenant simples images.. Le suffixe -v Le message de changement de nom s'affichera, il n'y aura donc aucun doute.
Il est important de se concentrer sur un détail qui, souvent, prête à confusion au premier abord : Ne mettez pas de « / » à la fin du nom du répertoire lors du renommage.C'est-à-dire, écrire images mv et pas mv img/ images/Car dans ce contexte, la barre oblique finale n'est pas nécessaire et peut entraîner des erreurs si vous la mélangez avec d'autres chemins.
Renommer et déplacer un dossier simultanément
L'un des avantages du MV est qu'il vous permet de Déplacez un répertoire vers un autre emplacement et renommez-le tant que vous y êtes. en une seule commande. C'est très pratique pour réorganiser un projet de grande envergure ou nettoyer la structure d'un serveur.
Disons que vous avez un dossier appelé Ancien projet dans votre répertoire actuel et vous souhaitez le déplacer vers /home/user/Espace de travail le renommer Nouveau projetLa commande ressemblerait à ceci : déplacer OldProject vers /home/user/Workspace/NewProject.
Si vous souhaitez uniquement remonter d'un niveau dans la hiérarchie tout en conservant le nom, vous pouvez utiliser des chemins relatifs. Par exemple, pour déplacer le dossier img au répertoire parent sans en changer le nom, cela suffirait mv img ../img. Dans ce cas, .. Cela signifie « le répertoire ci-dessus ».
Vous pouvez également le déplacer dans un autre dossier et le renommer par la même occasion. Si vous avez un dossier fichiers dans votre projet et vous souhaitez que l'image soit renommée simples images. dans les fichiers, vous utiliseriez fichiers/images mv imgAprès son exécution, le chemin final ressemblerait à ceci : ./fichiers/images.
N'oubliez pas que lorsque vous déplacez un répertoire entre deux emplacements, si les systèmes de fichiers source et de destination sont identiques, `mv` effectue un changement de référence très rapide ; mais si Ils se trouvent sur des systèmes de fichiers différents.Cette opération revient à copier tout le contenu puis à supprimer l'original, ce qui peut prendre un certain temps si le dossier est volumineux.
Renommer les répertoires et les fichiers sur des serveurs distants via SSH
Dans les environnements de production et de développement web, il est très courant de travailler sur des serveurs Linux accessibles via SSH. Dès lors, toutes les commandes exécutées dans le terminal affectent les fichiers du serveur. Renommer des dossiers à distance revient au même que de le faire localement..
Pour se connecter à un serveur, on utilise généralement une commande comme celle-ci : ssh votre-utilisateur@votre-serveurUne fois authentifié, vous verrez l'invite de commande à distance et pourrez naviguer à travers celle-ci. cd, liste avec ls et renommer les répertoires avec déplacer ancien_dossier nouveau_dossier Exactement de la même manière.
La seule différence pratique par rapport à votre machine locale est que vous devez être plus prudent ici, car un erreur de renommage En production, cela peut rompre les chemins d'accès utilisés dans les applications, les scripts, les liens symboliques ou les configurations système internes.
Minimiser les risques est une bonne idée pour combiner MV avec ls avant et après chaque opération, en plus de tirer mv -i Un message de confirmation s'affichera en cas de risque d'écrasement. L'utilisation de chemins absolus permet également d'éviter tout malentendu avec les répertoires existants.
Lors du renommage de dossiers ou de fichiers utilisés par des scripts, des services ou des applications web, vérifiez qu'il n'existe aucun fichier ou répertoire existant. itinéraires codés avec l'ancien nomSi elles existent, mettez-les à jour pour qu'elles pointent vers le nouveau nom et évitez ainsi les erreurs 404, les échecs de chargement des ressources ou les services qui ne démarrent pas.
Copiez les répertoires sous Linux avec la commande cp avant de les renommer.
Bien que la commande `mv` permette de renommer directement un fichier, il existe de nombreuses situations où il est préférable de ne pas prendre de risques et de travailler sur une copie avant de modifier l'original. C'est là qu'intervient cette commande. cp, chargé de copier les fichiers et les répertoires.
La syntaxe de base de cp peut être résumée comme suit : cp ORIGINE DESTINATIONSi la SOURCE est un fichier, il n'y a pas beaucoup de complications ; mais si vous souhaitez copier un dossier entier, il y a une nuance importante : vous devez utiliser l'option -r o -R de sorte que la copie soit récursive et inclue tout son contenu.
Par exemple, si vous devez dupliquer le dossier polices Au même endroit, mais sous un nom différent, vous pourriez faire quelque chose comme cp -r fonts/ fonts2La barre oblique après `fonts` est recommandée pour indiquer clairement qu'il s'agit d'un répertoire, même si `cp` le sous-entend généralement ; de nombreux guides recommandent ce format pour éviter les erreurs d'interprétation.
Si vous souhaitez copier ce même dossier d'un répertoire à un autre, utilisez des chemins relatifs ou absolus selon les besoins. Un exemple classique serait : cp -r fonts/ ../fonts2, qui copie le dossier des polices dans le répertoire parent sous le nom fonts2, en conservant l'original intact.
Parmi les options de CP, les plus courantes sont -i (demander une confirmation avant d'écraser), -v (mode verbeux pour suivre la progression) et, bien sûr, -r/-R pour indiquer la récursivité dans les répertoires. Vous pouvez voir le reste avec homme cp o cp – aide si vous souhaitez peaufiner davantage vos copies.
Renommer des fichiers sous Linux avec mv
Tout ce que nous avons vu pour les répertoires s'applique également aux fichiers individuels : mv fonctionne aussi bien pour déplacer que pour… renommer un fichier, et la syntaxe est pratiquement identique, mais au niveau du fichier.
Si vous vous trouvez dans un répertoire contenant le fichier archive1.txt et vous voulez qu'on l'appelle archive2.txtIl suffit de courir mv fichier1.txt fichier2.txtLe contenu ne change pas, seul le nom qui le représente dans le système de fichiers change.
Si vous n'êtes pas dans le bon répertoire, commencez par naviguer avec cd Vous pouvez également spécifier le chemin complet dans la commande. Vous pourriez par exemple faire quelque chose comme : cd /home/user/docs/files et alors mv fichier1.txt fichier2.txt, ou directement mv /home/user/docs/files/file1.txt /home/user/docs/files/file2.txt.
Pour vous donner une idée, renommer un fichier avec mv est conceptuellement équivalent à «Copiez-le sous un nouveau nom et supprimer l'original », bien que le système de fichiers le gère en interne de manière beaucoup plus efficace et sans duplication des données.
Comme pour les dossiers, si vous déplacez un fichier entre différents systèmes de fichiers, `mv` en créera une copie en interne puis supprimera l'original ; s'il reste au sein du même système, ne modifie que les références internes et l'opération est instantanée.
Renommer plusieurs fichiers simultanément à l'aide de boucles et trouver
mv en lui-même ne possède pas d'option spécifique pour Renommer plusieurs fichiers en masseMais il fonctionne à merveille avec le shell Linux, vous pouvez donc le combiner avec des boucles for, while ou la commande find pour effectuer des renommages en masse.
Un exemple typique consiste à modifier l'extension d'un ensemble de fichiers. Si vous souhaitez que tous les fichiers .txt de votre répertoire courant deviennent des fichiers .pdf, vous pouvez utiliser une boucle for comme celle-ci : pour f dans *.txt; faire mv — «${f}» «${f%.txt}.pdf»; donnéIci, chaque fichier se terminant par .txt est parcouru, la partie .txt est « coupée » et remplacée par .pdf.
Ce type de boucle est très flexible et permet d'effectuer pratiquement toutes les transformations de noms exprimables à l'aide de la syntaxe shell. Cependant, il est conseillé Testez d'abord dans un répertoire de test pour éviter les problèmes si vous n'êtes pas encore familiarisé avec les expansions de paramètres.
Vous pouvez aussi utiliser trouver Pour localiser les fichiers répondant à certains critères (nom, type, date, etc.) et leur appliquer la commande `mv` via une action `-exec` ou une boucle `while`, puis lire les résultats. Ceci est très utile pour renommage plus complexe dans les grandes structures de répertoires.
Si tout cela vous semble un peu complexe, ne vous inquiétez pas : avec le temps, vous constaterez que combiner des clips vidéo avec des boucles vous fera gagner beaucoup de temps et vous permettra de automatiser les tâches répétitives avec quelques lignes de script shell.
La commande renommer : renommage en masse avancé
En plus de mv, de nombreuses distributions disposent d'un outil appelé rebaptiser qui est spécifiquement conçu pour Renommer des lots entiers de fichiers de manière très puissanteUtilisation des expressions régulières Perl.
Cette commande n'est pas toujours préinstallée, mais son ajout est très simple. Sur Debian, Ubuntu, Linux Mint et leurs dérivés, vous pouvez utiliser sudo apt installer renommerSous CentOS ou RHEL, la pratique courante est sudo yum installer renommerEt sous Arch Linux, des paquets comme renommer en Perl de l'AUR (par exemple avec yay ou yaourt).
La syntaxe typique de la commande rename ressemble à ceci : renommer les fichiers 's/old_pattern/new_pattern/'Ce qui est entre guillemets est une expression régulière Perl pour la substitution, où "s/this/for_this_other/" indique le modèle que vous souhaitez trouver et ce par quoi vous souhaitez le remplacer.
Par exemple, si vous avez créé des fichiers dans un répertoire appelé fichier1.txt, fichier2.txt, fichier3.txt, fichier4.txt et fichier5.txt (quelque chose que vous pouvez faire rapidement avec mkdir filetorename; cd filetorename; touch file{1..5}.txt), vous pouvez simplement renommer file1.txt en newfile1.txt avec renommer 's/file1/newfile1/' file1.txt.
Si vous souhaitez simplement changer l'extension de tous les fichiers .txt en .php, une commande comme celle-ci devrait suffire : renommer 's/.txt/.php/' *.txtAprès avoir exécuté la commande, vous pouvez vérifier ce qui s'est passé avec ls pour s'assurer que tous les noms ont été transformés comme prévu.
Exemples pratiques d'utilisation de la fonction renommer : lettres majuscules, lettres minuscules et espaces
L'un des avantages du renommage est que, grâce au Expressions régulières PerlIl permet des transformations très spécifiques qui seraient bien plus complexes avec une simple boucle et l'opérateur mv. Il existe plusieurs cas d'utilisation typiques qu'il est bon de garder à l'esprit.
Si vous souhaitez convertir tous les noms de fichiers d'un répertoire en lettres majusculesVous pouvez exécuter quelque chose comme renommer 'y/az/AZ/' *Cette syntaxe utilise l'opération de translittération « et », qui remplace chaque lettre minuscule par son équivalent majuscule.
Pour faire le contraire, c'est-à-dire déplacer tous les noms vers minuscule, la commande serait renommer 'y/AZ/az/' *Cela s'avère très utile lorsqu'on rencontre des systèmes où le mélange de lettres majuscules et minuscules est devenu ingérable au fil du temps.
Un autre problème courant concerne les fichiers dont le nom contient des espaces, ce qui peut être très gênant lorsqu'on travaille dans le terminal. Vous pouvez remplacer les espaces par des tirets bas en utilisant une commande comme celle-ci : renommer 'y/ /_/' *évitant ainsi d'avoir à échapper les espaces avec des barres obliques inverses ou des guillemets.
Si les fichiers à modifier se trouvent dans un autre répertoire, vous pouvez également indiquer directement le chemin d'accès à renommer, par exemple : renommer 's/.txt/.php/' FICHIER/CHEMINAinsi, vous n'aurez pas besoin de changer de répertoire avant d'exécuter la commande.
Pour voir toutes les options prises en charge par votre version spécifique de rename, il est recommandé d'exécuter une commande renommer –aide Vous pouvez aussi consulter sa page de manuel. Notez qu'il existe des variantes de la commande `rename` selon les distributions ; il est donc toujours conseillé de vérifier la syntaxe exacte disponible sur votre système.
Supprimez l'outil de renommage lorsque vous n'en avez plus besoin.
Si à un moment donné vous décidez que vous ne voulez plus avoir rebaptiser Une fois installé sur votre système (par exemple, parce que sur un serveur de production vous préférez limiter les outils disponibles), vous pouvez facilement le désinstaller avec le même gestionnaire de paquets que celui utilisé pour l'installer.
Sur les distributions basées sur Debian comme Ubuntu ou Linux Mint, vous pouvez exécuter sudo apt supprimer renommerCela supprimera le paquet et le rendra indisponible dans le terminal, mais vous pourrez toujours le réinstaller plus tard si besoin.
Sous CentOS, RHEL et leurs dérivés, la commande équivalente pour supprimer le paquet est généralement sudo yum supprimer renommer, ce qui supprimera l'utilitaire de renommage en masse du système.
Dans tous les cas, même sans Rename installé, vous aurez toujours la possibilité de Renommer les répertoires et les fichiers avec mv Et, si nécessaire, créez vos propres scripts shell pour automatiser les tâches plus complexes.
La clé est dans choisissez l'outil qui convient le mieux en fonction de votre flux de travail et de l'environnement dans lequel vous travaillez : sur une machine personnelle, il peut être judicieux d'installer tous les logiciels, tandis que sur un serveur critique, vous préférerez peut-être opter pour un nombre plus restreint de commandes supplémentaires.
Suppression de fichiers et de répertoires avec rm : soyez prudent lors du nettoyage.
Lors de toute opération d'organisation de fichiers, il arrive généralement un moment où il faut supprimer ce qui n'est plus nécessaire. Sous Linux, la commande permettant de le faire est : rmqui vous permet de supprimer aussi bien des fichiers individuels que des répertoires entiers.
La syntaxe générale de rm peut s'écrire comme suit : rm FICHIER…Si vous souhaitez supprimer un seul fichier, comme un ancien fichier journal, une opération aussi simple que supprimer le fichier journal Cela fonctionne déjà, à condition d'avoir les permis nécessaires.
Pour travailler avec les répertoires, vous devez utiliser l'option -r o -Rqui active la suppression récursive. Par exemple, dossier rm -r Il tentera de supprimer le dossier et tout son contenu (y compris les sous-dossiers et les fichiers), mais il le fera sans demander de confirmation pour chaque élément, sauf si vous ajoutez des options supplémentaires.
Si vous souhaitez aller plus loin et forcer la suppression même en présence de restrictions ou de fichiers en lecture seule, il existe une combinaison dossier rm -rfqui mêle récursivité et « force ». C'est très puissant, mais aussi très dangereux : Une erreur avec cette commande peut détruire la moitié de la machine..
Par conséquent, dans les environnements où vous préférez être plus prudent, il est judicieux de combiner -r avec -ipour que `rm` vous demande si vous souhaitez supprimer chaque fichier ou répertoire. Quelque chose comme rm -ri dossier Cela vous obligera à confirmer chaque étape, réduisant ainsi le risque de supprimer quelque chose que vous n'auriez pas dû.
Supprimez les répertoires vides et autres détails de rm
Outre rm, il existe une commande spécifique appelée rmdir dont la seule fonction est supprimer les répertoires videsSi le répertoire contient des éléments, la commande rmdir échouera et vous avertira qu'elle ne peut pas les supprimer car ils ne sont pas vides.
Cela fait de rmdir une option légèrement plus sûre lorsque vous souhaitez nettoyer des dossiers qui ne contiennent plus de fichiers, par exemple après avoir déplacé leur contenu. Pour afficher toutes ses options, vous pouvez exécuter la commande suivante : man rmdir du terminal.
Pour revenir à RM, en plus de -i, -f, -r/-R y -v (pour lister ce qu'il supprime), n'oubliez pas que vous pouvez utiliser des caractères génériques comme * et ? pour sélectionner des groupes de fichiers. Un cas typique consiste à supprimer tous les fichiers .txt d'un répertoire avec une commande du type : rm * .txt.
Il est également possible de supprimer plusieurs fichiers à la fois en les spécifiant explicitement, par exemple : Supprimer les fichiers `file1.log`, `file2.log` et `file3.log`.Cela vous évite de taper « rm » plusieurs fois lorsque vous savez exactement quels fichiers vous souhaitez supprimer.
Dans tous les cas, chaque fois que vous exécutez `rm` avec des caractères génériques ou avec `-r`, il est conseillé de vérifier la commande avant d'appuyer sur Entrée et, si possible, d'effectuer une vérification. ls Commencez par vérifier quels fichiers correspondent au modèle que vous avez utilisé.
Master rm, mv, cp Et, lorsque vous en aurez besoin, rename vous permettra de travailler en toute fluidité aussi bien sur votre poste de travail Linux que sur des serveurs distants, en renommant, déplaçant, copiant ou supprimant des dossiers et des fichiers sans dépendre de l'environnement graphique et en ayant l'assurance de savoir exactement ce que vous faites à chaque instant.
Table des matières
- Concepts de base : répertoires, chemins et terminal sous Linux
- La commande mv : déplacer et renommer des répertoires sous Linux
- Options plus utiles de la commande mv
- Comment renommer un dossier sous Linux avec mv
- Renommer et déplacer un dossier simultanément
- Renommer les répertoires et les fichiers sur des serveurs distants via SSH
- Copiez les répertoires sous Linux avec la commande cp avant de les renommer.
- Renommer des fichiers sous Linux avec mv
- Renommer plusieurs fichiers simultanément à l'aide de boucles et trouver
- La commande renommer : renommage en masse avancé
- Exemples pratiques d'utilisation de la fonction renommer : lettres majuscules, lettres minuscules et espaces
- Supprimez l'outil de renommage lorsque vous n'en avez plus besoin.
- Suppression de fichiers et de répertoires avec rm : soyez prudent lors du nettoyage.
- Supprimez les répertoires vides et autres détails de rm