Що спричиняє створення файлів підкачки?


31

У рамках програми, яку я писав, я постійно читаю і записую дані з файлів. Я помітив, що в рамках цього я ненароком створюю .swpфайли свопу .

Як ви думаєте, що відбувається? Що може спричинити появу файлів swap, якщо вам доведеться відтворити проблему?

Відповіді:


41

Файл .swp не є файлом своп в сенсі ОС. Це державний файл. Він зберігає ваші зміни після останнього збереження (за винятком останніх 200 символів), збережених вами буферів, збережених макросів та структури скасування.

Ви можете прочитати в довідці VIM в: vim +help\ swap-file. Якщо стався збій (збою живлення, збій ОС тощо), ви можете відновити зміни за допомогою цього файлу swap. Після збереження змін із файлу swap у вихідний файл вам потрібно буде вийти з vim та видалити файл swap самостійно.


Чомусь мій файл ~ / .swp - це 11,7 ГБ. Я просто її видалив.
Даніель Ченг

19

.swpФайли створені Vim , вони повинні бути автоматично видалені, коли ви закриваєте файл та виходите з редактора.


1
Чи можна їх створити ззовні Vim? У моєму випадку файли записуються з моєї програми безпосередньо, без використання редактора
JAM

@JAM: На якій мові та бібліотеках написана ця програма?
jwodder

5
@JAM Взагалі ні, це функція Vim. Я сумніваюся, що ці файли записуються безпосередньо з вашої програми, не знаючи, це не має сенсу. Набагато ймовірніше, що ви плутаєтеся, ці файли створюються під час редагування файлів за допомогою Vim, і ви присвоюєте їх своїй програмі.
Джуліано

4

.swp файли - це не що інше, як файл блокування, який редактор, як правило, vim, створює, щоб вказати, що файл редагується. Таким чином, якщо ви відкриєте файл в іншому екземплярі vim, якщо хтось із мережі зробив це, вони побачать попередження про те, що файл редагується.
Видаляти їх не потрібно вручну. Ви редактор видалить файл swap, як тільки ви закриєте файл у своєму редакторі.


2

Я щойно виконував команду mv на файлі об'ємом 31 ГБ і був створений .swp-файл 13 ГБ, редагування не було.

mv X.csv Y.csv створили Y.csv та .Y.csv.swp

Файлова система CentOS 6.5, ext4


Спасибі. У вас був подібний досвід з `rsync 'теж?
imriss
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.