in

Comment renommer un répertoire sous Linux

Liens rapides

Renommer un répertoire sous Linux est simple et il existe de nombreuses façons de procéder. Du renommage d’un seul répertoire à la recherche et au renommage de plusieurs, voici comment procéder.

Renommer un dossier ne nuira pas à vos données

Renommer des répertoires est quelque chose que nous devons tous faire de temps en temps.

Nous pouvons créer un répertoire et mal orthographier son nom, et nous voulons le corriger. Souvent, l’objectif d’un répertoire change au fil du temps ou au cours de la vie d’un projet, et vous souhaitez ajuster le nom pour refléter sa nouvelle utilisation. Peut-être avez-vous décompressé un fichier d’archive et créé une arborescence de répertoires avec les noms de répertoires en majuscules et vous les souhaitez en minuscules.

Quelle que soit la raison, renommer un répertoire n’a aucun effet sur les données qu’il contient. Cela modifie le chemin d’accès à ces données, mais les fichiers et répertoires à l’intérieur de votre répertoire renommé ne sont pas touchés.

Ne pas renommer les répertoires système. Changer le chemin d’accès aux fichiers et aux commandes système aura pour le moins un effet néfaste sur le fonctionnement de votre ordinateur. Si vous devez utiliser sudo pour renommer un répertoire — à moins que vous sachiez vraiment ce que vous faites — il y a de fortes chances que vous ne devriez pas le renommer.

Utilisation de la commande mv

Dans les cas les plus simples, tout ce dont nous avons besoin c’est du mv commande. Ceci fait partie intégrante de chaque distribution Linux, il n’y a donc rien à installer.

Le mv le commandement a plus de 50 ans au moment de la rédaction de cet article. Il vient de l’aube d’Unix, lorsque les commandes courtes et énigmatiques étaient à la mode, probablement pour réduire le nombre de caractères qui devaient transmettre le long de lignes série lentes depuis les télétypes et les terminaux stupides jusqu’à l’ordinateur lui-même.

Il signifie en fait « déplacer » et peut être utilisé pour déplacer des fichiers d’un répertoire à l’autre. Si vous déplacez un fichier vers le même emplacement où il se trouve déjà et lui donnez un nouveau nom, vous avez renommé le fichier. Et nous pouvons faire la même chose avec les répertoires.

Il y a deux sous-répertoires dans ce répertoire.

ls

Pour renommer un répertoire, nous utilisons la commande mv. Nous devons fournir le nom actuel du répertoire et le nouveau nom.

mv old-work archive-2

Renommer un répertoire avec mv

Si le répertoire que vous souhaitez renommer ne se trouve pas dans votre répertoire actuel, indiquez le chemin ainsi que le nom du répertoire.

mv ~/htg/old-work ~/htg/archive-2
ls

Renommer un répertoire dans un autre répertoire avec mv en spécifiant le chemin sur la ligne de commande

Utilisation du navigateur de fichiers

Les navigateurs de fichiers sont capables de renommer les répertoires. La frappe dans l’application Fichiers GNOME est F2. La mise en surbrillance d’un répertoire et l’appui sur la touche F2 ouvre la boîte de dialogue « Renommer le dossier ».

Utiliser le navigateur fie pour renommer un répertoire

Tapez le nouveau nom et cliquez sur le bouton vert « Renommer ».

Fournir le nouveau nom du répertoire dans le navigateur de fichiers

Le répertoire est renommé pour vous.

Le répertoire renommé dans la fenêtre du navigateur de champs

C’est aussi simple que ça.

La commande Renommer

Si vos besoins sont plus compliqués que le simple renommage d’un répertoire, vous devrez peut-être utiliser le rename commande. Cela vous permet d’utiliser des expressions Perl pour renommer des fichiers et des répertoires. Il fournit un moyen beaucoup plus puissant et flexible de renommer des répertoires.

Nous allons parler du système basé sur Perl rename commande. Il existe une autre commande plus ancienne appelée rename qui fait partie des utilitaires de base de Linux. Vous devrez probablement installer Perl rename commande que nous voulons utiliser.

Pour éviter les conflits de noms avec l’existant rename commande, le Perl rename la commande est appelée prename sur Fedora, et perl-rename sur Manjaro. Sur Ubuntu, le rename et prename les commandes sont toutes deux des liens symboliques qui se résolvent en un binaire appelé file-rename.

Donc, sur Manjaro, la commande que vous devrez utiliser perl-renameet sur Fedora c’est prename . Sur Ubuntu, vous pouvez utiliser rename ou prename.

Pour installer Perl Rename, sur Ubuntu, vous devez taper :

sudo apt install rename

Installation de renommer sur Ubuntu

Sur Fedora, la commande est :

sudo dnf install prename

Installer le prénom sur Fedora

Sur Manjaro, le package s’appelle perl-rename.

sudo pacman -Sy perl-rename

Installation de Perl-rename sur Manjaro

Assurez-vous d’utiliser la commande appropriée pour votre distribution si vous souhaitez parcourir les exemples.

Premiers pas avec renommer

Le rename La commande prend des expressions régulières Perl et les applique à un fichier ou un répertoire, ou à un groupe de fichiers ou de répertoires.

Dans notre annuaire, nous avons une collection d’autres annuaires.

ls

Une collection de répertoires dans un mélange de majuscules, minuscules et casse mixte

Leurs noms sont un mélange de minuscules, de majuscules et de casses mixtes. Nous pouvons tous les convertir en minuscules avec une expression appropriée.

rename 'y/A-Z/a-z/' *
ls

Conversion de répertoires en noms minuscules

Tous les répertoires sont désormais en minuscules, qu’ils soient entièrement en majuscules auparavant ou qu’ils contiennent quelques lettres majuscules.

Toute la magie est contenue dans l’expression. L’expression est entourée de guillemets simples « '« . C’est ce que signifie toute la commande.

  • oui: Cela signifie rechercher n’importe quel caractère dans la première plage de caractères et le remplacer par le caractère correspondant de la deuxième plage de caractères.
  • /AZ/az/: La première plage comprend toutes les lettres de « A » à « Z » et la deuxième plage contient tous les caractères de « a » à « z ».
  • *: Le caractère générique astérisque signifie l’appliquer à tous les répertoires.

En d’autres termes, la commande se lit comme suit : « pour tous les répertoires, remplacez les lettres majuscules par la lettre minuscule équivalente ».

Évidemment, vous pouvez renommer un seul répertoire avec rename, même si cela semble exagéré. Vous serez plus rapide en utilisant mv.

rename 's/gamma/epsilon-2/' *
ls

renommer un seul répertoire avec rename

Le « s » dans cette expression signifie substitut. Il vérifie chaque répertoire pour voir si son nom est « gamma ». Si tel est le cas, il le remplace par « epsilon-2 ». Sachez cependant que cela aurait également correspondu à un répertoire appelé « gamma-zeta », par exemple en le renommant « epsilon-2-zeta ».

Nous pouvons éviter cela en ajoutant le début de la chaîne « ^ » et fin de chaîne « $ » métacaractères à la première clause de l’expression.

ls
rename 's/^gamma$/epsilon-2/' *
ls

Limiter une action de renommage aux noms de répertoires entiers uniquement

Cela laisse le répertoire « epsilon-2 » intact.

Utiliser Renommer avec d’autres commandes

Nous pouvons utiliser d’autres commandes pour localiser les répertoires souhaités rename travailler sur. Si nous avons un ensemble de répertoires imbriqués et que nous voulons renommer ceux qui se terminent par « -old » pour qu’ils se terminent par « -archive », nous pouvons y parvenir en utilisant find et xargs.

Nous devons utiliser xargs parce que rename n’accepte pas les entrées canalisées. Le xargs La commande surmonte ce problème en acceptant l’entrée redirigée et en l’ajoutant à la ligne de commande d’une autre commande en tant que paramètre de ligne de commande.

Notre commande ressemble à ceci :

find . -depth -type d -name "*-old" | xargs -r rename "s/old$/archive/"
  • .: Nous disons à find de commencer la recherche dans le répertoire courant. Cela pourrait être n’importe quelle voie, bien sûr.
  • -profondeur: utilisez une recherche en profondeur d’abord. Cela signifie que le contenu des sous-répertoires imbriqués les plus profonds est traité avant les sous-répertoires supérieurs.
  • -type d: Recherchez des répertoires, pas des fichiers.
  • -name « *-ancien »: L’indice de recherche. Nous recherchons des répertoires dont les noms se terminent par « -old ».
  • |: Nous redirigeons la sortie de find vers le xargs commande.
  • xargs -r: Le -r (pas d’exécution si vide) signifie ne pas exécuter la commande s’il n’y a pas de répertoires correspondants.
  • renommer « s/old$/archive/ »: Le rename commande à exécuter.

Notre arborescence de répertoires ressemble à ceci avant la commande.

L'arborescence des répertoires avant notre commande de changement de nom

Nous exécutons notre commande :

Notre commande de renommage utilisant find, xargs et rename

Et nous pouvons voir que tous les répertoires correspondants, y compris ceux imbriqués, ont été renommés.

L'arborescence des répertoires après la commande de changement de nom

Chevaux de course

Renommer un répertoire ne nécessite rien de plus que mv. Si vous préférez les applications GUI, vous pouvez utiliser votre navigateur de fichiers. Si vous avez beaucoup de répertoires à renommer, et surtout s’ils sont dispersés dans une arborescence de répertoires, vous aurez besoin de la flexibilité de rename.

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *

Comment utiliser la commande uname sous Linux

Comment utiliser la commande uname sous Linux

Comment répertorier les utilisateurs sous Linux

Comment répertorier les utilisateurs sous Linux