Что вызывает создание файлов подкачки?

31

Как часть программы, которую я написал, я постоянно читаю и записываю данные из файлов. Я заметил, что в результате этого я случайно создаю .swpфайлы подкачки .

Что по-твоему происходит? Что может вызвать появление файлов подкачки, если вам придется воспроизвести проблему?

ВАРЕНЬЕ
источник

Ответы:

41

Файл .swp не является файлом подкачки в смысле ОС. Это государственный файл. Он сохраняет ваши изменения с момента последнего сохранения (кроме последних 200 символов), сохраненных вами буферов, несохраненных макросов и структуры отмены.

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

Arcege
источник
По некоторым причинам, мой файл ~ / .swp имеет размер 11,7 ГБ. Я только что удалил это.
Даниэль Чунг
19

.swpфайлы создаются Vim , они должны автоматически удаляться при закрытии файла и выходе из редактора.

Жулиано
источник
1
Могут ли они быть созданы извне Vim? В моем случае файлы пишутся из моей программы напрямую, без использования редактора
JAM
@JAM: На каком языке и библиотеках написана эта программа?
jwodder
5
@JAM Вообще-то нет, это функция Vim. Я сомневаюсь, что эти файлы пишутся прямо из вашей программы без вашего ведома, это не имеет смысла. Гораздо более вероятно, что вы запутались, эти файлы создаются, когда вы редактируете файлы с помощью Vim, и вы приписываете их своей программе.
Джулиано
4

Файлы .swp - не что иное, как разновидность файла блокировки, который вы редактируете, обычно vim, чтобы указать, что файл редактируется. Таким образом, если вы откроете файл в другом экземпляре vim, если кто-то в сети сделал это, он увидит предупреждение о том, что файл редактируется.
Вам не нужно удалять их вручную. Ваш редактор удалит файл подкачки, как только вы закроете файл в вашем редакторе.

Адитья Патавари
источник
2

Я только что выполнил команду mv для файла объемом 31 ГБ, и был создан файл .swp размером 13 ГБ, редактирование не выполнялось.

mv X.csv Y.csv создал Y.csv и .Y.csv.swp

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

user56408
источник
Спасибо. У вас был похожий опыт работы с rsync?
Имрисс