본문 바로가기
OS/LINUX

6. 쉘과 커널

by coldplayer83 2026. 1. 16.
728x90
반응형

쉘(shell) : 사용자가 명령을 입력하면 그 명령을 컴퓨터가 이해할 수 있도록 하는 프로그램

커널(kernel) : 하드웨어를 제어해서 명령을 수행, 실제로 명령이 실행되는 부분

=> 둘을 구분함으로써 사용자가 편한 쉘을 골라 사용할 수 있다

echo $0 : 현재 사용하는 쉘 확인 방법
/etc/passwd : 유저별로 어떤 쉘 사용할지 정의되어 있음(변경 가능)
또는 스크립트 작성시 상단에 #!/bin/bash 등으로 사용할 쉘 지정 가능

bash vs zsh

echo $0 : 현재 사용하는 쉘 확인 방법
zsh 설치 후 echo $0 하면 zsh 사용 가능

zsh : bash가 가지고 있지 않은 추가적인 기능이 있어 좀 더 편리할 수 있음

bash => cd /home/ubuntu/dir1
zsh => cd /h/u/d tab 하면 자동완성 가능, 다른 디렉토리로 변경 시 cd dir1 why로 바로 변경 가능

 

 


 

interactive shell vs Non-interactive shell

https://mug896.github.io/bash-shell/interactive_non-interactive.html

Shell이 실행되는 환경은 두가지가 있음

1) 사용자로 부터 프롬프트를 통해 직접 명령을 입력받아 실행시키는 interactive shell
2) 작성한 스크립트 파일을 실행하는것과 같은 non-interative shell

history 확장이나 alias, job control 과 같은 기능은 기본적으로 interactive shell 에서 사용하기 위한 것으로 스크립트 파일을 실행할 때는 disable됨

Interactive shell 인지 아닌지 알아보는 법)

'$-' 변수는 set 명령에 의해 설정돼있는 option flags 을 담고 있으며, 'i' 는 interactive 를 의미함

case $- in
*i*) echo interactive shell ;;
*) echo non-interactive shell ;;
esac
 

Interactive vs Non-Interactive Shell | Introduction

Interactive vs Non-Interactive Shell Shell 이 실행되는 환경을 두가지로 나누어 볼 수 있습니다. 사용자로 부터 프롬프트를 통해 직접 명령을 입력받아 실행시키는 interactive shell 과 작성한 스크립트 파일

mug896.github.io

 

728x90
반응형

'OS > LINUX' 카테고리의 다른 글

8. 프로세스 모니터링 (top, htop)  (0) 2026.04.01
7. 쉘 스크립트  (0) 2026.03.25
curl 옵션  (0) 2025.11.18
5. IO Redirection (<,<<,>,>>)  (0) 2025.11.10
4. 파일 다운로드, 찾기  (1) 2025.11.07