Linux 기초 (1) CLI와 쉘이란?

💡 본 글은 솔데스크 ‘리눅스 시스템 디자인 및 고급 활용 - LEVEL1’ 강의 수강 내용을 바탕으로 정리하였습니다.

Linux(리눅스)란?

UNIX에 기반을 둔 운영체제. 리눅스는 오픈소스 소프트웨어로써 누구든지 연구, 수정, 공유가 가능하다. 리눅스는 다음의 경우에서 많이 쓰인다.

  • 애플리케이션을 호스트(클라우드 컴퓨팅에서 클라우드 인스턴스로 Linux 운영체제를 선택하는 경우가 많음)
  • IoT의 장치의 운영체제

명령줄 엑세스

리눅스의 강점 중 하나인 CLI(Command-line Interface, 명령줄 인터페이스). CLI는 사용자와 컴퓨터가 문자열로 상호작용하는 방식이다. 사용자는 명령어로 컴퓨터에게 작업을 입력하고, 컴퓨터는 명령어를 실행한 결과를 다시 문자열로 출력하는 형태다. 리눅스 사용자는 CLI에서 모든 관리 작업을 수행할 수 있다.

네트워크를 통한 로그인

SSH

ssh는 리눅스에서 원격 시스템에 쉘 프롬프트를 가져오는 가장 일반적인 방법. ssh 명령은 연결을 암호화하여 암호 및 콘텐츠의 도청 또는 도용으로부터 통신을 보호한다. 공개키 인증을 사용하여 ssh를 통해 리눅스에 로그인하려면?

[user@host]$ ssh -i .pem remoteuser@remotehost

Shell(쉘)과 Terminal(터미널)

Shell이란 사용자가 명령어를 입력하면, 해당 명령어를 실행할 수 있도록 운영체제에 전달하는 프로그램이다. Bash 쉘은 쉘 중 하나로, 리눅스에서는 Bash를 기본 쉘 프로그램으로 사용한다. (macOS에서도 마찬가지!) Terminal은 사용자가 쉘과 상호작용할 수 있는 창이다.

Bash 소개

Shell Prompt(쉘 프롬프트)

Shell Prompt(쉘 프롬프트)는 쉘에서 사용자의 명령 입력을 기다리는 동안 표시되는 문자열이다. 명령을 받을 준비가 되어 있다는 말로 봐도 된다. 따로 설정을 바꾸지 않으면 쉘 프롬프트는 [사용자명@호스트명 디렉토리]로 되어 있다. 슈퍼유저(root)는 뒤에 #, 일반유저는 $가 붙는다.

쉘 기본 사항

명령어의 기본 구조는 다음과 같다.

  • 실행할 명령
  • 명령의 동작을 조정할 옵션
  • 명령의 대상이 되는 인수

명령어 사용법을 알고 싶다면 명령 뒤에 --help를 쳐보자🙌

Tab 완성

tab 키를 잘 사용하면 명령어, 파일 이름을 빠르게 완성할 수 있다! tab 키를 두 번 누르면 입력한 문자로 시작하는 모든 명령이 표시된다.

명령 줄바꿈

\(백슬래시) 문자를 사용하면 긴 명령을 다음 줄에 나누어 입력 가능하다.

명령 히스토리

화살표 아래, 위 키로 쉘 기록에서 이전 명령을 탐색할 수 있다. Alt 키와 화살표 왼쪽, 오른쪽 키로 단어 간 이동이 가능하다.