본문으로 바로가기
반응형

시스템을 개발하거나 운영하는 사람들에게 있어서 텍스트 에디터는 매우 중요하다. 어떤 작업을 하던 텍스트를 작성하거나 편집하는 과정은 필수적이기 때문이다.

리눅스는 텍스트 에디터로 vi 에디터를 제공한다. vi에디터는 유닉스/리눅스 전반에서 공통적으로 사용되기 때문에 사용법을 익혀 두면 도움이 될 것이다. 

텍스트 에디터 하나 쓰는데 굳이 사용법을 익힐 필요가 있을까 싶은 생각이 들 수 도 있다. 하지만 vi가 Visual의 약자를 따서 만들어 졌다지만 전혀 visual 스럽지 않기 때문에 처음 접할 경우 조금 당황스럽다. 일단 익숙해 지면 모든 유닉스/리눅스 관련 OS에서 유용하게 사용할 수 있기 때문에 시간을 익혀두는 것이 좋다.



vi Editor


vi에디터를 사용하기 위해서는 우선 아래의 작동 구조부터 파악해야 한다.


vi 에디터는 흔히 상상하는 MS 윈도우의 메모장과 같은 텍스트 에디터와는 다르게 GUI 환경이 아닌 텍스트 명령으로 모든 작업이 이루어지는 에디터이다.

때문에 명령모드와 입력모드, 라인명령모드로 모든 작업을 수행하게 된다. 


리눅스 터미널에서 vi 명령어를 통해 vi 에디터를 실행하면 아래와 같은 화면을 볼 수 있을 것이다.



이는 파일에 텍스트로 실제 입력되어 있는 것이 아니라 사용을 위한 설명문이다.

친절하게도 각종 정보들과 도움말을 제공하며 도움말 사용법을 안내하고 있다.

처음 vi 에디터를 실행하면 명령모드 상태이다. 여기서 글을 입력하고 편집하는 실제 작업 수행을 위해서는 입력모드로 전환해야 한다.

입력모드 전환을 위해서 i 키나 a 키를 눌러보자.


하단에 "-- INSERT --" 라는 문구가 보일 것이다. 입력모드 상태인 것이다. 작성하고자 하는 내용을 입력하고 편집한다.

입력을 마치고 명령모드로 돌아가기 위해서는 Esc키를 누르면 된다.하단에 INSERT라는 문구가 사라지고 vi editor는 다시 명령을 기다리는 명령모드로 전환된다.


저장을 하기 위해서는 우선 라인 명령모드로 전환해야 한다.

콜론(:)을 누르면 아래와 같이 하단에 콜론으로 시작되는 라인명령 모드로 전환된다.



이곳에 "w 파일명"을 아래처럼 입력하면 파일 저장을 할 수 있다.

저장을 완료한 파일을 종료하고 싶으면 라인명령모드에서 q를 입력하면 종료가 된다.



저장을 할 때 파일명을 지정해 주는 것이 아니라, 실행할 때부터 파일명을 주고 실행할 수도 있다.

"vi 파일명" 명령어로 실행하면 되는데, 만약 해당 파일명의 파일이 존재한다면 그 파일을 실행하고 없다면 새로 만들어서 실행해준다.


이렇게 vi testvi2.txt로 없는 파일명을 주고 실행하면,


New File로 testvi2.txt 라는 파일이 실행된다.


마찬가지로 처음 시작 상태는 명령모드이다. i키를 눌러 파일을 작성하고 esc키로 다시 명령모드로 돌아온 뒤, 저장을 위해서 라인명령모드(:)로 전환한다.

라인명령모드 상태에서 w를 입력하고 enter를 치면 저장이 되고, 만약 저장한 뒤 바로 vi에디티를 종료하려면 wq를 한번에 입력한다.



정리하자면, 새파일 작성이나 기존 파일 수정을 위해서는 아래와 같은 과정을 거치게 된다.

 vi 파일명 -> i키 -> 파일작성 및 편집 -> esc키 -> :wq

만약 저장하지 않고 그냥 종료하려면 라인명령모드 상태에서 q와 느낌표(!)를 함께(q!) 입력해 주면 된다.

리눅스는 예기치 않은 상황에서 저장하지 않고 파일을 종료하는 것을 방지해 준다.

저장하지 않거나, 느낌표 없이 그냥 파일을 종료하려고 하면 에러가 발생하며 종료가 되지 않는다.



이런 경우 그냥 터미널을 종료해 버리거나, 예기치 않은 일로 강제 종료가 될 수 있다. 만약 정상적인 종료가 아니라면 해당 파일을 다시 열었을 때 아래와 같은 에러 메시지가 포함된 화면을 볼 수 있을 것이다.



무시하고 그냥 진행해도 되지만, 이 메시지는 다시 열어도 또 나온다. 

이 문제를 해결하기 위해 해당 위치에서 숨김파일까지 모두 보여주는 명령인 ls -a를 입력하면 swp파일이 생성되어 있는 것을 볼 수 있을 것이다.

그냥 놔두면 파일을 열 때마다 에러화면을 보여준 뒤 열리는데, 이 문제 해결을 위해서는 .swp파일을 지워주면 된다.



이제 다시 vi 명령어로 파일을 실행하면 정상적으로 실행된다.


기타 자주 사용되는 vi 에디터 명령어는 아래 링크를 참조 바란다.

[리눅스 vi 에디터 기본 명령어 : http://www.leafcats.com/116 ]



gedit


그래픽 모드에서 부팅된 X윈도는 gedit라는 기본 GUI 에디터를 제공한다. redhat, CentOS나 우분투 등 여러 리눅스 OS에서 제공한다.

터미널에서 gedit 명령어를 통해 실행할 수 있다.



저장 등의 관리 기능은 MS윈도우 OS의 메모장처럼 직관적은 GUI 환경을 제공한다.



기존 작성된 파일 수정을 위해서는 vi 명령어와 마찬가지로 "gedit 파일명" 으로 실행하면 된다.




리눅스 OS 환경에서 사용할 수 있는 텍스트 에디터에 대해 알아보았다.

쉽게 사용할 수 있는 gedit가 있지만, vi는 반드시 간단한 사용법에 대해 익혀 둬야 한다.

주로 서버로 사용되는 리눅스OS는 서버에 접근해 에디터를 사용할 때 일반적으로 텍스트 기반의 환경에서 사용하는 경우가 더 많기 때문이다. vi 에디터는 텍스트 모드 환경에서도 똑같이 사용할 수 있기 때문에 매우 중요하다.


반응형

 Other Contents