Wodurch werden Auslagerungsdateien erstellt?

31

Als Teil des Programms, das ich geschrieben habe, lese und schreibe ich ständig Daten aus Dateien. Mir ist aufgefallen, dass ich dabei versehentlich Auslagerungsdateien .swperstelle.

Was denkst du ist los? Was würde dazu führen, dass Auslagerungsdateien angezeigt werden, wenn Sie das Problem reproduzieren müssten?

MARMELADE
quelle

Antworten:

41

Die .swp-Datei ist keine Auslagerungsdatei im Sinne des Betriebssystems. Es ist eine Statusdatei. Es speichert Ihre Änderungen seit dem letzten Speichern (mit Ausnahme der letzten 200 Zeichen), die von Ihnen gespeicherten Puffer, nicht gespeicherte Makros und die Struktur zum Rückgängigmachen.

Mehr erfahren Sie in VIM Hilfe lesen: vim +help\ swap-file. Wenn es zu einem Absturz kommt (Stromausfall, Betriebssystemabsturz usw.), können Sie Ihre Änderungen mit dieser Auslagerungsdatei wiederherstellen. Nachdem Sie die Änderungen von der Auslagerungsdatei in die ursprüngliche Datei gespeichert haben, müssen Sie vim beenden und die Auslagerungsdatei selbst entfernen.

Arcege
quelle
Aus irgendeinem Grund ist meine ~ / .swp-Datei 11,7 GB groß. Ich habe es gerade gelöscht.
Daniel Cheung
19

.swpDateien werden von Vim erstellt und sollten automatisch gelöscht werden, wenn Sie die Datei schließen und den Editor verlassen.

Juliano
quelle
1
Können sie von außerhalb erstellt werden Vim? In meinem Fall werden Dateien direkt aus meinem Programm geschrieben, ohne den Editor zu verwenden
JAM
@JAM: Mit welcher Sprache und mit welchen Bibliotheken wurde dieses Programm geschrieben?
Jwodder
5
@JAM Im Allgemeinen nein, es ist eine Vim-Funktion. Ich bezweifle, dass diese Dateien direkt aus Ihrem Programm geschrieben werden, ohne dass Sie es wissen. Es macht keinen Sinn. Es ist viel wahrscheinlicher, dass Sie verwirrt sind. Diese Dateien werden erstellt, während Sie die Dateien mit Vim bearbeiten, und Sie ordnen sie Ihrem Programm zu.
Juliano
4

SWP-Dateien sind nichts anderes als eine Art Sperrdatei, die Sie bearbeiten, im Allgemeinen vim, um anzuzeigen, dass die Datei bearbeitet wird. Auf diese Weise wird beim Öffnen der Datei in einer anderen vim-Instanz, oder wenn dies jemand im Netzwerk getan hat, eine Warnung angezeigt, dass die Datei bearbeitet wird.
Sie müssen sie nicht manuell löschen. Ihr Editor entfernt die Auslagerungsdatei, sobald Sie die Datei in Ihrem Editor schließen.

Aditya Patawari
quelle
2

Ich habe gerade einen mv-Befehl für eine 31-GB-Datei ausgeführt und eine 13-GB-SWP-Datei wurde erstellt, ohne dass eine Bearbeitung erforderlich war.

mv X.csv Y.csv Y.csv und .Y.csv.swp erstellt

CentOS 6.5, ext4-Dateisystem

user56408
quelle
Vielen Dank. Haben Sie ähnliche Erfahrungen mit "rsync" gemacht?
imriss