У меня есть каталог /home/user/oldname, и я хочу переименовать его в /home/user/newname. Как я могу сделать это в терминале?
mv может выполнять два задания.
Он может перемещать файлы или каталоги. Он может переименовывать файлы или каталогиЧтобы просто переименовать файл или тип каталога в Terminal: [ ! d4]
mv old_name new_name
с пробелом между старыми и новыми именами.
Чтобы переместить файл или тип каталога в Terminal.
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 doesn 't существует, он переименует /home/user/oldname в /home/user/newname Если существует /home/user/newname, он переместит /home/user/oldname в /home/user/newname, то есть /home/user/newname/oldnameИсточник: как решить, что mv движется в каталог вместо замены каталога?
Эта команда gvfs-move также переименовывает файлы и каталоги.
gvfs-move /home/user/oldname /home/user/newname
Если вы хотите переименовать каталог на своем уровне в файловой системе (например, вы находитесь в своем домашнем каталоге и хотите переименовать каталог, который также находится в вашем домашнем каталоге):
mv Directory ./NewNameDirectory
gvfs-rename также переименует каталоги. Это приведет к ошибке, если каталог с новым именем уже существует. Единственное ограничение - вы не можете использовать путь с именем папки. Поэтому
gvfs-rename /home/boo /home/boo-the-dog
не будет работать, но
cd /home
gvfs-rename boo boo-the-dog
будет работать. Не так полезно, как mv -T, но я прочитал в нем, что он предназначен для сетевых операций.