소개
이 실습에서는 Linux의 두 가지 필수 텍스트 편집기인 vi/vim과 nano를 사용하는 기본 기술을 배웁니다. 이들은 Linux 환경에서 가장 널리 사용되는 텍스트 편집기이며, 각각 고유한 장점과 사용 사례가 있습니다.
먼저 Unix 계열 시스템에서 강력하고 어디서나 사용할 수 있는 도구인 vi 텍스트 편집기로 시작합니다. 파일을 생성하고, 입력 모드(Insert Mode)를 사용하여 텍스트를 입력하고, :w 및 :wq와 같은 명령어로 작업을 저장하고, 이동 키를 사용하여 탐색하고, 텍스트를 검색하고, 단어 삭제와 같은 기본적인 편집 작업을 수행하는 방법을 배웁니다.
실습의 두 번째 부분에서는 초보자에게 적합한 사용자 친화적인 편집기인 nano를 살펴봅니다. 직관적인 인터페이스를 살펴보고, 기본적인 편집 작업을 배우며, 다양한 작업 상황에서 왜 vim 대신 nano를 선택하는지 이해하게 됩니다.
이 실습을 마칠 때쯤이면 두 편집기를 모두 편안하게 사용할 수 있게 되며, Linux 워크플로우의 다양한 시나리오에 어떤 도구가 가장 적합한지 파악할 수 있을 것입니다.
파일 생성 및 입력 모드에서 텍스트 입력하기
이 단계에서는 vi 편집기를 사용하여 새 텍스트 파일을 만들고 텍스트를 입력하는 방법을 배웁니다. vi(및 최신 버전인 vim)는 Unix 계열 운영 체제에서 강력하고 어디서나 사용할 수 있는 텍스트 편집기입니다. 이 편집기는 여러 모드에서 작동하며, 가장 기본적인 두 가지 모드는 일반 모드(명령어용)와 입력 모드(텍스트 입력용)입니다.
먼저 올바른 작업 디렉토리에 있는지 확인하겠습니다. 이 실습의 모든 작업은 ~/project 디렉토리에서 수행됩니다.
터미널을 엽니다. 프롬프트에
project디렉토리에 있다고 표시되어야 합니다.pwd(print working directory) 명령어를 사용하여 전체 경로를 확인할 수 있습니다.pwd다음과 같은 출력이 표시되어 현재 위치를 확인할 수 있습니다.
/home/labex/project
이제
vi편집기를 시작하고test.txt라는 새 파일을 만듭니다. 이 명령어를 실행하면vi가 시작되고 터미널 창을 제어하게 됩니다.vi test.txt터미널 화면이 지워지고 왼쪽에 물결표(
~)가 있는 화면이 나타납니다. 이는 빈 줄을 나타냅니다. 화면 하단에는"test.txt" [New File]이라는 파일 이름이 표시됩니다. 현재 일반 모드에 있습니다.텍스트 입력을 시작하려면 입력 모드로 전환해야 합니다. 키보드에서
i키를 누릅니다.i화면 하단에
-- INSERT --가 나타나는 것을 확인하세요. 이는 입력 모드에 진입했음을 의미하며, 이제 파일에 직접 텍스트를 입력할 수 있습니다.다음 문장을 입력합니다.
Now is the time for all good men to come to the aid of their country.
이 시점에서 입력한 텍스트는 편집기의 메모리 버퍼에 존재하지만 아직 디스크에 저장되지 않았습니다. 다음 단계에서는 작업을 저장하고 편집기를 종료하는 방법을 배웁니다.
:w 및 :wq를 사용하여 파일 저장 및 종료하기
이 단계에서는 변경 사항을 저장하고 vi 편집기를 종료하는 방법을 배웁니다. 이러한 작업은 일반 모드에서 명령어를 사용하여 수행됩니다. 이전 단계에서 입력 모드에 있으므로 먼저 일반 모드로 돌아가야 합니다.
입력 모드에서 일반 모드로 돌아가려면
Esc키를 누릅니다.Esc화면 하단의
-- INSERT --표시가 사라지는 것을 볼 수 있습니다. 이제 일반 모드에 있으며, 키 입력이 텍스트 입력이 아닌 명령어로 해석됩니다.이제 파일을 저장해 보겠습니다. 일반 모드에서 콜론(
:)으로 시작하는 명령어는 화면 하단의 명령줄에 표시됩니다. 파일을 쓰기(저장)하려면:w명령어를 사용합니다.다음 순서대로 입력하고
Enter를 누릅니다.:wEnter를 누르면vi가 버퍼의 내용을test.txt파일에 씁니다. 화면 하단에 다음과 같은 확인 메시지가 표시됩니다."test.txt" [New] 1L, 79C written이 메시지는
test.txt파일이 1줄, 79자로 저장되었음을 확인해 줍니다.마지막으로
vi를 종료하려면 "quit"을 의미하는:q명령어를 사용할 수 있습니다. 더 일반적으로 사용되는 명령어는:wq이며, 이는 파일 저장과 종료를 하나의 작업으로 결합한 것입니다. 이미 일반 모드에 있으므로 다음을 입력하고Enter를 누릅니다.:wq이 명령어는 최종 변경 사항을 저장한 다음
vi편집기를 닫고 터미널의 셸 프롬프트로 돌아갑니다. 이제 터미널에 익숙한 명령 프롬프트가 표시되며,test.txt파일이~/project디렉토리에 저장됩니다.
gg, h, j, k, l 및 /를 사용하여 텍스트 탐색 및 검색하기
이 단계에서는 vi의 강력한 탐색 및 검색 명령어들을 연습합니다. 이러한 명령어를 사용하면 마우스를 사용하지 않고도 효율적으로 커서를 이동하고 텍스트를 찾을 수 있습니다. 모든 작업은 일반 모드에서 수행됩니다.
먼저
test.txt파일을 다시 엽니다.~/project디렉토리의 셸 프롬프트에서 다음 명령어를 입력합니다.vi test.txt파일 내용이 표시된 상태로 편집기가 열립니다. 커서는 아마도 첫 번째 줄의 시작 부분에 있을 것입니다.
커서가 파일의 맨 처음에 있는지 확인하려면
gg명령어를 사용할 수 있습니다. 일반 모드에서(확실하지 않으면Esc를 누르세요)gg를 입력합니다.gg커서가 즉시 첫 번째 줄의 첫 번째 문자인 'N'으로 이동합니다.
vi에서 커서를 이동하는 기본 방법은h,j,k,l키를 사용하는 것입니다. 이는 모든vi사용자에게 핵심 기술입니다.h는 커서를 왼쪽으로 한 문자 이동합니다.l은 커서를 오른쪽으로 한 문자 이동합니다.j는 커서를 아래로 한 줄 이동합니다.k는 커서를 위로 한 줄 이동합니다.
이 키들을 눌러 문장 주위로 커서를 이동해 보세요. 이 탐색 방법은 모든 터미널 환경에서 작동합니다.
이제 텍스트를 검색해 보겠습니다.
/명령어는 파일에서 앞으로 검색하는 데 사용됩니다. 문자 'a'가 나타나는 모든 곳을 검색하려면 다음 단계를 따르세요. a. 일반 모드인지 확인합니다(Esc누름). b./를 입력한 다음 검색하려는 문자(여기서는a)를 입력합니다. 그런 다음Enter를 누릅니다./a커서가 현재 위치 이후에 발견된 첫 번째 'a'로 이동합니다.
c. 동일한 검색어의 다음 항목을 찾으려면
n키("next"의 약자)를 누르기만 하면 됩니다.nn을 여러 번 눌러 파일 내의 모든 'a'를 순환해 보세요.
이제 기본적인 탐색과 검색을 연습했습니다. 다음 단계에서는 텍스트를 삭제하는 방법을 배웁니다.
dw로 단어 삭제 및 :q!로 저장하지 않고 종료하기
이 단계에서는 텍스트를 삭제하는 방법과 변경 사항을 저장하지 않고 vi를 종료하는 방법을 배웁니다. 이는 실수를 했을 때 마지막으로 저장된 버전의 파일로 되돌리고 싶을 때 매우 중요한 기술입니다. 이전 단계에서 test.txt 파일이 열려 있는 vi 상태를 유지하고 있어야 합니다.
먼저 삭제하려는 단어로 커서를 이동합니다. 일반 모드인지 확인합니다(확실하지 않으면
Esc를 누르세요).h와l키를 사용하여time이라는 단어의 첫 글자에 커서가 위치할 때까지 이동합니다.time의t에 커서를 둔 상태에서dw명령어를 입력합니다. 이 명령어는 "delete word"(단어 삭제)를 의미합니다.dwtime이라는 단어와 그 뒤의 공백이 화면에서 사라지는 것을 볼 수 있습니다. 문장이 이제 어색해졌지만, 다음 작업을 연습하기에는 완벽합니다.이제 편집기 버퍼에서 파일을 수정했습니다. 이 삭제가 실수였다고 가정해 봅시다. 이 잘못된 버전을 저장하는 대신, 변경 사항을 버리고 종료할 것입니다. 이를 위한 명령어는
:q!입니다.q는 "quit"을 의미하고!는 강제로 작업을 수행하여 저장되지 않은 변경 사항을 무시합니다.a. 일반 모드인지 확인합니다(
Esc누름). b. 다음 명령어를 입력하고Enter를 누릅니다.:q!이 명령어는 즉시
vi편집기를 종료하고 셸 프롬프트로 돌아갑니다.:q!를 사용했기 때문에time단어 삭제는test.txt파일에 저장되지 않았습니다. 파일을 다시 열면time이라는 단어가 그대로 남아 있을 것입니다.
추가 연습을 위한 대화형 vimtutor 실행하기
이 단계에서는 vi/vim 기술을 실습 방식으로 가르치기 위해 설계된 대화형 튜토리얼인 vimtutor를 알아봅니다. 이 실습에서는 아주 기본적인 내용만 다루었지만, vimtutor는 모든 신규 사용자에게 강력히 권장되는 포괄적이고 자기 주도적인 코스를 제공합니다.
~/project디렉토리의 셸 프롬프트에 있어야 합니다. 튜토리얼을 시작하려면vimtutor명령어를 입력하고Enter를 누릅니다.vimtutor이 명령어는 특별한 튜토리얼 파일과 함께
vi를 엽니다. 파일 자체에 모든 지침이 포함되어 있습니다. 텍스트를 읽고 튜토리얼 파일에 설명된 명령어를 직접 연습하게 됩니다. 임시 복사본 파일에서 연습하기 때문에 안전하고 효과적인 학습 방법입니다.튜토리얼은 여러 레슨으로 나뉘어 있으며 완료하는 데 약 25~30분이 소요됩니다. 자신의 속도에 맞춰 진행할 수 있습니다.
튜토리얼을 마쳤을 때(또는 언제든지 나가고 싶을 때), 일반적인
vi세션과 동일하게 종료할 수 있습니다. 튜토리얼 파일에 변경 사항을 저장할 필요가 없으므로:q!명령어를 사용하여 종료하는 것이 가장 좋습니다.a.
Esc를 눌러 일반 모드인지 확인합니다. b.:q!를 입력하고Enter를 누릅니다.:q!
이것으로 이 실습의 실습 부분을 마칩니다. 이 단계를 완료함으로써 vi 편집기로 파일을 생성, 편집, 저장 및 탐색하는 기본 기술을 익혔습니다.
nano 편집기 소개
이 단계에서는 초보자와 빠른 편집에 완벽한 사용자 친화적인 텍스트 편집기인 nano를 사용하는 방법을 배웁니다. vi와 달리 nano는 화면 하단에 유용한 단축키를 표시하며 별도의 모드가 없으므로 신규 사용자에게 더 직관적입니다.
먼저
nano를 사용하여 새 파일을 만들어 보겠습니다.~/project디렉토리의 셸 프롬프트에서 다음 명령어를 입력합니다.nano welcome.txtnano편집기가 빈 파일로 열립니다. 하단에 사용 가능한 기능을 보여주는 유용한 메뉴를 확인하세요.vi와 달리nano에서는 모드를 전환할 필요 없이 즉시 입력을 시작할 수 있습니다. 다음 텍스트를 복사하여 붙여넣으세요.
Welcome to Linux Text Editing! This file was created using the nano editor. Nano is beginner-friendly and intuitive. Key advantages of nano: - No modes to switch between - Shortcuts displayed at bottom - Easy to learn and use - Perfect for quick edits이제 파일을 저장해 보겠습니다.
nano에서 "Save"는 Write Out이라고 합니다.Ctrl+O를 눌러 Write Out을 시작합니다. 파일 이름을 묻는 프롬프트가 표시됩니다. 현재 이름인welcome.txt가 이미 표시되어 있으므로Enter를 눌러 확인하고 파일을 저장합니다.하단에 파일이 성공적으로 기록되었음을 나타내는 메시지와 기록된 줄 수가 표시됩니다.
nano를 종료하려면Ctrl+X를 누릅니다. 이미 파일을 저장했으므로nano는 즉시 종료되고 셸 프롬프트로 돌아갑니다. 저장하기 전에Ctrl+X를 누르면nano가 변경 사항을 저장할지 묻습니다.Y를 누른 다음Enter를 눌러 저장하고 종료합니다.
nano와 vi/vim 비교: 각 편집기를 사용하는 시기
마지막 단계에서는 nano와 vi/vim의 주요 차이점을 알아보고 각 편집기를 언제 사용해야 하는지 이해합니다. 두 편집기를 모두 사용하여 차이점을 보여주는 비교 파일을 만들어 보겠습니다.
먼저
nano를 사용하여 비교 파일을 만듭니다.nano editor_comparison.txtnano에 다음 내용을 입력합니다.
TEXT EDITOR COMPARISON: nano vs vi/vim NANO EDITOR: Pros: - Beginner-friendly interface - No modes to learn - Shortcuts displayed on screen - Immediate text input - Good for quick edits and simple tasks Cons: - Limited advanced features - Less efficient for complex editing - Not available on all systems파일을 저장하고 nano를 종료합니다.
이제
vi로 같은 파일을 열어 내용을 더 추가해 보겠습니다.vi editor_comparison.txtG(대문자 G)를 사용하여 파일 끝으로 이동한 다음,o를 눌러 새 줄을 열고 입력 모드로 들어갑니다. 다음 내용을 추가합니다.VI/VIM EDITOR: Pros: - Extremely powerful and feature-rich - Available on virtually all Unix/Linux systems - Highly efficient once mastered - Excellent for programming and complex editing - Extensive customization options Cons: - Steep learning curve - Modal interface can be confusing for beginners - Requires memorizing many commandsEsc를 눌러 일반 모드로 돌아간 다음:wq로 저장하고 종료합니다.완성된 비교 파일을 확인해 보겠습니다.
cat editor_comparison.txt두 편집기로 추가된 내용이 모두 포함된 전체 비교 내용이 표시됩니다.
각 편집기를 사용하는 시기:
다음 경우에 nano를 사용하세요:
- Linux 텍스트 편집이 처음인 경우
- 빠르고 간단한 편집을 할 때
- 가끔 구성 파일을 작업할 때
- 직관적이고 간단한 인터페이스를 선호할 때
다음 경우에 vi/vim을 사용하세요:
- 광범위한 프로그래밍이나 텍스트 조작을 할 때
- 원격 서버에서 작업할 때(vi는 항상 사용 가능)
- 매크로, 플러그인 또는 복잡한 검색/바꾸기와 같은 고급 기능이 필요할 때
- 명령어를 익힌 후 효율성과 속도가 중요할 때
두 편집기 모두 Linux 사용자의 도구 상자에서 가치 있는 도구이며, 둘 다 알면 다양한 상황에서 유연하게 대처할 수 있습니다.
요약
이 실습에서는 Linux의 두 가지 필수 텍스트 편집기인 vi/vim과 nano를 사용하는 방법을 배웠습니다.
vi/vim을 통해 모달 편집의 기본 개념을 마스터하고 일반 모드와 입력 모드 간의 전환 방법을 배웠습니다. 파일 생성, 텍스트 입력, :w 및 :wq로 저장, 이동 키(h, j, k, l)로 탐색, /로 검색, dw와 같은 명령어로 편집, :q!로 저장하지 않고 종료하는 방법을 연습했습니다. 또한 지속적인 학습을 위한 대화형 vimtutor도 알아보았습니다.
nano를 통해 텍스트 편집에 대한 더 초보자 친화적인 접근 방식을 경험했습니다. 모드에 대해 걱정할 필요 없이 파일을 생성하고 편집하는 방법을 배웠고, 화면 하단에 단축키가 표시되는 직관적인 인터페이스를 사용했으며, 파일 저장 및 종료와 같은 기본 작업을 연습했습니다.
핵심 요약:
nano는 직관적인 인터페이스와 눈에 보이는 단축키 덕분에 초보자와 빠른 편집에 완벽합니다.vi/vim은 복잡한 편집 작업에 더 강력하고 효율적이지만, 학습에 더 많은 투자가 필요합니다.- 두 편집기 모두 가치 있는 도구입니다. 단순함을 위해서는 nano를, 강력한 기능과 가용성을 위해서는 vim을 사용하세요.
- 각 편집기를 언제 사용해야 하는지 이해하면 다양한 Linux 시나리오에서 더 효과적으로 작업할 수 있습니다.
이제 특정 요구 사항에 맞는 텍스트 편집기를 선택할 수 있는 기반을 마련했으며, 두 도구 모두 기술을 계속 발전시킬 수 있습니다.



