반응형
로그인 쉘(login shell)과 비로그인 쉘(non-login shell)
로그인 쉘(login shell)과 비로그인 쉘(non-login shell)은 사용자가 시스템과 상호작용하는 방식에 따라 구분됩니다. 주요 차이점은 초기화 파일이 실행되는 시점과 종류에 있습니다.
로그인 쉘
로그인 쉘은 사용자가 시스템에 로그인할 때 시작되는 쉘입니다. 예를 들어, 텍스트 기반 인터페이스에서 사용자 이름과 비밀번호를 입력하여 접속하거나, 그래픽 사용자 인터페이스에서 터미널 에뮬레이터를 통해 로그인 세션을 시작할 때 로그인 쉘을 사용합니다.
로그인 쉘의 초기화 파일
/etc/profile
: 시스템 전체 설정을 위한 파일로, 모든 사용자에게 영향을 줍니다.~/.bash_profile
,~/.bash_login
,~/.profile
: 이 파일들 중 존재하는 첫 번째 파일만 실행되며, 사용자별 환경 설정을 위한 것입니다.
비로그인 쉘
비로그인 쉘은 로그인 과정 없이 실행되는 쉘로, 예를 들어 이미 로그인한 상태에서 새 터미널 창을 열거나 스크립트를 실행할 때 사용됩니다.
비로그인 쉘에서는 ~/.bashrc
파일이 실행됩니다. 이 파일은 사용자별 설정을 담고 있으며, 주로 쉘 프롬프트, 함수, alias 설정, 환경 변수 등을 설정하는 데 사용됩니다.
사례
- 로그인 쉘 사례
- 원격으로 서버에 SSH(Secure Shell)를 통해 로그인하는 경우, 사용자는 로그인 프로세스를 완료하고 로그인 쉘이 활성화됩니다. 이때
~/.bash_profile
또는 관련 파일이 소스되어 사용자 환경이 설정됩니다.
- 원격으로 서버에 SSH(Secure Shell)를 통해 로그인하는 경우, 사용자는 로그인 프로세스를 완료하고 로그인 쉘이 활성화됩니다. 이때
- 비로그인 쉘 사례
- 사용자가 이미 로그인한 상태에서 GNOME, KDE, Xfce와 같은 그래픽 데스크톱 환경 내에서 터미널을 열거나 "Ctrl+Alt+T" 단축키를 사용할 때 비로그인 쉘이 시작됩니다. 이 경우
~/.bashrc
가 소스됩니다.
- 사용자가 이미 로그인한 상태에서 GNOME, KDE, Xfce와 같은 그래픽 데스크톱 환경 내에서 터미널을 열거나 "Ctrl+Alt+T" 단축키를 사용할 때 비로그인 쉘이 시작됩니다. 이 경우
정리
로그인 쉘은 사용자가 시스템에 처음 로그인할 때 실행되며, 사용자별 환경 설정을 위한 파일들이 실행됩니다. 반면 비로그인 쉘은 이미 로그인한 상태에서 새 쉘 세션을 시작할 때 사용되며, 주로 ~/.bashrc
같은 파일에 의해 사용자별 설정이 이루어집니다. 이 두 쉘 유형의 구분은 사용자가 시스템과 상호작용하는 방식에 따라 환경이 어떻게 초기화되고 구성되는지를 결정합니다.
반응형
'Linuxpia > 리눅스 사용 팁' 카테고리의 다른 글
설정 파일 다시 읽어들이기 (64) | 2024.04.17 |
---|---|
사용자별 시작 파일과 초기화 파일의 차이 (60) | 2024.04.16 |
리눅스 쉘에서 시작 파일과 초기화 파일, 그리고 클린업 파일 (40) | 2024.04.14 |
쉘의 내장 명령어(builtin commands)는 어떤 것들이 있나요? (40) | 2024.04.13 |
실행할 프로그램을 찾는 메커니즘 (38) | 2024.04.12 |