본문 바로가기

OS, 프로그램 사용법 정리

vi(터미널)에서 E325: ATTENTION 에러 발생시 해결법

안녕하세요! (대처법만 빠르게 보시려면 맨 아래 박스를 봐주세요!)

 

 

vi에서 vi [파일명]을 입력하고 파일에 들어가려 했는데, 갑자기 아래와 같이 이상한 화면이 뜨는 경우가 있습니다.

 

E325: ATTENTION

어떤 에러이든 처음 보이는 것들은 사람을 긴장되게 만들죠..

파일 편집 중 vi종료 없이 터미널 종료를 바로 해 버리면 해당 파일이 저장되지 않습니다. 이때 vi가 변경된 내용을 유지해야 된다는 것을 인식하고 스왑 파일을 저장하는 것이죠.



예를 들어 test.c라는 파일을 편집하던 중 vi를 종료하지 않고 터미널을 종료한 경우 .test.c.swp같은 파일을 생성하는 현상이 발생합니다.

파일명이 .으로 시작하는 것을 보니 히든 파일이라는 것도 알 수 있죠!

 

빨간색으로 밑줄 친 .test.c.swp

사실 위 상황은 터미널 강제 종료 상황 뿐만 아니라, 해당 파일을 다른 사용자가 이용중인 경우에도 나온다고 합니다.

그 유무를 따지는 방법은  ps aux | grep [vi 파일명] 명령어를 사용하면 됩니다. 만약 다른 사용자가 사용중이라면 강제 종료(Q)를 해야겠죠?(아직 보안 관련 수업을 듣지 않아서 이 부분은 넘어가겠습니다)

 

E325 해결법 정리

1. 해당 화면에서 복구 ((R)ecovery), 즉 r키를 누른다

2. 복구가 되었으므로 저장 및 종료 명령어 (:wq!)를 사용한다.

3. rm [파일명] 명령어로 .swp파일을 삭제해준다

4. 다시 vi [파일명]으로 파일에 들어가보면 E325에러가 발생하지 않는 것을 알 수 있다!