Shell – Linux 에서 Shell 이란?
– 리눅스 쉘(Shell)
리눅스 쉘은 리눅스 운영체제에서 사용되는 명령어 인터페이스 입니다. 쉘은 사용자가 컴퓨터와 상호작용할 수 있는 방법을 제공합니다. 쉘은 커널(kernel)과 사용자간의 다리역할을 하며, 사용자로 부터 명령을 받아 해석하고 프로그램을 실행하는 역할을 합니다. 쉘 스크립트는 쉘에서 사용되는 명령어와 특정 문법을 사용하여 작성되는 프로그램 입니다. 이러한 스크립트는 자동화 및 일괄 처리 작업을 수행 하는데 유용합니다. 쉘 스크립트는 일반적으로 파일로 저장되고, 해당 파일을 실행하여 명령어를 자동으로 실행할 수 있습니다. 리눅스 쉘은 강력하고 유연한 도구로, 개발자와 시스템 관리자들이 많은 작업을 수행하는 데 있어 필수적인 도구입니다.
– 리눅스 쉘 종류
-
Bash(Bourne-Again Shell): 가장 일반적으로 사용되는 쉘로, 대부분의 리눅스 배포판에 기본적으로 포함되어 있습니다. 많은 기능과 확장성을 제공하며, 쉘 스크립트를 작성하기에도 용이합니다.
-
KornShell(KSH): 유닉스에서 개발된 쉘로, Bash와 유사한 기능을 제공하지만, 조금 더 간결한 문법을 가지고 있습니다.
-
C Shell(CSH): C 프로그래밍 언어와 유사한 문법을 가지고 있어, C 프로그래머들이 사용하기 좋습니다.
-
Z Shell(ZSH): Bash와 유사한 기능을 제공하지만, 좀 더 직관적이고 간결한 문법을 가지고 있습니다. 명령어 자동 완성 기능이 강력하여, 편리하게 사용할 수 있습니다. ZSH 공식사이트 https://ohmyz.sh/
-
Fish Shell(FISH): ZSH와 마찬가지로, 명령어 자동 완성 기능이 강력하여, 사용자가 입력하는 명령어의 의도를 추측하여 보완적인 기능을 제공합니다.
위와 같은 다양한 쉘 중에서 Bash가 가장 일반적으로 사용되며, 쉘 선택은 사용자의 취향과 작업 환경에 따라 달라집니다.
변경 후 원활한 작업이 안될 수 있기에, 자신에 맞는 리눅스 쉘로 변경하기 전에, 테스트 할 서버에서 변경하여 사용해본 후 변경을 권장합니다.
– 리눅스 쉘 변경방법
-
현재 사용 중인 쉘 확인하기:
echo $SHELL
명령어를 실행하여 현재 사용 중인 쉘을 확인할 수 있습니다. -
사용 가능한 쉘 확인하기:
cat /etc/shells
명령어를 실행하여 시스템에 설치된 사용 가능한 쉘 목록을 확인할 수 있습니다. -
새로운 쉘 선택하기:
chsh
명령어를 실행하여 로그인 쉘을 변경할 수 있습니다. 예를 들어, 새로운 쉘로 Bash를 사용하려면 다음과 같이 입력합니다.
위 명령어를 실행하면, 현재 로그인한 사용자의 쉘이 Bash로 변경됩니다.
- 새로운 쉘로 변경 후 로그아웃 및 재로그인: 새로운 쉘을 선택하면, 로그아웃하고 다시 로그인하여 변경된 쉘을 사용할 수 있습니다.
참고로, 쉘을 변경하는 것은 시스템에 영향을 미칠 수 있으므로, 신중하게 선택해야 합니다. 또한, 쉘을 변경하더라도, 이전 쉘에서 작성한 쉘 스크립트나 환경 변수 등은 새로운 쉘에서 사용할 수 없으므로, 필요한 작업을 다시 수행해야 합니다.