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

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

455 голосов | спросил N.N. 8 PM00000080000004131 2011, 20:58:41

6 ответов


602
mv /home/user/oldname /home/user/newname
ответил Rafał Cieślak 8 PM00000090000000631 2011, 21:10:06
101

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

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

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

mv old_name new_name 

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

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

mv file_name ~/Desktop 

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

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

mv -R directory_name ~/Desktop
ответил shadi 21 PMpSun, 21 Apr 2013 17:58:03 +040058Sunday 2013, 17:58:03
26
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 PMpWed, 27 Apr 2016 21:31:43 +030031Wednesday 2016, 21:31:43
4

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

gvfs-move /home/user/oldname /home/user/newname
ответил Avinash Raj 21 AMpMon, 21 Apr 2014 09:26:43 +040026Monday 2014, 09:26:43
3

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

mv Directory ./NewNameDirectory
ответил Matt P 12 J000000Saturday14 2014, 17:26:02
1

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

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

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

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

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

ответил thebunnyrules 29 22016vEurope/Moscow11bEurope/MoscowTue, 29 Nov 2016 10:58:00 +0300 2016, 10:58:00

Похожие вопросы

Популярные теги

security × 330linux × 316macos × 2827 × 268performance × 244command-line × 241sql-server × 235joomla-3.x × 222java × 189c++ × 186windows × 180cisco × 168bash × 158c# × 142gmail × 139arduino-uno × 139javascript × 134ssh × 133seo × 132mysql × 132