J'ai le répertoire /home/user/oldname
et je veux le renommer /home/user/newname
. Comment puis-je faire cela dans un terminal?
mv
ou rename
.
J'ai le répertoire /home/user/oldname
et je veux le renommer /home/user/newname
. Comment puis-je faire cela dans un terminal?
mv
ou rename
.
Réponses:
mv /home/user/oldname /home/user/newname
No such file or directory
. Pour éviter cela, faites quelque chose comme mv /home/user/Folder /home/user/temp; mv /home/user/temp/ /home/user/folder
.
--no-target-directory
( -T
) , pour éviter de traiter newname
comme un répertoire cible.
mv
peut faire deux emplois.
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
mv
sur Ubuntu provient de GNU coreutils. AFAICT n’a pas d’ -R
option, il n’est pas nécessaire lors du déplacement d’un répertoire.
-T
. Voir la réponse de @ bmaupin pour son comportement.
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:
/home/user/newname
n'existe pas, il sera renommé /home/user/oldname
en/home/user/newname
/home/user/newname
existe, il entrera /home/user/oldname
dans /home/user/newname
, c'est à dire/home/user/newname/oldname
Source: Comment décider que mv se déplace dans un répertoire plutôt que de le remplacer?
mv -T $PWD/analisys $PWD/Analisys
retourne mv: '/Users/sixtykeys/Projects/murphy/tmp/analisys' and '/Users/sixtykeys/Projects/murphy/tmp/Analisys' are the same file
. J'ai travaillé autour de cela en utilisant un nom intermédiaire (c'est-à-dire analisys_
).
Cette gvfs-move
commande renommera également les fichiers et les répertoires.
gvfs-move /home/user/oldname /home/user/newname
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.