.bash_logout의 목적은 무엇입니까?

.bash_logout의 목적은 무엇입니까?

질문".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개의 파일을 사용합니다.

  1. /etc/profile
  2. ~/.bash_profile
  3. ~/.bash_login
  4. ~/.bashrc
  5. ~/.profile
  6. ~/.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

관련 정보