Linux Shell(쉘)
사용자에게 키보드로 명령을 받아 OS가 해당 명령을 수행하도록 하는 프로그램이다.
쉘(Shell) 이란?
사용자에게 명령을 받아 OS가 해당 명령을 해석하여 수행하도록 하는 프로그램이다.
쉘은 사용자와 시스템 간의 대화를 가능하게 해 주는 운영체제의 명령 해석기이다. 일반적으로 운영체제의 핵심이 되는 커널의 주위에 존재한다. 명령어 해석기라고 표현할 수 있으며, Unix에는 여러 가지의 쉘이 존재하고 사용자는 자신의 목적과 취향에 따라 원하는 쉘을 선택하여 사용할 수 있다.
쉘의 종류
Linux에서 이용할 수 있는 쉘에니느 몇가지 종류가 있다. 자주 이용하는 쉘의 특징을 간단히 설명하겠다. 또한 디폴트로 이용할 수 있는 쉘은 /bin/sh
에 심볼릭 링크로 설정된 것이다.
-
bash (Bourne-Again Shell)
/bin/bash
- GNU에서 개발하였다.
- 명령 이력, 디렉터리 스택, 명령 변환 기능, 명령이나 파일명의 자동보완 기능 등을 지원하는 고기능 쉘이다.
- 대부분의 Linux 시스템에 표준으로 탐재되어 있다.
-
csh (C Shell) -
/bin/sh
- 미국 버클리 대학에서 개발하였다.
- C 언어와 매우 비슷한 쉘로, BSD 계열 OS에서 주로 이용한다.
-
ksh -
/bin/ksh
- David Korn이 개발하였다.
- 초보자를 위해 표준 환경이 적용되어 있는 Bourne쉘의 슈퍼셋이다.
- 유닉스 지식을 가지고 있는 사람들에게 인정받고 있는 쉘이다.
-
tcsh
/bin/tcsh
- csh를 개선한 버전으로, 명령이나 파일명 등의 자동보완 기능을 갖고 있다.
- 사용자 중심이고 속도가 빠르다.
-
zsh (Z shell)
- bash와 호환성 있는 쉘로, 고속으로 작동하는 것이 특징이다.
macOS 버전 10.15 인 ‘카탈리나’ 부터 기본 Shell이 bash에서 zsh로 변경 되었다.*
쉘 명령
현재 사용중인 쉘 확인
아래 명령로 현재 사용중인 쉘이 무엇인지 확인 할 수 있다.
% env | grep SHELL
SHELL=/bin/zsh
혹은, 아래 같은 명령으로도 가능하다.
% echo $SHELL
/bin/zsh
맥에서 설치되어 있는 쉘 확인하기
아래 명령으로 맥에 현재 설치되어 있는 쉘 목록을 확인할 수 있다.
cat /etc/shells
% cat /etc/shells
# List of acceptable shells for chpass(1).
# Ftpd will not allow users to connect who are not using
# one of these shells.
/bin/bash
/bin/csh
/bin/dash
/bin/ksh
/bin/sh
/bin/tcsh
/bin/zsh
사용하고 있는 쉘 변경하기
chsh
명령을 사용하면, 사용하는 쉘을 변경할 수 있다.
chsh -s /bin/bash
% chsh -s /bin/bash
Changing shell for user.
Password for user:
참조
최종 수정 : 2022-09-18