У мене каталог /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, але я прочитав у людині, що він призначений для мережевих операцій.