Tengo el directorio /home/user/oldname
y quiero cambiarle el nombre /home/user/newname
. ¿Cómo puedo hacer esto en una terminal?
mv
o rename
.
Tengo el directorio /home/user/oldname
y quiero cambiarle el nombre /home/user/newname
. ¿Cómo puedo hacer esto en una terminal?
mv
o rename
.
Respuestas:
mv /home/user/oldname /home/user/newname
No such file or directory
. Para evitar esto haz algo como mv /home/user/Folder /home/user/temp; mv /home/user/temp/ /home/user/folder
.
--no-target-directory
( -T
) , para evitar newname
ser tratado como un directorio de destino.
mv
puede hacer dos trabajos
Para cambiar el nombre de un archivo o directorio, escriba esto en Terminal:
mv old_name new_name
con espacio entre los viejos y nuevos nombres.
Para mover un archivo o directorio escriba esto en Terminal.
mv file_name ~/Desktop
moverá el archivo al escritorio.
Si es un directorio que debe agregar -R
antes del nombre del directorio:
mv -R directory_name ~/Desktop
mv
en Ubuntu es de GNU coreutils. AFAICT no tiene una -R
opción, ni es necesario al mover un directorio.
-T
. Vea la respuesta de @ bmaupin para su comportamiento.
mv -T /home/user/oldname /home/user/newname
Eso cambiará el nombre del directorio si el destino no existe o si existe pero está vacío. De lo contrario, le dará un error.
Si haces esto en su lugar:
mv /home/user/oldname /home/user/newname
Sucederá una de dos cosas:
/home/user/newname
no existe, cambiará el nombre /home/user/oldname
a/home/user/newname
/home/user/newname
existe, se moverá /home/user/oldname
a /home/user/newname
, es decir/home/user/newname/oldname
Fuente: ¿Cómo decidir que mv se mueve a un directorio en lugar de reemplazar el directorio?
mv -T $PWD/analisys $PWD/Analisys
vuelve mv: '/Users/sixtykeys/Projects/murphy/tmp/analisys' and '/Users/sixtykeys/Projects/murphy/tmp/Analisys' are the same file
. Trabajé alrededor de esto usando un nombre intermedio (es decir analisys_
).
Este gvfs-move
comando también cambiará el nombre de los archivos y directorios.
gvfs-move /home/user/oldname /home/user/newname
gvfs-rename también cambiará el nombre de los directorios. Dará un error si ya existe un directorio con el nuevo nombre. La única limitación es que no puede usar una ruta con el nombre de la carpeta. Entonces
gvfs-rename /home/boo /home/boo-the-dog
no funcionará, pero
cd /home
gvfs-rename boo boo-the-dog
trabajará. No es tan útil como mv -T pero leí en el hombre que estaba destinado a operaciones de red.