Чому вільний простір у вихідному розділі не змінюється під час "mv"?


13

Я бігаю mvпереміщувати каталог (який містить багато файлів) з одного розділу в інший. Під час mvпереміщення окремих файлів у каталозі по одному, я помічаю, що розмір вільного простору вихідного розділу не змінюється, тоді як розмір вільного простору в розділі призначення зменшується.

Чому це працює саме так, замість суми розмірів вільного простору вихідних та цільових розділів залишаються однаковими?

Відповіді:


16

Як визначено POSIX, mv буде дублювати вихідний файл до шляху призначення, і якщо нічого не піде не так, вихідний файл буде видалений:

  1. Ієрархія файлів, що укорінена у source_file, повинна дублюватися як ієрархія файлів, що укорінена у шляху призначення

  2. Ієрархія файлів, укорінена в source_file, повинна бути видалена. Якщо це не вдалося з будь-якої причини, mv повинен написати діагностичне повідомлення до стандартної помилки, більше нічого не робити з поточним file_file та перейти до будь-яких інших джерел_файлів.

Якщо ви переміщуєтесь в одній і тій же файловій системі, ви переміщуєте запис лише з одного місця файлової системи в інше.

Це гарантувало, що ви не втратите вихідний файл, якщо під час переміщення відбудуться помилки.


16

Він зберігає консервативність і не видаляє файли, поки копія не стане успішною. Це полегшує відновлення, якщо щось піде не так.


але у режисера багато файлів
Тім,

7
@Tim: Він не починає видаляти вихідні файли, поки всі файли не дублюються на цільовому томі. Якщо вам потрібно перемістити файли один за одним, щоб ніколи не було використано більше "зайвого" простору, ніж у найбільшого файлу, для цього потрібно створити цикл.
Воррен Янг

4
Ви коли-небудь робили перехід у MS-Windows, і приблизно на півдорозі ходу щось пішло не так. І джерело, і місце призначення - безлад, і вам залишається виправити це. Якщо ви не вечерячий вечеря, то ви, мабуть, просто видалите обидва, і навчитеся не робити цього знову.
ctrl-alt-delor
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.