「셸(shell)」은 「사용자가 입력한 명령을 OS에 전달하고, 결과를 보여주는」 프로그램입니다.
윈도우의 cmd·PowerShell, Mac의 Terminal에 해당.
리눅스에서 가장 자주 사용하는 도구 중 하나.
bash — 표준의 자리.
Bourne Again Shell.
GNU 프로젝트의 기본 셸로, 거의 모든 리눅스 배포판의 기본.
1989년 등장, 30년 이상 다듬어진 안정성.
「리눅스 = bash」라고 해도 과언이 아닐 정도.
zsh — 모던하고 강력함.
bash 호환 + 더 풍부한 기능 — 자동 완성·git 통합·테마.
macOS 기본 셸이 2019년부터 zsh.
Oh My Zsh 같은 프레임워크로 강력한 환경 구성 가능.
fish — 친절하고 직관적.
「Friendly Interactive SHell」.
자동 완성·구문 강조가 매우 우수, 설정 거의 안 해도 즉시 멋진 환경.
단, bash와 호환 안 됨 — 스크립트는 bash로 작성하는 게 안전.
선택.
1) 서버 — bash(거의 모든 곳에 있어 안전).
2) 데스크톱 일상 — zsh + Oh My Zsh 또는 fish.
3) 학습 — bash가 가장 보편적이라 자료·예제 풍부.
어느 쪽이든 한 번 익히면 다른 셸도 쉽게 적응.
한 줄 요약
셸은 명령 입력·실행 프로그램.
bash가 표준(거의 모든 리눅스), zsh는 모던 + 호환, fish는 친절·자동완성 좋지만 비호환.
서버는 bash, 데스크톱은 zsh/fish 흔히.
더 알아볼 것
- Oh My Zsh — zsh 프레임워크
- starship — 모든 셸용 프롬프트
- sh vs bash 차이