У меня есть каталог, /home/user/oldname
и я хочу переименовать его в /home/user/newname
. Как я могу сделать это в терминале?
command-line
rename
Н.Н.
источник
источник
mv
илиrename
.Ответы:
источник
No such file or directory
. Чтобы избежать этого, сделайте что-нибудь подобноеmv /home/user/Folder /home/user/temp; mv /home/user/temp/ /home/user/folder
.--no-target-directory
(-T
) , чтобы не рассматриватьnewname
как целевой каталог.mv
может сделать две работы.Чтобы просто переименовать файл или каталог, введите это в Терминале:
с пробелом между старым и новым именами.
Чтобы переместить файл или каталог, введите это в Терминале.
это переместит файл на рабочий стол.
Если это каталог, который вы должны добавить
-R
перед именем каталога:источник
mv
на Ubuntu из ядра GNU Coreutils. УДАЛЕНО у этого нет никакой-R
опции, и это не необходимо при перемещении каталога.-T
. Смотрите ответ @ bmaupin за его поведение.Это переименует каталог, если место назначения не существует или если оно существует, но оно пустое. В противном случае это даст вам ошибку.
Если вы сделаете это вместо этого:
Произойдет одно из двух:
/home/user/newname
не существует, он будет переименован/home/user/oldname
в/home/user/newname
/home/user/newname
существует, то он будет двигаться/home/user/oldname
в/home/user/newname
, т.е./home/user/newname/oldname
Источник: Как решить, что mv перемещается в каталог, а не заменяет каталог?
источник
mv -T $PWD/analisys $PWD/Analisys
возвращаетсяmv: '/Users/sixtykeys/Projects/murphy/tmp/analisys' and '/Users/sixtykeys/Projects/murphy/tmp/Analisys' are the same file
. Я работал над этим, используя промежуточное имя (т.е.analisys_
).Если вы хотите переименовать каталог на своем уровне в файловой системе (например, вы находитесь в своем домашнем каталоге и хотите переименовать каталог, который также находится в вашем домашнем каталоге):
источник
Эта
gvfs-move
команда также переименует файлы и каталоги.источник
gvfs-rename также переименует каталоги. Это выдаст ошибку, если каталог с новым именем уже существует. Единственным ограничением является то, что вы не можете использовать путь с именем папки. Так
не сработает, но
будет работать. Не так полезно, как mv -T, но я прочитал в человеке, что он предназначен для сетевых операций.
источник