Ho la directory /home/user/oldname
e voglio rinominarla /home/user/newname
. Come posso farlo in un terminale?
mv
o rename
.
Ho la directory /home/user/oldname
e voglio rinominarla /home/user/newname
. Come posso farlo in un terminale?
mv
o rename
.
Risposte:
mv /home/user/oldname /home/user/newname
No such file or directory
. Per evitare questo, fai qualcosa del genere mv /home/user/Folder /home/user/temp; mv /home/user/temp/ /home/user/folder
.
--no-target-directory
( -T
) , per evitare di essere trattato newname
come una directory di destinazione.
mv
può fare due lavori.
Per rinominare un file o una directory, digita questo nel Terminale:
mv old_name new_name
con spazio tra i nomi vecchi e nuovi.
Per spostare un file o una directory digitare questo in Terminale.
mv file_name ~/Desktop
sposterà il file sul desktop.
Se è una directory è necessario aggiungere -R
prima del nome della directory:
mv -R directory_name ~/Desktop
mv
su Ubuntu proviene da coreutils GNU. AFAICT non ha -R
un'opzione, né è necessario quando si sposta una directory.
-T
. Vedi la risposta di @ bmaupin per il suo comportamento.
mv -T /home/user/oldname /home/user/newname
Ciò rinominerà la directory se la destinazione non esiste o se esiste ma è vuota. Altrimenti ti darà un errore.
Se invece lo fai:
mv /home/user/oldname /home/user/newname
Accadrà una delle due cose:
/home/user/newname
non esiste, verrà rinominato /home/user/oldname
in/home/user/newname
/home/user/newname
esiste, si sposterà /home/user/oldname
in /home/user/newname
, ad es/home/user/newname/oldname
Fonte: come decidere che mv si sposta in una directory anziché sostituirla?
mv -T $PWD/analisys $PWD/Analisys
ritorna mv: '/Users/sixtykeys/Projects/murphy/tmp/analisys' and '/Users/sixtykeys/Projects/murphy/tmp/Analisys' are the same file
. Ho risolto il problema usando un nome intermedio (es analisys_
.).
Questo gvfs-move
comando rinominerà anche file e directory.
gvfs-move /home/user/oldname /home/user/newname
gvfs-rename rinominerà anche le directory. Verrà visualizzato un errore se esiste già una directory con il nuovo nome. L'unica limitazione è che non è possibile utilizzare un percorso con il nome della cartella. Così
gvfs-rename /home/boo /home/boo-the-dog
non funzionerà, ma
cd /home
gvfs-rename boo boo-the-dog
funzionerà. Non utile come mv -T ma ho letto nell'uomo che era destinato alle operazioni di rete.