Что вызывает создание .swp файлов?

Вопрос или проблема

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

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

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

Если происходит сбой (отключение питания, сбой ОС и т. д.) во время редактирования файла, то, когда вы в следующий раз попытаетесь открыть файл в Vim, Vim предложит восстановить ваши изменения с использованием этого файла подкачки. После сохранения изменений из файла подкачки в оригинальный файл вам нужно будет выйти из Vim и самостоятельно удалить файл подкачки.

Вы можете прочитать больше в справке Vim: vim +help\ swap-file.

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

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

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

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

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

Ответ или решение

Файлы с расширением .swp — это временные файлы, которые создаются текстовыми редакторами, такими как Vim и Nano, для управления состоянием редактируемого документа. Они выполняют несколько ключевых функций, о которых важно знать, чтобы понять причины их появления.

Причины создания .swp файлов

  1. Функция автоматического сохранения:
    Основная целью .swp файлов является хранение изменений с момента последнего сохранения документа. Это позволяет редактору восстановить данные в случае сбоя системы или незапланированного выхода из приложения. Обычно Vim создает .swp файл после редактирования определённого объема текста (по умолчанию — каждые 200 символов) или через каждые 4 секунды бездействия пользователя.

  2. Защита от одновременного редактирования:
    .swp файлы также служат механизмом блокировки, предотвращая одновременное редактирование одного и того же файла несколькими пользователями или экземплярами редактора. Когда вы открываете файл в Vim, создается .swp файл, который сигнализирует о том, что этот файл уже редактируется. Другие экземпляры Vim, пытаясь открыть тот же файл, получите предупреждение о том, что файл уже в процессе редактирования.

  3. Механизм восстановления:
    Если происходит сбой (например, отключение питания или крах ОС) во время редактирования, при следующем открытии файла Vim предложит восстановить изменения из .swp файла. Это дает возможность пользователям не потерять важные данные.

Пример вашей ситуации

Ваш случай с созданием .swp файла после выполнения команды mv на большом файле может быть неожиданным, однако это также может быть частью поведения Vim или другого редактора, если они настроены для работы с закрытыми файлами. При использовании Vim для редактирования файла команда mv может вызвать создание .swp файла, поскольку Vim пытается зафиксировать текущее состояние файла в момент его перемещения.

Если вы не редактируете файл в текущий момент, но все равно получаете .swp файл, возможно, ваш редактор был открыт и работал с файлом Y.csv. В этом случае создание .swp файла служит подтверждением того, что файл находится в процессе редактирования.

Удаление .swp файлов

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

Заключение

Ваши .swp файлы появляются в результате автоматизированных функций текстовых редакторов для безопасности и восстановления данных. Они не являются неполадками или проблемами, а представляют собой защитный механизм, который стоит учитывать при работе с важными файлами. Если вы хотите избежать их создания в будущем, убедитесь, что вы правильно завершаете работу с редакторами и знаете, как они обрабатывают файлы.

Оцените материал
Добавить комментарий

Капча загружается...