Renommer des répertoires est l'une des opérations les plus élémentaires que vous devez souvent effectuer sur un système Linux. Vous pouvez renommer les répertoires à partir du gestionnaire de fichiers de l'interface graphique en quelques clics ou à l'aide du terminal de ligne de commande.
Cet article explique comment renommer des répertoires à l'aide de la ligne de commande.
Renommer les répertoires #
Dans les systèmes d'exploitation Linux et Unix, vous pouvez utiliser le mv
(abréviation de déplacer) pour renommer ou déplacer des fichiers et des répertoires d'un emplacement à un autre.
La syntaxe du mv
commande pour déplacer les répertoires est la suivante :
mv [OPTIONS] source destination
Par exemple, pour renommer le répertoire dir1
comme dir2
vous exécuteriez :
mv dir1 dir2
Lorsque vous renommez des répertoires, vous devez spécifier exactement deux arguments au mv
commande. Le premier argument est le nom actuel du répertoire et le second est le nouveau nom.
Il est important de noter que si dir2
existe déjà, dir1
est déplacé vers le dir2
répertoire.
Pour renommer un répertoire qui n'est pas dans le répertoire de travail courant, vous devez spécifier le chemin absolu ou relatif :
mv /home/user/dir1 /home/user/dir2
Renommer plusieurs répertoires #
Renommer un seul répertoire est une tâche simple, mais renommer plusieurs répertoires à la fois peut être un défi, en particulier pour les nouveaux utilisateurs de Linux.
Renommer plusieurs répertoires à la fois est rarement nécessaire.
Renommer plusieurs répertoires avec mv
#
Le mv
La commande ne peut renommer qu'un seul fichier à la fois. Cependant, il peut être utilisé en conjonction avec d'autres commandes telles que find
ou à l'intérieur de boucles pour renommer plusieurs fichiers à la fois.
Voici un exemple montrant comment utiliser le Bash for
boucle pour ajouter la date actuelle aux noms de tous les répertoires du répertoire de travail actuel :
for d in *; do
if [ -d "$d" ]; then
mv -- "$d" "${d}_$(date +%Y%m%d)"
fi
done
Analysons le code ligne par ligne :
- La première ligne crée une boucle et parcourt une liste de tous les fichiers.
- La deuxième ligne vérifie si le fichier est un répertoire.
- La troisième ligne ajoute la date actuelle à chaque répertoire.
Voici une solution à la même tâche en utilisant mv
en combinaison avec find
:
find . -mindepth 1 -prune -type d -exec sh -c 'd="{}"; mv -- "$d" "${d}_$(date +%Y%m%d)"' \;
Le find
la commande passe tous les répertoires à mv
un par un en utilisant le -exec
option. La chaîne {}
est le nom du répertoire en cours de traitement.
Comme vous pouvez le voir dans les exemples, renommer plusieurs répertoires avec mv
n'est pas une tâche facile car elle nécessite une bonne connaissance des scripts Bash.
Renommer plusieurs répertoires avec rename
#
Le rename
La commande est utilisée pour renommer plusieurs fichiers et répertoires. Cette commande est plus avancée que mv
car cela nécessite une connaissance de base des expressions régulières.
Il existe deux versions du rename
commande avec une syntaxe différente. Nous utiliserons la version Perl du rename
commande. Les fichiers sont renommés en fonction de l'expression régulière perl donnée.
L'exemple suivant montre comment remplacer les espaces dans les noms de tous les répertoires du répertoire de travail actuel par des traits de soulignement :
find . -mindepth 1 -prune -type d | rename 'y/ /_/'
Pour plus de sécurité, passez le -n
option pour rename
pour imprimer les noms des répertoires à renommer sans les renommer.
Voici un autre exemple montrant comment convertir les noms de répertoires en minuscules :
find . -mindepth 1 -prune -type d | rename 'y/A-Z/a-z/'
Conclusion #
Nous vous avons montré comment utiliser le mv
commandes pour renommer les répertoires.
Si vous avez des questions ou des commentaires, n'hésitez pas à laisser un commentaire.