질문".bashrc의 목적은 무엇이며 어떻게 작동합니까?"목적과 용도를 찾는다 .bashrc
. 비슷한 이름을 가진 또 다른 문서는 .bash_logout
.
애초에 이 파일이 존재해야 합니까? 그렇다면 이 파일의 목적은 무엇입니까?
답변1
파일 .bash_logout
이 존재할 필요는 없습니다.
그 내용은 로그인 쉘이 종료될 bash
때 획득 됩니다 bash
. 예를 들어, 이 파일은 터미널 세션에서 로그아웃할 때 다양한 형태의 정리를 수행할 수 있습니다.
이를 사용하여 GUI가 아닌 환경에서 로그아웃하는 동안 화면을 지우는 등 모든 셸 코드를 실행할 수 있습니다. 또한 일부 사용자는 .bash_login
또는 에서 시작된 프로세스를 명시적으로 종료하는 것이 편리하다고 생각할 수도 있습니다 .bash_profile
. 예를 들어 사용자 데몬이나 백그라운드 프로세스(예: )를 시작하면 fetchmail
에서 쉽게 종료할 수 있습니다 .bash_logout
.
쉘에는 csh
이라는 유사한 파일이 있으며 .logout
, 쉘에 해당하는 파일 zsh
은 입니다 .zlogout
. 내가 아는 한, 쉘에는 ksh
유사한 기능이 없습니다.
접선 관련 질문도 참조하세요.로그인 쉘과 비로그인 쉘의 차이점은 무엇입니까?
답변2
에서 man bash
:
로그인 셸이 종료되면 bash는 ~/.bash_logout 및 /etc/bash.bash_logout 파일이 있는 경우 해당 파일에서 명령을 읽고 실행합니다.
답변3
이 질문은 파일의 세부 사항을 묻는 것이므로 .bash_logout
유사한 파일을 다양하게 나열하는 것이 좋습니다. 일반적으로 다양한 목적으로 다음과 같은 6개의 파일을 사용합니다.
/etc/profile
~/.bash_profile
~/.bash_login
~/.bashrc
~/.profile
~/.bash_logout
.bash_history
어떤 경우에는 사용자가 실행한 명령을 저장하는 파일이 나타날 수도 있습니다 .
.bashrc
파일을 이해했다고 가정하고 .bash_login
이러한 파일이 실행되는 순서에 초점을 맞춘 다음 .bash_logout
파일이 사용되는 용도를 이해하겠습니다.
먼저, 사용자가 로그인할 때 파일이 존재하면 .bash_profile
파일 존재 여부와 관계없이 실행된다..bash_login
.profile
파일을 사용할 수 없으면 .bash_login
이 파일이 먼저 실행되고, 해당 파일도 사용할 수 없으면 .profile
이 파일이 실행됩니다.
사용자가 로그인 하면 .bash_profile
파일을 읽고 파일에 있는 모든 명령이 실행되지만 사용자가 새 셸을 시작할 때는 파일을 읽지 않습니다. 사용자가 새 셸을 시작하면 .bashrc
파일을 읽는다는 사실을 잘 알고 있습니다.
파일 을 살펴보면 .bash_logout
, 사용자가 로그아웃하면 이 파일이 실행된다는 것을 이름에서 알 수 있습니다. Bash의 주요 목적은 사용자의 작업을 더 쉽게 만드는 환경을 제공하는 것이라는 데 동의할 수도 있습니다. 따라서 이 파일은 사용자가 로그아웃할 때 일부 명령을 실행하는 데 도움이 되는 환경을 만드는 데 도움이 됩니다. 많은 경우가 있을 수 있습니다. 설명을 위해 사용자가 로그오프할 때 관리자가 사용자가 시작한 모든 프로세스를 종료하려고 한다고 가정해 보겠습니다. 또는 사용자가 파일을 지우고 싶을 수도 있습니다 .mysql_history
. 로그오프할 때 일부 파일을 복사하거나 백업을 만들고 싶을 수도 있습니다. 보시다시피 아마도 많은 예가 있을 것입니다.
사용자가 /etc
로그오프할 때마다 디렉터리의 백업 파일을 만들고 싶다고 가정해 보겠습니다. 따라서 .bash_logout
파일을 열고 다음 명령을 입력할 수 있습니다.
tar -cvjf /etc ~/path/to/destination