Économisez 15% sur tous les services d'hébergement

Testez vos compétences et obtenez Réduction sur tout plan d'hébergement

Utilisez le code : Skills Commencer
Sections
Linux Serveurs dédiés Serveurs virtuels

Comment renommer un fichier dans le terminal Linux : Guide complet pour les débutants et les professionnels

Renommer des fichiers est l’une des tâches les plus fondamentales dans n’importe quel système d’exploitation — et sous Linux, cela devient exceptionnellement puissant lorsqu’il est exécuté directement depuis le terminal. Que vous ayez besoin de modifier un seul nom de fichier ou de renommer par lot des milliers de fichiers en utilisant des modèles complexes, maîtriser le renommage de fichiers sous Linux est une compétence essentielle pour les développeurs, les administrateurs système et les ingénieurs DevOps.

De l’organisation des ressources de projet à l’automatisation du nettoyage des journaux et à la préparation des artefacts de déploiement, connaître les bons outils et techniques vous fera gagner un temps considérable, réduira les erreurs humaines et déverrouillera une véritable automatisation à grande échelle.

Pourquoi Renommer des Fichiers depuis le Terminal Linux ?

Avant de plonger dans les commandes, il vaut la peine de comprendre pourquoi l’approche du terminal est préférée aux gestionnaires de fichiers graphiques pour de nombreux cas d’usage :

  • Organiser les fichiers par date, type, projet ou convention de nommage
  • Automatiser le nettoyage des journaux rotatifs, des données temporaires ou des archives de sauvegarde
  • Standardiser les noms de fichiers pour les scripts, les déploiements ou les intégrations API
  • Prétraiter les ensembles de données dans les pipelines de développement, de recherche ou de science des données
  • Intégrer dans les workflows CI/CD, les pipelines de traitement d’images ou les systèmes de versioning

Que vous soyez un développeur renommant des milliers de fichiers image, un administrateur système nettoyant les journaux rotatifs sur un serveur VPS Hosting, ou un ingénieur DevOps préparant des artefacts de build pour le déploiement — les techniques ci-dessous rendront votre workflow dramatiquement plus efficace.

Méthode 1 : Renommage de fichier basique avec mv

La commande mv (move) est l’utilitaire Linux standard intégré pour renommer les fichiers. Elle ne nécessite aucune installation supplémentaire et fonctionne sur toutes les distributions Linux.

Syntaxe

mv old_filename.txt new_filename.txt

Ce que mv peut faire

TâcheExemple de commande
Renommer un fichier sur placemv report.txt final_report.txt
Déplacer un fichier vers un autre répertoiremv report.txt /home/user/docs/
Renommer et déplacer simultanémentmv report.txt ../archive/final_report.txt

Exemple pratique

mv file.txt ../archive/renamed_file.txt

Cette commande unique renomme file.txt en renamed_file.txt et la déplace vers le répertoire ../archive/ en une seule étape.

> Important : Contrairement à certains systèmes d’exploitation, Linux ne vous avertit pas si le fichier de destination existe déjà. Le fichier original sera silencieusement écrasé. Utilisez le drapeau -i (interactif) pour demander une confirmation :

mv -i old_filename.txt new_filename.txt

Méthode 2 : Renommage en masse avec rename (basé sur Perl)

Pour renommer plusieurs fichiers à la fois, l’utilitaire rename basé sur Perl est l’outil le plus puissant et flexible disponible. Il utilise des expressions régulières compatibles Perl (PCRE), vous donnant un contrôle fin sur les modèles de renommage complexes.

Installation

# Debian / Ubuntu
sudo apt install rename

# RHEL / Fedora / CentOS
sudo dnf install prename

Syntaxe de base

rename 's/old_pattern/new_pattern/' *.txt

Cela renomme tous les fichiers .txt dans le répertoire courant, en remplaçant chaque occurrence de old_pattern par new_pattern dans le nom de fichier.

Cas d’utilisation courants de rename

ObjectifCommande
Ajouter un préfixe à tous les fichiers .jpgrename 's/^/IMG_/' *.jpg
Supprimer l’extension .bak des noms de fichiersrename 's/.bak$//' *.bak
Convertir .JPG en minuscules .jpgrename 's/.JPG$/.jpg/i' *.JPG
Remplacer les espaces par des traits de soulignementrename 's/ /_/g' *
Ajouter un modèle de suffixe numériquerename 's/file/file_v2/' *.txt

Exécution à titre d’essai avant l’exécution

C’est sans doute la meilleure pratique la plus importante lors du renommage en masse. Utilisez le drapeau -n pour prévisualiser les modifications sans modifier réellement aucun fichier :

rename -n 's/ /_/g' *

La sortie affichera exactement ce qui serait renommé, vous permettant de vérifier que le modèle est correct avant de procéder à l’opération.

Méthode 3 : Renommage en masse avec mmv

L’utilitaire mmv (mass move) fournit une approche basée sur des motifs pour renommer plusieurs fichiers en utilisant la syntaxe des caractères génériques plutôt que les expressions régulières. C’est légèrement moins flexible que rename mais plus facile à lire pour les tâches simples.

Installation

sudo apt install mmv

Exemple d’utilisation

mmv "*.jpg" "photo_#1.jpg"

Ceci renomme chaque fichier .jpg dans le répertoire courant, en ajoutant photo_ au début de chaque nom de fichier. L’espace réservé #1 capture la correspondance du caractère générique du motif source.

Méthode 4 : Renommage récursif avec find + mv + Bash

Pour une logique de renommage complexe qui s’étend sur des répertoires imbriqués, la combinaison de find, mv et des scripts bash vous donne un contrôle et une flexibilité maximaux.

Exemple : Remplacer les tirets par des traits de soulignement dans tous les fichiers .txt (Récursivement)

find . -type f -name "*.txt" | while read file; do
    new=$(echo "$file" | sed 's/-/_/g')
    mv "$file" "$new"
done

Fonctionnement :

  1. find . -type f -name "*.txt" — localise tous les fichiers .txt à partir du répertoire courant, y compris les sous-répertoires
  2. while read file — itère sur chaque résultat
  3. sed 's/-/_/g' — génère le nouveau nom de fichier en remplaçant tous les tirets par des traits de soulignement
  4. mv "$file" "$new" — effectue le renommage réel

Cette approche est sûre, hautement flexible et fonctionne de manière transparente sur les structures de répertoires profondément imbriquées — ce qui la rend idéale pour une utilisation sur les Serveurs Dédiés où vous pouvez gérer de grandes hiérarchies de fichiers complexes.

Méthode 5 : Renommer des fichiers avec des boucles for

Pour les opérations de traitement par lot simples dans un seul répertoire, une simple boucle for en bash est souvent la solution la plus rapide.

Exemple : Ajouter un préfixe à tous les fichiers .log

for f in *.log; do
    mv "$f" "archived_$f"
done

Exemple : Ajouter un horodatage à tous les fichiers .txt

for f in *.txt; do
    mv "$f" "$(date +%Y%m%d)_$f"
done

Exemple : Remplacer une sous-chaîne dans les noms de fichiers

for f in *report*; do
    mv "$f" "${f/report/summary}"
done

La syntaxe ${variable/pattern/replacement} est une fonctionnalité native d’expansion de paramètres bash — aucun outil externe requis.

Comparaison : Quel outil devriez-vous utiliser ?

OutilMeilleur pourSupport RegexRécursifNécessite une installation
mvRenommages de fichiers uniquesNonNonNon (intégré)
renameRenommages batch complexesOui (PCRE)Non (utiliser avec find)Oui
mmvRenommages batch simples avec caractères génériquesNon (caractères génériques)LimitéOui
find + mvLogique récursive et complexeVia sed/awkOuiNon (intégré)
for loopBatch simple dans un répertoireVia expansion bashNonNon (intégré)

Meilleures pratiques pour renommer des fichiers dans Linux

Suivre ces directives protégera vos données et préviendra les erreurs coûteuses, en particulier lors d’opérations de renommage en masse sur des serveurs de production.

1. Toujours faire un test à blanc d’abord

Avant d’exécuter tout renommage par lot, prévisualisez les modifications :

rename -n 's/ /_/g' *

Le drapeau -n montre ce qui *se passerait* sans apporter de modifications réelles. C’est non-négociable pour les opérations à grande échelle.

2. Toujours mettre vos variables entre guillemets

Les noms de fichiers peuvent contenir des espaces, des caractères spéciaux ou des sauts de ligne. Enveloppez toujours les variables entre guillemets doubles pour éviter les divisions de mots inattendues :

mv "$old_file" "$new_file"

3. Sauvegarder avant les opérations en masse

Avant de renommer des milliers de fichiers, créez une sauvegarde ou un snapshot. Si vous travaillez dans un environnement d’hébergement géré, vérifiez si votre fournisseur propose des snapshots automatisés. Les plans VPS avec cPanel d’AlexHost incluent une gestion facile des sauvegardes directement depuis le panneau de contrôle.

4. Utiliser le contrôle de version pour les fichiers de code et de configuration

Si vous renommez des fichiers suivis dans un référentiel Git, utilisez git mv au lieu de mv simple pour préserver l’historique :

git mv old_script.sh new_script.sh

5. Tester avec un petit sous-ensemble d’abord

Lorsque vous travaillez avec des milliers de fichiers, testez votre commande de renommage sur un petit répertoire d’exemple avant de l’exécuter sur l’ensemble complet des données :

mkdir test_rename && cp *.jpg test_rename/ && cd test_rename
rename -n 's/IMG_/PHOTO_/' *.jpg

6. Gérer les noms de fichiers avec des sauts de ligne avec prudence

Lors de l’utilisation de find avec des pipes, les noms de fichiers contenant des sauts de ligne peuvent causer des problèmes. Utilisez -print0 et read -d '' pour une sécurité maximale :

find . -type f -name "*.txt" -print0 | while IFS= read -r -d '' file; do
    new=$(echo "$file" | sed 's/-/_/g')
    mv "$file" "$new"
done

Cas d’usage réels

Standardiser les noms de fichiers journaux sur un serveur

Les administrateurs système gérant la rotation des journaux sur un serveur Linux ont souvent besoin de renommer les journaux archivés pour suivre une convention de nommage cohérente :

for f in /var/log/nginx/*.log.*; do
    mv "$f" "${f/access/nginx_access}"
done

Préparer les ressources d’images pour une application web

Les développeurs déployant une application web sur Shared Web Hosting ont souvent besoin de normaliser les noms de fichiers d’images avant le téléchargement :

# Convert all image filenames to lowercase and replace spaces with hyphens
rename 's/ /-/g' *.jpg *.png *.gif
rename 'y/A-Z/a-z/' *.jpg *.png *.gif

Renommer en masse des fichiers pour une migration de domaine

Lors de la migration d’un site web vers un nouveau domaine et de la restructuration du contenu, vous devrez peut-être mettre à jour des centaines de fichiers de configuration ou de modèles. Combiné avec une Domain Registration appropriée et une gestion DNS, une structure de fichiers propre rend les migrations beaucoup plus fluides :

find . -type f -name "*.conf" | while read file; do
    new=$(echo "$file" | sed 's/olddomain/newdomain/g')
    mv "$file" "$new"
done

Questions fréquemment posées

Puis-je annuler une opération de renommage dans Linux ?

Linux n’a pas de fonction d’annulation native pour les commandes de terminal. C’est pourquoi les exécutions à titre d’essai et les sauvegardes sont essentielles. Si vous utilisez Git, les opérations git mv peuvent être annulées avec git checkout.

Quelle est la différence entre mv et rename ?

mv est un utilitaire Unix intégré conçu pour déplacer et renommer des fichiers individuels. rename est un outil basé sur Perl spécifiquement conçu pour le renommage en masse à l’aide d’expressions régulières. Pour les fichiers uniques, utilisez mv. Pour les opérations en masse avec des motifs, utilisez rename.

rename fonctionne-t-il de la même manière sur toutes les distributions Linux ?

Il existe deux versions courantes de rename : la version basée sur Perl (courante sur Debian/Ubuntu) et une version plus simple basée sur C (courante sur certains systèmes basés sur RHEL). La version Perl supporte les expressions régulières complètes ; la version C utilise une substitution de chaîne plus simple. Vérifiez toujours quelle version est installée avec rename --version.

Comment renommer des fichiers avec des espaces dans leurs noms ?

Mettez toujours vos noms de fichiers et variables entre guillemets :

mv "my old file.txt" "my_new_file.txt"

Ou utilisez rename avec une substitution globale :

rename 's/ /_/g' *

Conclusion

Renommer des fichiers dans le terminal Linux est une compétence qui évolue des simples modifications ponctuelles aux opérations de lot entièrement automatisées sur des milliers de fichiers. Les outils clés à maîtriser sont :

  • mv — pour les renommages rapides et individuels
  • rename — pour les puissantes opérations de lot basées sur regex
  • find + mv — pour les flux de travail récursifs multi-répertoires
  • for loops — pour les scripts de lot simples et lisibles

Prévisualisez toujours les modifications avec des essais à vide, mettez entre guillemets vos variables et sauvegardez les données critiques avant d’exécuter les opérations de renommage en masse.

Si vous gérez des fichiers sur un serveur Linux et recherchez un environnement d’hébergement fiable et haute performance, explorez la gamme de solutions d’AlexHost — de l’hébergement VPS et des serveurs dédiés aux panneaux de contrôle VPS entièrement gérés — tous optimisés pour les charges de travail Linux.