スワップファイルが作成される原因は何ですか?


31

私が書いたプログラムの一部として、私は常にファイルからデータを読み書きします。そうすることの一環として、私はうっかりスワップ.swpファイルを作成していることに気付きました。

何が起こっていると思いますか?問題を再現する必要がある場合、スワップファイルが表示される原因は何ですか?

回答:


41

.swpファイルは、OSの意味ではスワップファイルではありません。状態ファイルです。最後の保存(最後の200文字を除く)以降の変更、保存したバッファー、未保存のマクロ、および元に戻す構造が保持されます。

詳しくは、VIMのヘルプをご覧くださいvim +help\ swap-file。クラッシュ(停電、OSクラッシュなど)がある場合、このスワップファイルを使用して変更を回復できます。スワップファイルから元のファイルへの変更を保存した後、vimを終了し、自分でスワップファイルを削除する必要があります。


何らかの理由で、〜/ .swpファイルは11.7GBです。削除しました。
ダニエル・チャン

19

.swpファイルはVimによって作成され、ファイルを閉じてエディターを終了すると自動的に削除されます。


1
外部から作成できますVimか?私の場合、ファイルはエディタを使用せずに、直接、私のプログラムから書かれている
JAM

@JAM:このプログラムはどの言語とライブラリで書かれていますか?
jwodder

5
@JAM通常、いいえ、Vimの機能です。これらのファイルがあなたが知らないうちにあなたのプログラムから直接書かれているとは思わない、それは意味をなさない。混乱している可能性が非常に高く、これらのファイルはVimでファイルを編集しているときに作成され、プログラムに帰属します。
ジュリアーノ

4

.swpファイルは、編集者、一般的にはvimがファイルが編集中であることを示すために作成する一種のロックファイルです。このように、ネットワーク内の誰かが別のvimインスタンスでファイルを開いた場合、ファイルが編集されているという警告が表示されます。
それらを手動で削除する必要はありません。エディタでファイルを閉じると、エディタはスワップファイルを削除します。


2

31GBファイルでmvコマンドを実行したところ、13GBの.swpファイルが作成されました。編集は必要ありません。

mv X.csv Y.csv Y.csvおよび.Y.csv.swpを作成しました

CentOS 6.5、ext4ファイルシステム


ありがとう。「rsync」でも同様の経験がありましたか?
imriss
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.