스왑 파일이 생성되는 원인은 무엇입니까?


31

필자가 작성한 프로그램의 일부로 파일에서 데이터를 지속적으로 읽고 씁니다. 나는 그렇게하는 과정에서 실수로 스왑 .swp파일을 만들고 있음을 알았습니다 .

무슨 일이야? 문제를 재현해야 할 경우 스왑 파일이 나타나는 원인은 무엇입니까?

답변:


41

.swp 파일은 OS 의미에서 스왑 파일이 아닙니다. 상태 파일입니다. 마지막 저장 이후 (최근 200 자 제외), 저장 한 버퍼, 저장되지 않은 매크로 및 실행 취소 구조 이후에 변경 사항을 유지합니다.

VIM의 도움말에서 자세한 내용을 읽을 수 있습니다 vim +help\ swap-file. 충돌 (정전, OS 충돌 등)이있는 경우이 스왑 파일을 사용하여 변경 사항을 복구 할 수 있습니다. 스왑 파일에서 원본 파일로 변경 사항을 저장 한 후 vim을 종료하고 스왑 파일을 직접 제거해야합니다.


어떤 이유로 내 ~ / .swp 파일은 11.7GB입니다. 방금 삭제했습니다.
Daniel Cheung

19

.swp파일은 Vim 에 의해 생성되며 파일을 닫고 편집기를 종료하면 자동으로 삭제됩니다.


1
외부에서 만들 수 있습니까 Vim? 필자의 경우 편집기를 사용하지 않고 프로그램에서 직접 파일을 작성합니다.
JAM

@JAM :이 프로그램은 어떤 언어와 라이브러리로 작성됩니까?
jwodder

5
@JAM 일반적으로 아니요, Vim 기능입니다. 이러한 파일이 사용자 모르게 프로그램에서 직접 작성되어 있는지 의심됩니다. Vim을 사용하여 파일을 편집하는 동안 이러한 파일이 생성되고 프로그램에 기여하는 것이 혼동 될 가능성이 훨씬 높습니다.
Juliano

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.