[ 리눅스 Linux / 유닉스 Unix 완전정복 목차, 링크 모음 ]
안녕하세요~~ 오늘은 vi에디터 사용시 종종 마주하게 되는 swp파일 문제를 알아볼게요 ㅎㅎ
혹 아래와 같은 에러가 떠서 들어오게 되었나요?
vi편집기를 하다보면 종종 마주하게 되는 에러죠 ㅎㅎ
저도 리눅스를 혼자서 맨 ~~처음 접하게 되었을 때,, vi를 종료하는 법을 몰라서... 컨트롤 씨를 눌렀다가,, exit를 쳤다가 막 당황하다가 일단 그냥 껐는데, 그 다음 이 에러를 마주하고 뭐가 잘못된줄 알고 얼마나 놀랐었는지 몰라요 ㅎㅎ 그 때 기억이 새록새록ㅎㅎ
경고 발생 원인
이 임시 스왑 파일은 파일의 수정 작업이 정상적으로 종료되지 않았기에 남아있게 됩니다.
vi 명령어를 입력해서 파일을 수정하게 되면 자동적으로 확장자 .swp이 붙는 swp파일이 생성되는데 vi 에디터가 제대로 종료되면 이 파일이 자동적으로 제거되기 때문에 정상수행되었을 경우에는 우리가 볼일이 없죠~~
즉 뭔가 잘못종료되었을 때 swap파일이 남아있게 됨으로써 저 에러가 뜨는 거
스왑파일이 있는데 vi편집기로 시작하려고 하니까 swap파일이 이미 있습니다! 경고가 뜨는거죠~~
어찌보면 당연하지만? 멀티유저일 경우 다른 유저가 같은 파일을 동시에 열 경우에도 경고가 뜹니다
이미 스왑파일이 생성되어있기 때문이죠 ㅎㅎ
일부로 비정상종료로 swap파일 발생시켜보기
vi편집기를 이용해서 편집을 하다가~ esc모드에서 q!나 wq를 이용해서 종료하지 말고, 터미널 오른쪽 위에 있는 닫기 버튼X 를 클릭해 비정상적으로 종료해봅시다 ㅎㅎ
아주아주 간단한 test.sh를 작성해주기~ 저는 그냥 Hello World를 출력하는 한줄짜리 코드를 넣었어요 ㅎㅎ
i를 눌러서 insert모드로 들어간다음에 적어줍시당
echo Hello World!
다 적었으면
요 버튼을 눌러서 종료해보세요
또는 Ctrl+Z를 눌러서 종료해보세요
둘 다 비정상 종료라 종료 후에 vi test.sh를 다시 눌러보면~~ 위와 같은 에러가 발생하게 됩니다. ㅎㅎ
해당 에러가 떴으면 일단 q를 누르면 나가집니다.
해결 방법
에러 페이지를 나갔다면~
ls -a
해당 명령을 수행 후에 보이는 swp파일을 지워주면 됩니다.
단순히 ls 명령어로만 검색했을 때에는 보이지 않아요. swp파일은 숨김파일로 생성되거든요
그래서 숨김파일을 보여주는 -a옵션을 뒤에 붙여서 'ls -a'로 파일을 찾아줍시다.
rm -f .test.sh.swp #스왑파일 삭제
해당 스왑파일을 삭제한 후에 다시 vi에디터를 열어보면 잘 수행되는 것을 확인할 수 있어요~~
참고로 파일명 맨 앞에 '.'가 붙으면 숨김파일을 의미해요 ㅎㅎ
스왑파일은 왜 생성될까? what causes swap files to be created
여기서 말하는 스왑파일은 우리가 운영체제 과목에서 디스크파트에서 배우는 스왑파일과는 다릅니다.
이 스왑파일은 마지막으로 저장한 이후부터 변경된걸 쭉 기록해줘요 (가장 최근의 200문자 제외하고~~)
그래서 갑자기 전원이 나가는 등 충돌이 발생해 날라거가나 그러면 스왑파일을 이용해서 복구할 수 있게 하는겁니다.
오늘은 단순한 오류 원인과 해결방안에 대한 포스팅이라 짧게 끝나네요~! :)
다음 포스팅에서 또 뵈어요
공감은 사랑입니다~
'별걸다하는 IT > 리눅스 유닉스' 카테고리의 다른 글
[리눅스 / 유닉스 / 셸 프로그래밍] 문자열 자르기, 열 추출하는 명령어 cut 사용법, 예제 (4) | 2019.09.26 |
---|---|
[유닉스/리눅스] find 특정 파일 찾기, 디렉터리 찾기, 현재디렉터리에서 검색하기 (find 옵션, 연산자,예시) (0) | 2019.09.26 |
[리눅스 유닉스] vi 편집기 에러 - ATTENTION Swap 스왑 파일 문제 해결하는 법, 발생 이유 (0) | 2019.09.25 |
[리눅스 / 유닉스 ] 시그널이란? 시그널(SIGNAL) 종류, 상황, 유사 시그널 차이점 (2) | 2019.09.25 |
1902회 리눅스마스터 1급 1차 후기, 기출 문제 모음, 독학 공부 방법, 리마 정보(유효기간, 가격, 합격점 등) (9) | 2019.09.24 |
[Linux / Unix] 현재 날짜 찍기, 파일명에 날짜 넣기, 날짜 형식, 날짜 시간 변경 적용, 차이 등 (date) (0) | 2019.09.24 |
최신 댓글