작성일 댓글 남기기

자작NAS – vi 간단 사용법

vi는 우분투 서버의 기본 편집기입니다. GUI 환경에서 동작하는 편집기가 아니기 때문에 사용법을 살짝 다루고 가야 합니다. 그런데 GUI 환경 아래서 동작하는 콘솔이기 때문에 가능한 동작도 있습니다. 간단히 살펴봅시다.

1. vi란?

자세한 내용은 위키백과와 나무 위키로 대체합니다.
vi – 위키백과, 우리 모두의 백과사전
vi – 나무 위키

2. vi 간단 사용법

2.1 편집 모드와 입력 모드

vi는 두 가지 모드가 있습니다.

  • 편집 모드(기본)
  • 입력 모드

실행하면 기본 모드는 편집 모드입니다. 느낌 상으로는 편집 모드에서 텍스트 입력이 가능할 것 같아 보이지만 불가능합니다. 때문에 텍스트를 입력하려고 키보드를 두드려도 원하는 텍스트 입력이 안 됩니다. 막 두들기다가 갑자기 입력이 될 수도 있는데 그건 모드를 전환하는 key를 입력했기 때문입니다.

2.2 모드 전환

2.2.1 입력 모드로 전환 (대소문자 구별)

  • i – 커서 있는 자리부터 입력
  • I(대문자 i) – 커서가 위치한 줄의 맨 앞에서부터 입력
  • a – 커서 다음 자리부터 입력
  • A – 커서가 위치한 줄의 맨 끝에서부터 입력

2.2.2 편집 모드로 전환

  • Esc – 편집 모드로 복귀

2.3 커서 이동 (모드 공용)

  • 방향키 – 상하좌우를 이동
  • Home – 커서를 커서가 위치한 줄의 맨 앞으로 이동
  • End – 커서를 커서가 위치한 줄의 맨 끝으로 이동
  • PgUp – 커서를 한 페이지 위로 이동
  • PgDn – 커서를 한 페이지 아래로 이동

2.4 입력 모드

  • 텍스트 입력 – 원하는 위치에 커서를 옮겨 원하는 내용을 타이핑한다.
  • Delete – 커서 위치의 한 글자를 삭제
  • 백스페이스 – 커서 앞에 위치한 한 글자를 삭제
  • Shift + Insert – 붙여넣기

2.5 편집 모드

  • dd – 커서가 위치한 한 줄을 삭제
  • /검색할문자열 [Enter] – 검색할 문자열을 검색
    (n – 위 입력한 문자열에 대한 다음 검색)
  • :w [Enter] – 파일을 저장
  • :q [Enter] – vi를 종료 (파일을 저장하지 않으면 vi가 종료되지 않음)
  • :q! [Enter] – 파일을 저장하지 않고 vi를 종료
  • :wq [Enter] – 파일 저장 후 종료
  • 드래그로 블록 지정 후 마우스 오른쪽 클릭 후 복사 클릭 – 복사하기
    (복사와 붙여넣기의 경우 운영체제나 콘솔 프로그램마다 조금씩 상이할 수 있습니다)

vi 명령어는 참 많습니다. 익히면 정말 편하겠지만, 한 번에 외우려다가는 실증부터 날 정도로 말입니다. 위에 소개한 정도만 알아도 충분히 하고자 하는 것은 다 할 수 있습니다.

작성일 댓글 남기기

자작NAS – 우분투서버에 원격 접속 (SSH)

서버는 언제 어디서나 접속이 가능해야 합니다. 서버가 있는 곳에서만 서버에 달린 모니터를 켜서 확인해야만 한다면 엄청 불편할 것입니다. 그래서 서버의 원격 접속은 필수 기능입니다.

우분투서버는 GUI가 기본적으로 없기 때문에 Teamviewer나 RDP와 같은 도구를 사용하지 않습니다. 텍스트만 출력할 수 있으면 됩니다. 원격접속을 위한 여러 프로토콜 중 우분투서버 관리용으로 쓰이는 프로토콜은 SSH로 시큐어 셸(Secure Shell)의 약자입니다. 자세한 사항은 위키백과를 살펴보세요.

SSH를 사용한 원격 접속을 위해서는 터미널 혹은 콘솔 등이 필요합니다.

1. SSH 접속 애플리케이션

1.1 윈도우 계열 – PuTTY

“윈도우 ssh 클라이언트” 같은 검색어로 찾아보면 여러 프로그램들이 있지만 그냥 PuTTY 쓰시면 됩니다. 포터블 버전 한글 버전 다양하게 검색되니 입맛에 맞게 골라 쓸 수 있습니다. 하지만 저 같으면 포터블 한글 버전을 쓰겠습니다. 다운로드 받을 수 있는 링크 하나 던집니다.

1.2 Linux, Mac 계열 – 내장 터미널

리눅스와 맥의 경우 간단히 내장된 터미널(Terminal)을 이용하면 됩니다.

2. SSH 접속하기

2.1 PuTTY에서

  1. Host Name (for IP address)에 내부 IP 주소 혹은 도메인 주소를 입력합니다. Port는 기본값인 22 그대로 둡니다(포트를 변경했거나 포트포워딩 설정을 다르게 했다면 해당 값으로 변경합니다).
  2. Connection type은 SSH를 선택해야 합니다.
  3. Open 버튼을 누르면 “login as:” 문구가 뜹니다. 우분투 서버 로그인 한 것처럼 계정 ID를 입력하고 비밀번호를 입력하면 직접 로그인 했을 때와 똑같은 화면이 뜹니다.

2.2 내장 터미널에서

  1. 터미널을 실행합니다.
  2. “ssh 계정 ID@내부 IP 주소” 혹은 “ssh 계정 ID@도메인 주소” 를 입력합니다. 명령어로 계정 ID를 입력했기 때문에 바로 비밀번호를 입력하라고 합니다.
    (-p 옵션으로 포트를 변경할 수 있습니다. “ssh 계정 ID@내부 IP 주소 -p 포트번호”)
  3. 직접 로그인 했을 때와 똑같은 화면이 뜹니다.

ssh-connect
크롬 브라우저 앱으로 우분투서버에 접속한 화면

이제 콘솔과 SSH를 이용하여 안에 있든 밖에 있든 우분투서버에 원격접속이 가능하게 됐습니다. 이 원격접속(SSH)으로 모든 작업을 할 것입니다.