web-dev-qa-db-fra.com

Comment renommer un répertoire via la ligne de commande?

J'ai le répertoire /home/user/oldname et je veux le renommer en /home/user/newname. Comment puis-je faire cela dans un terminal?

532
N.N.
mv /home/user/oldname /home/user/newname
703
Rafał Cieślak

mv peut effectuer deux tâches.

  1. Il peut déplacer des fichiers ou des répertoires
  2. Il peut renommer des fichiers ou des répertoires

Pour renommer un fichier ou un répertoire, tapez ceci dans Terminal:

mv old_name new_name 

avec un espace entre les anciens et les nouveaux noms.

Pour déplacer un fichier ou un répertoire, tapez ceci dans Terminal.

mv file_name ~/Desktop 

il déplacera le fichier sur le bureau.

Si est un répertoire, vous devez ajouter -R avant le nom du répertoire:

mv -R directory_name ~/Desktop
118
shadi
mv -T /home/user/oldname /home/user/newname

Cela renommera le répertoire si la destination n'existe pas ou s'il existe mais qu'il est vide. Sinon, cela vous donnera une erreur.

Si vous faites cela à la place:

mv /home/user/oldname /home/user/newname

Une des deux choses va se passer:

  • Si /home/user/newname n'existe pas, il renommera /home/user/oldname en /home/user/newname
  • Si /home/user/newname existe, il déplacera /home/user/oldname dans /home/user/newname, c.-à-d. /home/user/newname/oldname

Source: Comment décider que mv se déplace dans un répertoire plutôt que de le remplacer?

36
bmaupin

Si vous souhaitez renommer un répertoire de votre niveau dans le système de fichiers (par exemple, vous vous trouvez dans votre répertoire de base et souhaitez renommer un répertoire qui se trouve également dans votre répertoire de base):

mv Directory ./NewNameDirectory
4
Matt P

Cette commande gvfs-move renommera également les fichiers et les répertoires.

gvfs-move /home/user/oldname /home/user/newname
4
Avinash Raj

gvfs-rename renommera également les répertoires. Il y aura une erreur si un répertoire avec le nouveau nom existe déjà. La seule limitation est que vous ne pouvez pas utiliser un chemin d'accès avec le nom du dossier. Alors

gvfs-rename /home/boo /home/boo-the-dog 

ne fonctionnera pas, mais

cd /home 
gvfs-rename boo boo-the-dog 

marchera. Pas aussi utile que mv -T mais j'ai lu dans l'homme qu'il était destiné aux opérations du réseau.

2
thebunnyrules