У меня есть каталог, /home/user/oldnameи я хочу переименовать его в /home/user/newname. Как я могу сделать это в терминале?
mvили rename.
У меня есть каталог, /home/user/oldnameи я хочу переименовать его в /home/user/newname. Как я могу сделать это в терминале?
mvили rename.
Ответы:
mv /home/user/oldname /home/user/newname
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 может сделать две работы.
Чтобы просто переименовать файл или каталог, введите это в Терминале:
mv old_name new_name
с пробелом между старым и новым именами.
Чтобы переместить файл или каталог, введите это в Терминале.
mv file_name ~/Desktop
это переместит файл на рабочий стол.
Если это каталог, который вы должны добавить -Rперед именем каталога:
mv -R directory_name ~/Desktop
mvна Ubuntu из ядра GNU Coreutils. УДАЛЕНО у этого нет никакой -Rопции, и это не необходимо при перемещении каталога.
-T. Смотрите ответ @ bmaupin за его поведение.
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 -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-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, но я прочитал в человеке, что он предназначен для сетевых операций.