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

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

1
задан 16 October 2015 в 21:16

5 ответов

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

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

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

mv old_name new_name 

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

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

mv file_name ~/Desktop 

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

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

mv -R directory_name ~/Desktop
97
ответ дан 25 May 2018 в 19:26
  • 1
    mv в Ubuntu из GNU coreutils. AFAICT не имеет опции -R, а также при перемещении каталога. – arielf 9 September 2015 в 10:46
  • 2
    -r даже не работает – user1735921 26 September 2016 в 09:19
  • 3
    Правильный вариант - -T. Для его поведения см. [@ D0] @ bmaupin . – chronometric 23 March 2017 в 14:09
mv -T /home/user/oldname /home/user/newname

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

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

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

Случится одна из двух:

Если /home/user/newname doesn 't существует, он переименует /home/user/oldname в /home/user/newname Если существует /home/user/newname, он переместит /home/user/oldname в /home/user/newname, то есть /home/user/newname/oldname

Источник: как решить, что mv движется в каталог вместо замены каталога?

25
ответ дан 25 May 2018 в 19:26

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

gvfs-move /home/user/oldname /home/user/newname
4
ответ дан 25 May 2018 в 19:26

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

mv Directory ./NewNameDirectory
3
ответ дан 25 May 2018 в 19:26

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

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

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

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

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

1
ответ дан 25 May 2018 в 19:26

Другие вопросы по тегам:

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