[Linux] 쉘(Shell)과 커널&쉘 스크립트 및 프롬프트

리눅스에 대해 공부하면서 터미널 창에서 명령어를 입력해서 관리를 하지만 시스템 자체에 대한 공부가 리눅스 서버를 운영하는데 많은 도움이 되기 때문에 기초와 개념에 대해 알아야 할 필요성을 가지게 되었습니다. 리눅스 쉘(Shell)과 쉘 스크립트(Shell Script) 그리고 프롬프트(Prompt)의 기본 개념에 대해 알아 보겠습니다.

✅ 쉘(Shell)이란?

Shell은 껍데기, 주변이라는 뜻을 가지고 있으며, 키보드로 입력한 리눅스 명령어를 운영 체제에 전달하여 명령어를 실행하게 만들어 주는 프로그램입니다.

◼ 리눅스 커널(Kernel)

리눅스 커널(Kernel)은 Shell에서 전달 받은 명령을 기계가 이해할 수 있는 언어로 변환하여 하드웨어(CPU, I/O, 메모리 등) 의 리소스에 접근하는 역할을 담당합니다.

  • Shell과 Kernel 포인트
  • Shell: 껍데기, 외부 계층, 사용자와 커널을 연결해 주는 역할
  • Kernel(핵심): 내부 계층, Shell과 하드웨어 연결해 주는 역할

✅ 리눅스 쉘 종류

Linux Shell의 대표적인 종류는 다음과 같습니다.

◼ Linux Shell 종류 별 특징

  • Bourne Shell (sh)
  • 작고 빠르지만 일부 표준 다음과 같은 기능이 없습니다.
  • 논리 및 산술 확장을 처리하는 기능이 내장되어 있지 않음.
  • 명령 내역
  • 자동 완성과 같은 포괄적인 기능
  • C Shell (csh)
  • 대화형 기능
  • 프로그램에 대한 사용자 정의 별칭.
  • 상대 홈 디렉터리( ~ ).
  • 내장된 표현식 문법과 편리한 기능.
  • C Shell 단점
  • 구문 불일치.
  • 커진 크기와 느린 처리 속도
  • TENEX C Shell (tcsh)
  • C Shell의 확장인 TENEX C Shell의 추가 기능
  • 고급 명령 기록
  • 와일드카드 기능
  • 내장형 where 명령
  • KornShell (ksh)
  • 특징
  • C Shell과 Bourne Shell의 기능을 구현하여 대화형 명령과 프로그래밍 기능에 중점
  • 내장 명령의 확장성.
  • Bourne Shell과 호환.
  • C Shell과 Bourne Shell보다 빠름.
  • Z Shell (zsh)
  • 특징
  • bash, ksh, tcsh Shell의 기능을 결합한 맞춤법 검사
  • 로그인 감시, 철자 수정 및 명령 이름 자동 완성
  • 플러그인과 테마 지원과 같은 확장성
  • bash Shell
  • 특징
  • Bourne Shell 기반으로 만들어진 bash Shell은 리눅스의 표준 Shell로 사용되고 있음.
  • Gnu 프로젝트를 위해 개발되었으며, 맥 OS에서도 사용되고 있다.
  • sh와 호환되는 문법 및 hitory, 명령행 편집과 같은 다양한 기능.

✅ 쉘 스크립트(Shell Script)

Shell Script는 Shell에서 사용할 수 있는 명령어들의 조합으로 만든 배치 파일입니다. 스크립트를 사용하면 일련의 명령어를 자동으로 실행하여 반복적인 작업을 자동화할 수 있습니다.

✅ 쉘 프롬프트(Shell Prompt)

Shell Prompt는 Shell이 입력 가능한 상태일 때에만 나타나며, Bash Shell에서 ‘$’는 일반 유저, ‘#’는 슈퍼 유저 권한(root)을 나타냅니다.

리눅스 기초(The Linux Foundation)

Similar Posts