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


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.