Ho ottenuto la directory /home/user/oldname
e voglio rinominarla in /home/user/newname
. Come posso farlo in un terminale?
Ho ottenuto la directory /home/user/oldname
e voglio rinominarla in /home/user/newname
. Come posso farlo in un terminale?
mv /home/user/oldname /home/user/newname
mv
può fare due lavori.
Per rinominare semplicemente un file o una directory, digita questo nel Terminale:
mv old_name new_name
con spazio tra il vecchio e il nuovo nome.
Per spostare un file o una directory, digita questo nel Terminale.
mv file_name ~/Desktop
sposterà il file sul desktop.
Se è una directory, devi aggiungere -R
prima del nome della directory:
mv -R directory_name ~/Desktop
mv -T /home/user/oldname /home/user/newname
Questo 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
Una delle due cose succederà:
/home/user/newname
non esiste, rinominerà /home/user/oldname
in /home/user/newname
/home/user/newname
, sposta /home/user/oldname
in /home/user/newname
, cioè /home/user/newname/oldname
Fonte: Come decidere che mv si sposta in una directory invece di sostituire la directory?
Questo comando gvfs-move
rinominerà anche i file e le directory.
gvfs-move /home/user/oldname /home/user/newname
Se vuoi rinominare una directory al tuo livello nel file system (ad esempio, sei nella tua home directory e vuoi rinominare una directory che si trova anche nella tua home directory):
mv Directory ./NewNameDirectory
gvfs-rename rinominerà anche le directory. Darà 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. Quindi
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 pensato per le operazioni di rete.
Leggi altre domande sui tag command-line rename