Eu tenho o diretório /home/user/oldname
e quero renomeá-lo para /home/user/newname
. Como posso fazer isso em um terminal?
mv
ou rename
.
Eu tenho o diretório /home/user/oldname
e quero renomeá-lo para /home/user/newname
. Como posso fazer isso em um terminal?
mv
ou rename
.
Respostas:
mv /home/user/oldname /home/user/newname
No such file or directory
. Para evitar isso, faça algo parecido mv /home/user/Folder /home/user/temp; mv /home/user/temp/ /home/user/folder
.
--no-target-directory
( -T
) , para evitar o tratamento newname
como um diretório de destino.
mv
pode fazer dois trabalhos.
Para renomear apenas um arquivo ou diretório, digite-o no Terminal:
mv old_name new_name
com espaço entre os nomes antigos e novos.
Para mover um arquivo ou diretório, digite-o no Terminal.
mv file_name ~/Desktop
ele moverá o arquivo para a área de trabalho.
Se for um diretório, você deve adicionar -R
antes do nome do diretório:
mv -R directory_name ~/Desktop
mv
no Ubuntu é do GNU coreutils. AFAICT não tem uma -R
opção, nem é necessário ao mover um diretório.
-T
. Veja a resposta de @ bmaupin para saber seu comportamento.
mv -T /home/user/oldname /home/user/newname
Isso renomeará o diretório se o destino não existir ou se existir, mas estiver vazio. Caso contrário, ocorrerá um erro.
Se você fizer isso:
mv /home/user/oldname /home/user/newname
Uma de duas coisas acontecerá:
/home/user/newname
não existir, ele será renomeado /home/user/oldname
para/home/user/newname
/home/user/newname
existir, passará /home/user/oldname
para /home/user/newname
, ou seja,/home/user/newname/oldname
Fonte: Como decidir que o mv se move para um diretório em vez de substituí-lo?
mv -T $PWD/analisys $PWD/Analisys
retorna mv: '/Users/sixtykeys/Projects/murphy/tmp/analisys' and '/Users/sixtykeys/Projects/murphy/tmp/Analisys' are the same file
. Eu trabalhei em torno disso usando um nome intermediário (ie analisys_
).
Este gvfs-move
comando também renomeará arquivos e diretórios.
gvfs-move /home/user/oldname /home/user/newname
O gvfs-rename também renomeará diretórios. Irá ocorrer um erro se já existir um diretório com o novo nome. A única limitação é que você não pode usar um caminho com o nome da pasta. assim
gvfs-rename /home/boo /home/boo-the-dog
não vai funcionar, mas
cd /home
gvfs-rename boo boo-the-dog
vai funcionar. Não é tão útil quanto o mv -T, mas li no homem que era para operações de rede.