# Login Shell vs Non-login Shell
먼저 'Login Shell'과 'Non-login Shell' 을 구분해야 하는데, 로그인은 계정과 암호를 입력해서 Shell을 실행하는 것이다.
ssh로 접속하거나 로컬에서 GUI에서 로그인한다는 의미다.
'.profile', '.bash_profile'은 Login할 때 로드되는(source) 파일이다.
'.profile'은 꼭 bash가 아니더라도 로그인하면 로드되고 '.bash_profile'은 꼭 Bash로 Login할 때 로드된다.
그리고 'Non-login Shell'은 로그인 없이 실행하는 Shell을 말한다. ssh로 접속하고 나서 다시 bash를 실행하는 경우나. GUI 세션에서 터미널을 띄우는 것이 이해 해당한다. 'sudo bash'나 'su' 같은 것도 이에 해당한다.
'.bashrc'는 로그인 없이 Bash가 실행될 때 로드된다.
'sudo bash'나 'su'로 root 권한을 얻으려 bash를 실행할 때도 이 파일이 로드된다.
### 정리
- '.profile' - 로그인할 때 로드된다. PATH처럼 로그인할 때 로드해야 하는데 bash와 상관없는 것들을 여기에 넣는다.
- '.bash_profile' - 로그인할 때 로드된다. 'bash completion'이나 'nvm'같이 로그인할 때 로드해야 하는데 Bash와 관련된 것이면 여기에 넣는다.
- '.bashrc' - 로그인하지 않고 Bash가 실행될 때마다 로드된다.
출처 : http://dogfeet.github.io/articles/2012/bash-profile.html
'OS > Linux&Unix' 카테고리의 다른 글
[Linux/Unix] grep 명령어 / -H, -v, -i, -E, -W (0) | 2022.12.02 |
---|---|
[Linux/Unix] AIX ftp 서비스 확인 명령어 (0) | 2022.12.02 |
[Linux/Unix] 디렉토리 내의 공백인 파일 삭제하기 - inode값 확인 (0) | 2022.11.21 |
[Linux/Unix] 모든 사용자 확인하기 (0) | 2022.11.10 |
[Linux/Unix] find 명령어 / -mtime 옵션 - 일별로 파일 내용 확인하기 (0) | 2022.11.09 |