У мене каталог /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 може виконати дві роботи.
Щоб просто перейменувати файл або каталог, введіть це в Terminal:
mv old_name new_name
з пробілом між старими та новими іменами.
Щоб перемістити файл або каталог, введіть це у Terminal.
mv file_name ~/Desktop
він перемістить файл на робочий стіл.
Якщо це каталог, який слід додати -Rперед ім'ям каталогу:
mv -R directory_name ~/Desktop
mvна Ubuntu - це GNU coreutils. AFAICT у нього немає -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, але я прочитав у людині, що він призначений для мережевих операцій.