SO 및 askubuntu 에 대한 질문에 대한 답은 헤더를 읽고 (및 헤더를 읽는 중) $HOME
및 다음 /etc/
과 같이 환경 변수를 설정하는 데 사용할 수있는 많은 파일을 나타냅니다.
~/.profile
~/.bashrc
~/.bash_profile
~/.gnomerc
~/.Rprofile
/etc/bash_bashrc
/etc/profile
/etc/screenrc
파일은 /etc/
사용자마다 다르지만 모든 사용자를 위해 해당 파일을 수집합니다 $HOME
. 나는 또한이 수집 .profile
반면에 로그인 할 때로드 될 .bashrc
때로드 /bin/bash
실행됩니다. 또한 프로그램마다 설정 파일이 다릅니다 (예 : .Rprofile
R). 그러나 나는 약간의 설명을 부탁드립니다.
- 인가
*rc
및*profile
파일 근본적으로 다른? - 이러한 파일의 범위는 무엇입니까 (예 : Linux에서 일반적으로 사용되는 파일)
- 계층 구조가 있습니까 (예 :에
.bashrc
설정된 변수를 덮어 씁니다.settings
) - 이 파일 클래스에 대한 좋은 참조는 무엇입니까? 이 파일의 옵션은?
연결된 질문
답변
구성 파일의 구성은 질문이 암시하는 것보다 훨씬 덜 균일합니다. “클래스”는없고 “계층 구조”도없고, 일반적인 구문이나 원하는 구문과 같은 다른 깔끔한 일반화를 선언하는 전역 “구성 구성”또는위원회도 없습니다. 단지 같은 별도의 응용 프로그램의 다수가 R
, bash
, screen
각각의 프로그램이 어떤 대답을 당신이 문서를 보라 있도록 일을 자신의 방법이 그들 모두 GNOME 데스크탑 환경은, 특정 특정 파일에 대한 질문. 애드혹 인 것 같습니다. 그 이유는 다음과 같습니다. 대부분의 유닉스 / 리눅스 소프트웨어는 구성이 약간 다른 사람들에 의해 다른 목적으로 개발되었습니다.
다른 질문에 대한 답을 제시하려면 :
-
*rc
그리고*profile
매우 의미하지 않기 때문에이 질문은 정말 대답 할 수 없습니다. “rc”는 구성 파일에 일반적으로 사용되는 약어 또는 접미사 일뿐입니다. 그 어원은 컴퓨터 시대에 고대로 거슬러 올라가며 아마도 runcom 에서 실행 명령을 의미 할 것입니다 . 응용 프로그램에서 동일한 단어를 사용한다고해서 규칙에 동의한다는 의미는 아닙니다. “프로파일”은 훨씬 덜 일반적인 접미사입니다. -
“범위”를 정의하십시오. 대부분의 응용 프로그램은 다른 비 관련 응용 프로그램과 구성 파일을 공유하지 않습니다. 하나 개의 가능한 예외는
/etc/profile
와.profile
(적어도 포함한 상이한 쉘에 의해 이용 될 수있는,sh
및bash
). 모든 실행중인 프로세스와 관련된 환경 이라고하는 것이 있는데, 여기 에는 해당 프로세스의 동작에 영향을 줄 수있는 변수가 포함될 수 있습니다. 일반적으로 환경 변수는 적절한 쉘 구성 파일 또는 사용중인 그래픽 데스크탑 환경의 구성 파일에 의해 설정됩니다..inputrc
readline 및.gtkrc*
GTK 와 같은 “라이브러리”에 대한 구성 파일도 있습니다.이 파일은 라이브러리 를 사용하는 모든 응용 프로그램에 영향을줍니다. -
아니요, 구성 파일에 대한 전역 계층이 없습니다. 다시 한 번, 해당 특정 프로그램의
bash
설명서 ( 예 :에 대한 설명서) 를 참조하십시오bash
. 일반적으로 신뢰할 수있는 일반적인 규칙은의 사용자 설정이$HOME
시스템 전체 구성을 재정의 한다는 것 입니다/etc
. 이는 일반적으로 시스템 파일 다음에 사용자 파일을 읽어서 나중에 설정이 이전 파일을 덮어 씁니다. 그러나 이것이 보장되는 것은 아니며 결정적인 답변은 사용중인 특정 프로그램의 설명서를 참조해야합니다. -
질문에 나열된 모든 파일을 포괄 할 수있을 정도로 “클래스”가 적어도 없으므로 “클래스”에 대한 참조 질문은 무의미합니다. 다시 사용중인 특정 프로그램의 설명서를 참조하십시오.
답변
저는이 질문이 너무 많은 수준에서 너무 넓다고 생각합니다. 예를 들어 한 질문에 적어도 네 개의 다른 프로그램에 대한 질문을하고 있습니다. 난 단지 구성에서 파일의 차이점을 살펴 보겠습니다 /etc
와 $HOME
.
유닉스이 여러 사람 중 하나를 사용하여, 시스템을 사용할 수 있다는 것을 의미, 다중 사용자 운영체제 ssh
, telnet
또는 Xorg
. 사용자에게 표준화 된 구성을 제공하기 위해 시스템 전체 구성을 제공 할 수 있습니다. /etc/
일반적으로 배포판에서 bash
또는에 대한 전역 구성을 제공하는 데 사용됩니다 screen
.
반면에 일부 사용자는 키 바인딩, 색상 또는 모양과 같은 프로그램 설정을 사용자 지정하려고합니다. 이는 구성 파일을 통해 수행됩니다 $HOME
. 간단히 말해 /etc/
시스템 전체 구성을 제공하는 반면 $ HOME의 구성 파일을 사용하면 시스템 전체 구성을 변경 / 재정의 할 수 있습니다.
답변
답변의 일부는 이 게시물 에서 나옵니다 .
.bashrc
Bash가 대화식으로 시작될 때마다 실행되는 쉘 스크립트입니다.
대비 .bash_profile
및 .profile
새 로그인 셸 시작시에만 실행됩니다. (bash -l)
명령 을 한 번 실행할지 또는 모든 대화식 쉘 시작마다 실행할지에 따라 명령을 .bashrc
넣을지 .bash_profile
여부를 선택합니다.