Как переименовать каталог через командную строку?

414

У меня есть каталог /home/user/oldname , и я хочу переименовать его в /home/user/newname . Как я могу сделать это в терминале?

    
задан N.N. 08.08.2011 в 18:58
источник

6 ответов

544
mv /home/user/oldname /home/user/newname
    
ответ дан Rafał Cieślak 08.08.2011 в 19:10
источник
92

mv может выполнять два задания.

  1. Он может перемещать файлы или каталоги
  2. Он может переименовывать файлы или каталоги

Чтобы просто переименовать тип файла или каталога в Terminal:

mv old_name new_name 

с пробелом между старыми и новыми именами.

Чтобы переместить файл или тип каталога в Terminal.

mv file_name ~/Desktop 

он переместит файл на рабочий стол.

Если это каталог, вы должны добавить -R перед именем каталога:

mv -R directory_name ~/Desktop
    
ответ дан shadi 21.04.2013 в 15:58
источник
22
mv -T /home/user/oldname /home/user/newname

Это переименует каталог, если цель не существует или существует, но она пуста. В противном случае вы получите сообщение об ошибке.

Если вы сделаете это вместо этого:

mv /home/user/oldname /home/user/newname

Произойдет одна из двух вещей:

  • Если /home/user/newname не существует, он переименует /home/user/oldname в /home/user/newname
  • Если /home/user/newname существует, он переместит /home/user/oldname в /home/user/newname , т. е. /home/user/newname/oldname

Источник: Как решить, что mv перемещается в каталог, а не заменяет каталог?

    
ответ дан bmaupin 27.04.2016 в 20:31
источник
3

Эта команда gvfs-move также переименует файлы и каталоги.

gvfs-move /home/user/oldname /home/user/newname
    
ответ дан Avinash Raj 21.04.2014 в 07:26
источник
3

Если вы хотите переименовать каталог на своем уровне в файловой системе (например, вы находитесь в своем домашнем каталоге и хотите переименовать каталог, который также находится в вашем домашнем каталоге):

mv Directory ./NewNameDirectory
    
ответ дан Matt P 12.07.2014 в 15:26
источник
1

gvfs-rename также переименует каталоги. Это приведет к ошибке, если каталог с новым именем уже существует. Единственное ограничение - вы не можете использовать путь с именем папки. Так

gvfs-rename /home/boo /home/boo-the-dog 

не будет работать, но

cd /home 
gvfs-rename boo boo-the-dog 

будет работать. Не так полезно, как mv -T, но я прочитал в нем, что он предназначен для сетевых операций.

    
ответ дан thebunnyrules 29.11.2016 в 08:58
источник

Ознакомьтесь с другими вопросами по меткам