J'ai le répertoire /home/user/oldname
et je veux le renommer en /home/user/newname
. Comment puis-je le faire dans un terminal?
mv
peut effectuer deux tâches.
Pour simplement renommer un fichier ou un répertoire, tapez ceci dans Terminal:
mv old_name new_name
avec un espace entre l'ancien et le nouveau nom.
Pour déplacer un fichier ou un répertoire, saisissez ceci dans Terminal.
mv file_name ~/Desktop
il déplacera le fichier sur le bureau.
Si un répertoire est ajouté, vous devez ajouter -R
avant le nom du répertoire:
mv -R directory_name ~/Desktop
mv -T /home/user/oldname /home/user/newname
Cela va renommer 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 se produira:
/home/user/newname
n'existe pas, il renomme /home/user/oldname
en /home/user/newname
/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 remplacer le répertoire?
Cette commande gvfs-move
renommera également les fichiers et les répertoires.
gvfs-move /home/user/oldname /home/user/newname
Si vous souhaitez renommer un répertoire à votre niveau dans le système de fichiers (par exemple, vous vous trouvez dans votre répertoire personnel et souhaitez renommer un répertoire qui se trouve également dans votre répertoire personnel):
mv Directory ./NewNameDirectory
gvfs-rename renommera également les répertoires. Cela donnera 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 avec le nom du dossier. Donc,
gvfs-rename /home/boo /home/boo-the-dog
ne fonctionnera pas, mais
cd /home
gvfs-rename boo boo-the-dog
fonctionnera. Pas aussi utile que mv -T mais j'ai lu dans l'homme qu'il était destiné aux opérations réseau.
Lire d'autres questions sur les étiquettes command-line rename