참고 도서 : 이것이 우분투 리눅스다 (우재남 지음, 한빛미디어)

 

 

리눅스 터미널 ⌨️

인터페이스는 크게 그래픽 기반 인터페이스(GUI)와 텍스트 기반 인터페이스(CUI)로 나뉜다.
GUI는 우리가 평소에 사용하던 윈도우의 생김새를 떠올리면 된다. 각종 아이콘과 버튼 등 그래픽 기반으로 사용자와 상호작용을 한다. 아이콘을 '더블클릭'하면 그 프로그램이 '실행'되는 식으로 제어 방법이 굉장히 직관적이다. 누구나 컴퓨터 사용법을 손쉽게 익힐 수 있게 된다.

 

CUI는 텍스트 기반의 인터페이스로 사용자로부터 문자를 입력받아 동작하게 된다. 해커의 이미지로 흔히 떠올리는 검은 배경의 흰글자가 촘촘하게 가득한 화면이 바로 CUI다. CUI는 CLI(Command-Line Interface)라고도 불린다.

 

터미널은 컴퓨터와 사용자 간에 서로 상호작용할 수 있는 CLI 인터페이스의 일종으로, 리눅스에 기본으로 탑재되어 있다. 터미널에서 우리는 기본적으로 '명령어'를 입력함으로써 컴퓨터를 제어할 수 있다.

 

프로그래밍 언어를 사용해본적이 있다면 if, for, return 처럼 그 언어만의 예약어가 있다는 사실을 알것이다. 예약어를 사용하면 해당 언어에 내부적으로 정의된 특정한 동작을 직접 구현할 필요 없이 바로 사용할 수 있다.

운영체제에도 마찬가지로 어떤 동작이 약속되어 있는 명령어들이 존재한다. 

리눅스는 오래된 운영체제인 만큼 많은 명령어들이 만들어져 있다. 명령어마다 딸려있는 옵션까지 합치면 그 종류는 수천가지에 이른다. 워낙 다양해서 모두 외울수는 없지만, 이번 글에선 자주 사용되는 기본적인 명령어들은 사용하다보면 자연스럽게 외울 수 있다.

 


그러면 리눅스에서 사용할 수 있는 기본적인 명령어를 정리해보자.
정리를 하다보니 평상시 자주 사용하면서 자연스럽게 알고 있던 명령어도 있고 처음 보는 명령어도 있었다.

 

기본 명령어

  • ls : 현재 디렉토리의 파일 목록을 출력한다.
    • -a : 숨긴 파일을 포함해서 보여준다.
    • -l : 자세한 파일 정보를 함께 보여준다.
  • cd : 디렉토리를 이동한다.
  • pwd : 현재 경로를 보여준다.
  • rm : 파일이나 디렉토리를 삭제한다.
  • cp : 파일이나 디렉토리를 복사한다.
  • touch : 새로운 파일을 생성하거나, 이미 파일이 존재한다면 최종 수정 시간을 현재 시간으로 변경한다.
  • mv : 이름을 변경하거나 다른 디렉토리로 이동시킨다.
  • mkdir : 새로운 디렉토리를 생성한다.
  • rmdir : 디렉토리를 삭제한다.
  • cat : 파일 내용을 보여준다. 여러 파일의 내용을 연결해서 볼 수도 있다.
  • head, tail : 파일의 앞 10행 또는 끝 10행을 보여준다.
  • more, less : 텍스트 형식의 파일을 페이지 단위로 보여준다.
  • file : 파일의 종류를 보여준다.
  • clear : 터미널 화면을 정리한다.
  • mount : 특정 장치를 마운트한다.
  • umount : 마운트를 해제한다.
  • tar : 파일을 압축하거나 압축을 해제할 때 사용한다.
    • -c : 파일을 tar로 묶는다.
    • -f : 압축할 파일을 지정한다.
    • -x : 압축을 해제한다.
    • -z : gzip으로 압축한다.
    • -t : tar로 압축된 내용을 확인한다.
    • -p : 파일 권한을 저장한다.
    • -v : 처리 과정을 자세히 보여준다.
    • -C : 경로를 지정한다.
  • halt -p, poweroff, shutdown -P now : 시스템을 종료한다.
  • reboot, shutdown -r now : 시스템을 재부팅한다.

 

여기 나와있는 건 리눅스에 정의된 수많은 커맨드 중 극소수에 불과하다.

구글에 'Linux commands cheat sheet'로 검색해보면 명령어들이 잘 정리된 자료가 잔뜩 나온다.

아니면 터미널 내부에서 man <명령어> 를 입력하면 명령어에 대한 도움말을, <명령어> --help를 사용하면 해당 명령어의 옵션을 확인할 수 있다.

 

터미널 내에서 명령어의 사용 방법을 볼 수 있다

 

vi 에디터

윈도우엔 '메모장'이라는 앱이 기본적으로 설치되어 있다. 간단한 텍스트 파일을 여기서 편집할 수 있다.

vi 에디터는 리눅스에서 사용할 수 있는 텍스트 기반의 편집기로, 터미널에서 각종 텍스트 문서를 편집할 수 있다.

vi <파일명> 명령어로 실행을, :wq로 저장/종료가 가능하다.

 

명령어 cheet sheet : 영문, 한글

 


대부분의 사람들에게 CLI는 생소한 환경이기도 하고, 명령어를 모르면 아무것도 할 수 없기 때문에 진입장벽이 높게 느껴진다.

그럼에도 불구하고 서버 개발자들이 터미널을 사용하는 이유는 CLI가 GUI에 비해 컴퓨터의 자원을 압도적으로 적게 사용하면서 안정적이고 빠르기 때문이다. 서버는 어차피 사용자들의 눈에 보이지 않는 뒷단의 영역이기 때문에 그래픽적 요소가 필요하지 않고, 운영에 있어 안정성과 성능이 그 무엇보다 중요하기 때문이 이런 터미널 환경이 더욱 널리 사용되고 있다고 한다.

CLI 환경에 익숙해지려면 어느 정도의 학습 시간이 필연적으로 있어야 하기 때문에 앞으로 공부를 해가면서 천천히 익숙해지고 싶다.

 

 

참고 자료

https://www.linuxtrainingacademy.com/linux-commands-cheat-sheet/