OS & Hardware/Linux_ubuntu

ubuntu와 mac의 Shell은 그리고 여러Shell종류 및 비교

눈곱만큼도모름 2025. 2. 1. 04:46
728x90
반응형

셸(Shell)의 역할은?

셸(Shell)은 사용자와 운영체제(커널) 사이에서 명령을 해석하고 실행하는 인터페이스이다,
쉽게 말해, 사용자가 입력한 명령을 해석하여 운영체제에게 전달하고, 실행된 결과를 사용자에게 반환하는 역할을 한다.



우분투(Ubuntu) 기본 셸

우분투의 기본 셸은 **Bash (Bourne Again Shell)**

맥(macOS) 기본 셸

  • macOS 10.15 Catalina 이상: zsh (Z Shell)
  • macOS 10.14 Mojave 이하: Bash

Catalina부터 기본 셸이 Bash에서 Zsh로 변경. 하지만 여전히 Bash를 사용가능

현재 사용 중인 셸 확인

echo $SHELL

출력 예시:
/bin/bash # Bash 사용 중
/bin/zsh # Zsh 사용 중

사용 가능한 셸 목록 확인

cat /etc/shells

출력 예시:
/bin/bash
/bin/csh
/bin/dash
/bin/ksh
/bin/sh
/bin/tcsh
/bin/zsh

기본 셸 변경하기
Zsh로 변경

chsh -s /bin/zsh

Bash로 변경

chsh -s /bin/bash




Shell 종류 및 비교

1. Bash (Bourne Again Shell)

  • 장점: 리눅스 기본 셸, 강력한 스크립팅 기능, 널리 사용됨
  • 단점: 플러그인 부족, 자동완성 기능이 Zsh보다 약함

2. Zsh (Z Shell)

  • 장점: 강력한 자동완성, Oh My Zsh 지원, 히스토리 검색 강화
  • 단점: 기본 설치 안 됨, 설정 필요

3. Sh (Bourne Shell)

  • 장점: POSIX 표준 준수, 가볍고 빠름
  • 단점: 기능이 매우 제한적, 자동완성 없음

4. Ksh (Korn Shell)

  • 장점: 빠른 실행, Sh보다 기능 확장
  • 단점: 기본 설치 안 됨, Bash보다 어렵다

5. Tcsh (TENEX C Shell)

  • 장점: C 스타일 문법, 빠른 반응 속도
  • 단점: 배우기 어려움, 스크립팅 기능 부족

요약:

셸 종류 장점 단점 추천 대상
Bash 기본 제공, 스크립팅 강력, 자료 풍부 자동완성 부족, UI 평범 초보자, 일반 서버 관리
Zsh 강력한 자동완성, 플러그인/테마 지원 설정 필요, 기본 제공 아님 개발자, macOS 사용자
Sh 가장 기본적, 이식성 우수 기능 부족, 불편한 사용성 POSIX 호환이 중요한 경우
Ksh 빠른 실행, Sh보다 기능 확장 기본 제공되지 않음 성능이 중요한 경우
Tcsh C 스타일 문법, 빠른 반응 속도 배우기 어려움, 스크립팅 부족 C 개발자, 고급 사용자

 

  • 초보자 → Bash (리눅스 기본)
  • 개발자 & 파워유저 → Zsh (자동완성 + 플러그인 지원)
  • 서버 관리자 → Bash 또는 Sh (POSIX 호환 중요)
  • 고급 성능이 필요한 경우 → Ksh
  • C 프로그래머 → Tcsh
728x90
반응형