![~/.profile, ~/.bashrc, ~/.bash_profile, ~/.gnomerc, /etc/bash_bashrc, /etc/screenrc...의 차이점은 무엇입니까?](https://linux55.com/image/23358/~%2F.profile%2C%20~%2F.bashrc%2C%20~%2F.bash_profile%2C%20~%2F.gnomerc%2C%20%2Fetc%2Fbash_bashrc%2C%20%2Fetc%2Fscreenrc...%EC%9D%98%20%EC%B0%A8%EC%9D%B4%EC%A0%90%EC%9D%80%20%EB%AC%B4%EC%97%87%EC%9E%85%EB%8B%88%EA%B9%8C%3F.png)
대답그래서그리고아쿠벤투, 탐색(및 제목 읽기) $HOME
및 /etc/
다음을 포함하여 환경 변수를 설정하는 데 사용할 수 있는 여러 파일을 나타냅니다.
~/.profile
~/.bashrc
~/.bash_profile
~/.gnomerc
~/.Rprofile
/etc/bash_bashrc
/etc/profile
/etc/screenrc
/etc/
모든 사용자에게 적용되는 파일과 $HOME
사용자별 파일을 수집했습니다 . 또한 .profile
실행 시에는 로드되지 않고 로그인 시 로드된다는 점도 수집했습니다 .bashrc
. /bin/bash
또한 프로그램마다 설정 파일(예: R)이 다르다는 것도 배웠습니다 .Rprofile
. 하지만 몇 가지 설명을 원합니다.
*rc
파일과 근본적으로 다른가요*profile
?- 그러한 파일의 범위는 무엇입니까(예: Linux에서 일반적으로 사용되는 파일)
- 계층 구조가 있습니까(예:
.bashrc
재정의에 설정된 변수.settings
) - 그러한 문서에 대한 좋은 참고자료는 무엇입니까? 이 파일의 옵션은 어떻습니까?
링크 문제
답변1
구성 파일의 구성은 귀하의 질문에서 제안한 것보다 훨씬 덜 균일합니다. "클래스", "계층", 전역 "구성 황제", 범용 구문을 지시하는 위원회 또는 원하는 것과 같은 기타 깔끔한 일반화가 없습니다. R
, GNOME 데스크탑 환경 bash
과 같은 독립 실행형 응용 프로그램이 많고 screen
모두 고유한 작동 방식을 가지고 있으므로 질문에 답하려면 각 개별 프로그램의 설명서를 확인해야 합니다.특정한특정 파일에 대한 질문입니다. 임시적으로 보인다면 그 이유는 대부분의 Unix/Linux 소프트웨어가 서로 다른 사람들에 의해 서로 다른 목적으로 개발되었으며 모두 약간씩 다른 구성을 가지고 있기 때문입니다.
다른 질문에 대한 단계별 답변:
*rc
그리고*profile
그것은 별로 의미가 없기 때문에 질문에 실제로 대답할 수 없습니다. "rc"는 구성 파일의 일반적인 약어 또는 접미사입니다. 그 어원은 고대(컴퓨터 시대)로 거슬러 올라가며 아마도 명령을 실행하는 것을 의미할 것입니다.룬강). 응용 프로그램이 동일한 단어를 사용한다고 해서 규칙에 동의한다는 의미는 아닙니다. "프로필"은 덜 일반적인 접미사입니다."범위"를 정의하십시오. 대부분의 애플리케이션은 관련되지 않은 다른 애플리케이션과 구성 파일을 공유하지 않습니다. 가능한 예외 중 하나는
/etc/profile
and 이며.profile
, 이는 여러 다른 쉘(적어도sh
및 포함bash
)에서 사용할 수 있습니다. 이라는 것이 있습니다.환경실행 중인 각 프로세스와 관련되어 해당 프로세스의 동작에 영향을 미칠 수 있는 변수가 포함될 수 있습니다. 일반적으로 환경 변수는 적절한 쉘 구성 파일 또는 사용 중인 그래픽 데스크탑 환경의 구성 파일에 의해 설정됩니다..inputrc
readline 및 GTK 와 같은 "라이브러리"에 대한 구성 파일도 있는데.gtkrc*
, 이는 라이브러리를 사용하는 모든 애플리케이션에 영향을 미칩니다.아니요, 구성 파일의 전역 계층 구조는 없습니다. 다시 한 번, 관련된 특정 프로그램에 대한 문서를 참조하십시오.
bash
수동을 위한bash
. 일반적으로 신뢰할 수 있는 일반적인 규칙은 의$HOME
사용자 설정이 무시된다는 것 입니다/etc
. 이는 일반적으로 시스템 파일 다음에 사용자 파일을 읽어 나중에 설정이 이전 설정보다 우선하도록 수행됩니다. 그러나 이는 보장되지 않으며 명확한 답을 얻으려면 사용 중인 특정 프로그램에 대한 설명서를 참조해야 합니다."클래스"는 없습니다. 적어도 질문에 나열한 모든 파일을 포함할 만큼 일반적인 것은 아니므로 이러한 "클래스"에 대한 참조 질문은 의미가 없습니다. 다시 한 번 사용 중인 특정 프로그램에 대한 설명서를 참조하세요.
답변2
제 생각에는 이 질문이 여러 수준에서 너무 광범위하다고 생각합니다. 예를 들어 귀하가 묻는 질문은 최소한4개문제에 대한 절차는 다양합니다. /etc
와 의 구성 파일 간의 차이점을 살펴보겠습니다 $HOME
.
Unix는 다중 사용자 운영 체제입니다. 즉, , ssh
또는 를 사용하여 다양한 사람들이 telnet
시스템을 사용할 수 있습니다 Xorg
. 사용자에게 표준화된 구성을 제공하기 위해 시스템 전체 구성을 제공할 수 있습니다 /etc/
. 이는 일반적으로 배포판에서 와 같은 전역 구성을 제공하는 데 사용되기도 bash
합니다 screen
.
반면에 일부 사용자는 키 바인딩, 색상 또는 모양과 같은 프로그램 설정 자체를 사용자 정의하기를 원합니다. 이는 시스템 전체 구성이 제공되며 $HOME의 구성 파일을 통해 사용자는 시스템 전체 구성을 변경/재정의할 수 있습니다 $HOME
./etc/
답변3
일부 답변은 다음에서 나옵니다.이 게시물:
.bashrc
Bash가 대화형으로 시작될 때마다 실행되는 쉘 스크립트입니다.
새 로그인 쉘이 시작될 때만 비교 .bash_profile
하고 실행하십시오. .profile
(배쉬 -l)
명령 을 한 번 실행할지 아니면 대화형 셸이 시작될 때마다 실행할지 여부에 따라 명령이 .bashrc
vs 로 들어갈지 여부를 선택할 수 있습니다..bash_profile