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

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

7 ответов

Решение
mv /home/user/oldname /home/user/newname

mv может сделать две работы.

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

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

mv old_name new_name 

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

Чтобы переместить файл или каталог, введите это в Терминале.

mv file_name ~/Desktop 

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

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

mv -R directory_name ~/Desktop
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 перемещается в каталог, а не заменяет каталог?

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

mv Directory ./NewNameDirectory

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

gvfs-move /home/user/oldname /home/user/newname

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

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

не сработает, но

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

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

Я предпочитаю использовать метод: vidir, потому что я люблю vi

Установить дополнительные утилиты

      sudo apt update; sudo apt install moreutils

Вызов команды vidir в вашем домашнем каталоге

      vidir ~

Теперь найдите каталог, который нужно изменить, используя косую черту /, например /oldname , внесите изменения, затем нажмите =ESC введите :wq

Сделанный!

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