파워 유저를 위한 6가지 대체 리눅스 셸

Bash, 또는 Bourne Again Shell은 대부분의 리눅스 배포판에 기본적으로 설치되어 있습니다. 그러나 그것이 유일한 셸은 아닙니다. 시도해 볼 수 있는 여러 다른 셸이 있습니다. 여기 Bash를 대체할 수 있는 6가지 대체 셸이 있습니다. 각각 장단점이 있으므로 직접 사용해 보고 어떤 것이 가장 적합한지 확인해야 합니다.
목차
- sh (또는 Bourne Shell)
- Dash
- csh (또는 C Shell)
- ksh (또는 Korn Shell)
- zsh (또는 Z Shell)
- Fish
팁: Bash 사용에 지치셨나요? 리눅스에서 기본 셸을 변경하는 방법을 배우세요.
1. sh (또는 Bourne Shell)
Bourne 셸은 그 제작자인 Stephen Bourne의 이름을 따서 명명되었으며, 최초의 셸 중 하나였습니다. Bash가 만들어진 기반으로 사용되었다고 할 수 있습니다. 때때로 사용자는 두 셸을 혼동하고 동일하다고 생각하지만, 실제로는 그렇지 않습니다. 많은 .sh 스크립트가 Bash에서도 실행될 수 있지만, 그 반대는 성립하지 않습니다.

Sh는 Bash의 전신으로 생각할 수 있습니다. 기능은 많지 않지만, Bash보다 더 표준화되어 있습니다.
2. Dash
Dash는 본질적으로 Debian 시스템에서의 Bash입니다. Debian 기반 배포판을 실행하고 있다면, Bash가 아닌 Dash를 실행하고 있을 가능성이 높습니다. 그러나 Dash를 기본 셸로 사용하는 복잡성 때문에, Ubuntu(데비안 기반 배포판)는 기본 셸로 Dash가 아닌 Bash를 사용하기로 결정했습니다.

Dash는 탭 완성 및 명령 기록과 같은 많은 Bash 기능이 부족하지만, 더 빠르고 크기가 훨씬 작습니다(100K 대 900K). 이는 성능이 그리 강력하지 않은 컴퓨터에서 실행할 경우 중요한 요소입니다.
추가 읽기: 리눅스에서 Sed 사용하기
3. csh (또는 C Shell)
C 및 C++ 프로그래밍 언어는 꽤 인기가 있었으며, 리눅스의 많은 부분이 이들로 작성되었습니다. 그래서 C 구문 모델을 사용하는 셸인 C Shell 또는 Csh가 있다는 것은 놀라운 일이 아닙니다. C에 능숙하다면 이 셸은 자연스럽게 느껴질 것입니다.

그러나 Csh 셸은 많은 버그와 기능 부족이 있었습니다. 그래서 Tcsh 셸이 등장하게 되었습니다. Tcsh는 대부분의 버그를 수정하고 명령 완성, 작업 제어, 철자 수정 등의 새로운 기능을 추가했습니다. 불행히도, Tcsh와 Bash는 매우 다르기 때문에, Tcsh에서 Bash 스크립트를 실행할 수 없고 그 반대도 마찬가지입니다.
추가 읽기: Log4Shell이란 무엇이며 리눅스 시스템을 어떻게 보호할 수 있는가
4. ksh (또는 Korn Shell)
Ksh 또는 Korn 셸(제작자인 David Korn의 이름을 따서 명명됨)은 Tcsh와 거의 동시에 도입되었지만, Tcsh와 달리 Sh 및 Bash와 호환됩니다. 2000년까지 AT&T의 독점 셸이었기 때문에 그렇게 인기가 없었습니다. Ksh는 Sh에 더 많은 기능을 추가하며, 부동 소수점 산술, 작업 제어, 명령 별칭 및 명령 완성 등을 포함합니다.

5. zsh (또는 Z Shell)
지금까지 나열된 셸은 주로 1970년대에 만들어졌습니다. 컴퓨터는 그 이후로 많은 발전을 이루었고, 이는 새로운 셸의 필요성을 요구합니다. 인기 있는 새로운 셸 중 하나는 Z 셸 또는 Zsh입니다. 1990년 Paul Falstad에 의해 만들어졌습니다.

Zsh는 Bash의 기능과 함께 시작 파일, 로그인/로그아웃 감시, 바이트코드와 같은 내장 프로그래밍 기능, 구문에서의 과학적 표기법 지원, 부동 소수점 산술, 닫는 주석, 개념, 변수, 함수 및 키 인덱스와 같은 추가 기능을 제공합니다. 더 발전된 셸을 찾고 있다면 Z 셸을 시도해 보세요.
6. Fish
더 현대적인 셸에 대한 탐구는 Fish로 끝나지 않았습니다. 새로운 세기에는 Fish(또는 Friendly Interactive Shell)와 같은 새로운 셸이 등장했습니다. 2005년에 출시되었으며, Sh 셸을 기반으로 하지 않습니다. Fish의 가장 두드러진 특징은 초보자 친화적으로 설계된 독특한 명령줄 구문입니다. 또한 자동 제안, 화살표 키로 선택, X 클립보드 지원, 256 터미널 색상 등의 멋진 기능이 있습니다.

Fish의 주요 단점은 Bash 및 기타 Bourne 기반 셸과 매우 다르다는 것입니다. 결과적으로 Fish에서 Bash 및 Sh로 코드를(및 지식)를 이식할 수 없습니다.
그렇다면 어떤 셸이 가장 좋을까요? 불행히도 이 질문에 대한 답은 없습니다. 모든 셸은 장단점이 있으며, 실제로는 필요에 따라 다릅니다. 그러나 이제 이 6가지 대체 셸의 장단점을 알게 되었으므로, 어떤 상황에서 어떤 셸을 사용해야 할지 결정하는 것이 더 쉬워질 것입니다. 솔직히 말하자면, 이 선택은 개인의 취향에 크게 좌우됩니다. 저 자신은 Bash를 고수하고 있으며, 그것에 만족하고 있습니다. Bash는 이유가 있어서 기본 셸인 것을 아시죠!