새소식

languages/Linux

[Linux] 셸과 Bash의 개념

  • -

CUI(Command Line Interface): 텍스트를 직접 입력해서 명령하는 방식. 키보드에 의존적이다.

GUI(Graphic User Interface): 커서를 이용해서 시각적으로 명령을 처리하는 방식. 사용자 친화적이다.

 

셸(Shell)

사용자 명령을 해석하고 실행하는 기능을 한다. OS뿐 아니라 모든 종류의 프로그램에 적용되는 일반적인 요소이다. 예를 들어 웹 브라우저에서는 HTML 엔진의 셸을 사용한다.

리눅스 CLI에서는 bash가 기본적이다. 사용자 계정에 기본 로그인 셸로 /bin/bash가 설정되어 있다.

 

CLI 셸을 실행하는 장치는 터미널(Terminal)이다\. 사용자로부터 텍스트를 입력받고, 실행 결과를 텍스트로 출력한다. 데이터 저장이다 처리 없이 입출력만을 담당한다. 본체와 연결된 터미널은 보통 콘솔(console)이라 칭한다.

 

GUI 환경에서 명령어를 실행하는 가상 터미널 장치로는 pty, pts가 있으며 가상 터미널 프로그램은 gnome-terminal, xterm, Powershell 등이 있다. GUI 환경에서는 키보드 말고 마우스도 활용할 수 있다.

 

터미널을 실행하거나 CLI 환경에서 로그인하면 자동으로 기본 셸(=bash)에서 시작한다.

셸을 종료할 땐 exit, logout, Ctrl+d, 가상 터미널 닫기 등의 명령을 수행할 수 있다. 가상 터미널 닫기의 경우 터미널 내부의 탭을 비록한 모든 셸이 동시에 종료된다.

 

명령어 구조

하나의 줄이 하나의 명령어를 담당하며, 이 줄을 명령행(Command line)이라고 한다.

$ ls -la /usr/bin/a*

# $(prompt)
# ls(command)
# -la(options)
# /usr/bin/-a(arguments)

 

옵션의 경우 (-) 기호 뒤에 문자를 붙인다. 문자 한 개당 하나의 옵션을 의마하며 하나씩 써도 되고, 한꺼번에 여러 문자를 써도 된다.

인자는 주로 파일 뒤에 디렉터리 이름, 숫자 등 해당 명령 또는 프로그램에서 요구하는 입력을 말한다. 메타문자(특별하게 해석되는 문자로 *, ? 등이 있다)를 사용할 수 있다.


매뉴얼 출력 명령

man (command)

 

man 명령어 뒤에 검색하고자 하는 명령어를 입력하면 이름과 기능 요약 및 사용법, 설명을 출력해준다. 

 

명령어 실행 기록

script [-a] [filename]

 

[]는 생략 가능한 옵션을 말한다. -a 옵션을 쓰면 기존 파일에 덧붙일 수 있다. filenamee은 이름이 없으면 typescript로 만들어진다. 이미 만들어진 파일이 있을 경우 반드시 -a 옵션을 사용하거나, 새 파일 이름을 지정해서 만들어야 한다.

Contents

포스팅 주소를 복사했습니다

이 글이 도움이 되었다면 공감 부탁드립니다.