본문 바로가기
리눅스와 서버/리눅스 기초

리눅스 쉘 명령어에 대해

by 빈스터디 2023. 2. 3.

쉘이란?

쉘(Shell)은 터미널에 사용자가 입력한 명령어를 커널에게 번역해주는 역할을 하는 프로그램이다.

쉘은 사용자와 커널 사이를 연결시켜주는 역할을 한다.

쉘의 모습

 

Bash 쉘

쉘은 여러 종류가 있는데 가장 많이 사용되는 쉘Bash(Born Again SHell) 쉘이다.

bash에 기능에는 명령어 히스토리, 별명, 쉘 스크립트, 자동완성, 명령행 편집, 작업제어가 있다.

명령어 히스토리는 상하 방향키를 통해 상(↑)은 이전에 입력했던 명령어, 하(↓)는 최근에 입력했던 명령어를 볼 수 있다.

별명은 명령어를 축소된 명령어 형식으로 입력할 수 있는 기능이다.

*쉘 스크립트는 나중에 자세히 다룰 예정이다.

자동완성은 tap키를 사용한다.

명령행 편집은 방향키와 Backspace키를 사용하여 명령어를 작성하는 중 편집할 수 있는 기능을 말한다.

작업제어는 쉘에서 현재 실행되고 있는 작업을 종료하는 등의 기능을 수행하는 것을 말한다.

 

 

쉘 메타문자 사용

쉘 메타문자에는 경로 이름 메타문자, 파일 이름 메타문자, 인용부호 메타문자, 방향 재지정 메타문자가 있다.

 

경로 이름 메타문자는 경로를 나타내는 특수문자이다.

~ 현재 로그인 한 사용자의 홈 디렉토리이고, - 는 (CentOS bash기준) 이전 작업 디렉토리이다.

 

파일 이름 메타문자는 파일의 이름을 대체하는 문자이다.

* 은 하나 이상의 문자를 대체하는 문자로, 일반적으로 전체를 의미한다. ? 는 하나의 문자만 대체하는 문자이다.

 

인용부호 메타문자 중, ' '(작은 따옴표)는 안에 있는 문자를 명령어로 인식하여 실행되게 한다. ($,`,\도 일반문자 취급)

                                    " "(큰 따옴표)는 안에 있는 $, `, \ 문자를 제외한 나머지 문자만 일반 문자로 취급한다.

                                         * $, `, \의 3개의 문자는 리눅스 쉘에서 특수문자로 사용되기 때문이다.

 

방향 재지정 메타문자는 <, >, | 로 3가지이다.

< : 표준 입력 재지정 문자이다. vi 편집기로 해당 기능 대체가 가능하며, 잘 사용하지 않는다.

> : 표준 출력 및 표준 에러를 재지정하는 문자, 일반적으로 명령어의 풀력을 파일로 저장하거나 네트워로 전송한다.

방향 재지정 메타문자 > 의 예시

echo 명령어는 화면에 출력하는 명령어이다.

위의 예시는 test라는 문자를 file이라는 이름의 파일로 저장하고, 그 파일을 열어서 안의 내용을 확인하는 모습이다.

 

| : 파이프 문자로, [명령어A] | [명령어B]로 사용하며, 명령어A의 결과를 명령어B의 입력으로 사용한다.

 

 

사용자 초기화 파일

/etc/profile : 모든 사용자가 적용되는 파일로, 시스템 전역에 걸쳐 환경을 설정하는 파일이다.

~/.profile : 현재 로그인 한 사용자 home 디렉토리 안에 들어있는 파일로, 해당 사용자의 설정을 변경할 때 사용한다.

~/.bashrc : 현재 로그인 한 사용자 home 디렉토리 안에 들어있는 파일로,

                   해당 사용자의 쉘 관련 설정을 변경할 때 사용한다.

 

※ 사용자 초기화 파일을 통하여, 환경 변수, 쉘 프롬프트 모양(명령어 앞에 붙는 내용),

별명 기능(alias), 쉘 옵션 정의 등 설정 가능

 

환경 변수는 시스템 환경에 대한 설정을 저장하고 있는 변수이다.

환경 변수의 종류
PS1 예시