>  기사  >  시스템 튜토리얼  >  Linux에서 환경 변수의 사용법은 동일한 수명주기로 구분됩니다.

Linux에서 환경 변수의 사용법은 동일한 수명주기로 구분됩니다.

王林
王林앞으로
2024-03-25 08:00:49637검색

서문:

1. 환경 변수는 운영 체제 환경에 의해 설정되며 전체 시스템의 사용자 프로세스에 적용 가능합니다.

2. 환경 변수는 명령에서 설정할 수 있으며, 이 설정 값은 사용자가 로그아웃하면 손실됩니다.

3. 반복적으로 적용하려면 .profile에 정의하는 것이 가장 좋습니다. 환경 변수의 사용은 로컬 변수의 사용과 동일합니다.

4. 그리고 사용하기 전에 반드시 내보내기 명령으로 가져와야 합니다.

1. 환경 변수 파일 소개

리눅스의 환경 변수에는 시스템 레벨과 사용자 레벨이 있습니다. 시스템 레벨 환경 변수는 시스템에 로그인하는 모든 사용자가 읽어야 하는 시스템 변수이고, 사용자 레벨 환경 변수는 사용자가 사용할 때 로드되는 환경 변수입니다. system. 이므로 환경 변수를 관리하는 파일도 시스템 수준과 사용자 수준으로 구분됩니다.

2. Linux의 변수 유형

변수의 수명 주기에 따라 정의된 Linux 변수는 두 가지 범주로 나눌 수 있습니다.

1. 영구: 구성 파일을 변경해야 하며 변수는 영구적으로 적용됩니다

2. 임시: 내보내기 명령을 사용하여 선언하면 셸이 닫히면 변수가 유효하지 않게 됩니다

3.리눅스 환경변수 파일

Linux 변수 파일에는 /etc/environment 또는 /etc/profile 또는 ~/.profile 또는 /etc/bash.bashrc 또는 ~/.bashrc 및 ~/.bash_profile(일반적으로 사용자가 자신의 디렉터리에 생성), ~/ .bash_logout.

시스템 수준:

1./etc/environment: 로그인 시 시스템이 읽는 첫 번째 파일입니다. 이 파일은 시스템 전체의 환경을 설정하는 데 사용됩니다. 이 파일은 시스템이 시작될 때만 읽혀집니다. 모든 프로세스에 대한 환경. 시스템은 이 파일을 사용할 때 이 파일의 명령을 실행하지 않고 대신 KEY=VALUE 모드의 코드를 따르고 VALUE를 KEY 매개변수에 설정합니다. 파일에 다음 형식의 줄만 추가하면 됩니다. PATH=$PATH:/xxx/bin 코드이면 충분합니다

2./etc/profile: 시스템 로그인 시 두 번째로 실행되는 파일입니다. 시스템의 각 사용자에 대한 환경 정보를 설정합니다. 사용자가 처음 로그인할 때 이 파일이 실행됩니다. 그리고 /etc/profile.d 디렉터리의 구성 파일에서 셸 설정을 수집합니다. (/etc/profile을 사용하여 전체 시스템의 모든 사용자에 대한 환경 변수를 설정할 수 있습니다. 환경 변수 기간은 영구적입니다)

3./etc/bashrc: 모든 사용자를 위한 bash 초기화 파일입니다. 여기에 설정된 환경 변수는 모든 사용자의 쉘에 적용됩니다. 이 파일은 사용자가 쉘을 열 때마다 실행됩니다. (즉, 새 터미널이 열릴 때마다 /etc/bashrc가 실행됩니다.)

사용자 수준(이 파일은 홈 디렉터리에 있음):

1.~/.profile : 현재 로그인한 사용자에 해당하는 프로필 파일은 현재 사용자의 개인 작업 환경을 맞춤화하는 데 사용됩니다. (변수는 영구적입니다.) 각 사용자는 이 파일을 사용하여 자신의 사용 전용 쉘 정보를 입력할 수 있습니다. . 이 파일은 사용자가 로그인할 때 한 번만 실행됩니다. 기본적으로 일부 환경 변수를 설정하고 사용자의 .bashrc 파일을 실행합니다. 개인 설정을 하기에 추천하는 곳입니다

2.~/.bashrc: 이 파일에는 bashshell에 특정한 bash 정보가 포함되어 있습니다. 이 파일은 로그인할 때와 새 쉘이 열릴 때마다 읽혀집니다. (~/.bashrc는 현재 사용자만을 위한 것이며 변수의 수명주기는 영구적입니다)

셸을 열 때마다 이 파일을 한 번씩 읽게 되므로 여기에 넣는 것은 권장하지 않습니다.

Linux 시스템에서 기본 셸은 무엇입니까?

효율성에 확실히 영향을 미칩니다.

3.~/.bash_profileor~./bash_login:~/.bash_profile은 대화형 로그인 모드에서 실행 중인 bash에 들어가는 데 사용되며, ~/.bashrc는 대화식 비로그인 모드에서 실행되는 bash에 들어가는 데 사용됩니다. 두 개는 거의 동일합니다. 따라서 일반적으로 후자가 전자라고 부릅니다. 각 사용자는 이 파일을 사용하여 자신의 용도에 맞는 쉘 정보를 입력할 수 있습니다. 사용자가 로그인하면 파일은 한 번만 실행됩니다. 기본적으로 일부 환경 변수를 설정하고 사용자의 .bashrc 파일을 실행합니다. (~/ 디렉터리에 .bash_profile이 없으면 새로 생성하세요.) 개인 설정을 하기에 권장되는 곳입니다

쉘이 닫히면 bash_profile에 정의된 시스템 변수가 유효하지 않게 됩니다. 이를 위해서는 현재 사용자에 대해 새 쉘이 열릴 때마다 sourcebash_profile을 실행해야 합니다.

4.~/.pam_environment: 사용자 수준의 환경변수 설정 파일입니다. 테스트해보지 않아서 잘 되는지는 모르겠습니다.

5.~/.bash_logout: 시스템을 종료할 때마다(bashshell 종료) 이 파일을 실행합니다. 또한 /etc/profile에 설정된 변수(전역)는 모든 사용자에게 영향을 미칠 수 있지만 ~/.bashrc에 설정된 변수(로컬)는 /etc/profile에 설정된 변수만 상속할 수 있습니다." 관계.

4. 리눅스 환경 변수 파일 실행 순서

1. 리눅스 로그인 시 파일이 실행되는 과정은 다음과 같습니다.

리눅스에 처음 로그인할 때리눅스 시스템에서 기본 쉘은 무엇인가요?,

먼저 /etc/profile 파일을 시작하세요.

그 후, 사용자 디렉토리에 있는 ~/.bash_profile, ~/.bash_login 또는 ~/.profile 파일 중 하나를 시작하십시오. 주택 소유자 디렉토리에 있는 파일의 실행 순서는 다음과 같습니다.

~/.bash_profile->~/.bash_login->~/.profile.

~/.bash_profile 파일이 존재하면 일반적으로 ~/.bashrc 파일이 실행됩니다.

~/.bash_profile 파일에는 일반적으로 다음 코드가 있기 때문입니다.

으아악

~/.bashrc에는 일반적으로 다음 코드가 포함됩니다.

으아악

그래서 ~/.bashrc는 /etc/bashrc 파일을 호출합니다. 마지막으로 쉘을 종료하면 ~/.bash_logout 파일이 실행됩니다.

실행 순서는 다음과 같습니다:/etc/profile->(~/.bash_profile|~/.bash_login|~/.profile)->~/.bashrc->/etc/bashrc->~/.bash_logout

/etc/profile, /etc/environment 등 다양한 환경 변수 설정 파일의 장점

1) 먼저 /etc/profile에 importLANG=zh_CN을 추가하고 시스템을 종료한 후 다시 로그인하면 로그인 프롬프트에 중국어가 표시됩니다.

2) 먼저 /etc/profile에서 importLANG=zh_CN을 삭제하고 /etc/environment에 LNAG=zh_CN을 추가한 후 시스템을 종료하고 다시 로그인하면 로그인 프롬프트가 영어로 표시됩니다.

사용자 환경을 개선하는 과정에서는 항상 /etc/profile을 먼저 실행한 후 /etc/environment를 읽어보세요.

위에서 언급한 차이점이 있는 이유는 무엇인가요? /etc/environment를 먼저 실행한 다음 /etc/profile을 실행하는 대신?

이것은 /etc/environment가 전체 시스템의 환경을 설정하는 반면, /etc/profile은 모든 사용자의 환경을 설정하기 위한 것인데, 후자는 로그인한 사용자와 관련이 없고, 전자는 관련되어 있습니다. 로그인한 사용자에게.

시스템 애플리케이션의 실행은 사용자 환경과는 무관할 수 있으나, 시스템 환경과 관련되어 있으므로 로그인 시 표시되는 날짜 및 시간 정보 형식 등의 프롬프트 정보는 관련이 있습니다. 시스템 환경의 LANG에 기본 LANG=en_US, 시스템 환경 LANG=zh_CN인 경우 프롬프트 정보가 영어로 표시되고, 그렇지 않으면 영어로 표시됩니다.

사용자의 쉘 ​​초기화를 위해 /etc/profile이 먼저 실행된 후 전체 시스템에 대해 /etc/environment 파일을 읽고 /etc/environment가 먼저 실행됩니다. 이것이 올바른 이해인가?

시스템에 로그인할 때의 순서는 다음과 같습니다:

/etc/enviroment-->/etc/profile-->HOME/.profile-->HOME/.env (존재하는 경우)

/etc/profile은 모든 사용자를 위한 환경 변수입니다

/etc/enviroment는 시스템 환경 변수입니다

시스템에 로그인할 때 쉘 읽기 순서는 다음과 같아야 합니다:

/etc/profile->/etc/enviroment-->HOME/.profile−−>HOME/.env

이유는 사용자 환경과 시스템 환경의 차이 때문일 것입니다. 동일한 변수라도 사용자 환경(/etc/profile)과 시스템 환경(/etc/environment)에서 다른 값을 갖는 경우에는 사용자 환경입니다. .

5. Linux의 일반적인 환경 변수 및 해당 기능

Linux의 일반적인 환경 변수는 다음과 같습니다.

1.PATH: 명령의 검색 경로를 지정하세요

2.HOME: 사용자의 홈 작업 디렉터리(즉, 사용자가 Linux 시스템에 로그인할 때 기본 디렉터리)를 지정합니다.

3.HISTSIZE: 저장된 과거 명령 기록의 개수를 나타냅니다.

4.LOGNAME: 현재 사용자의 로그인 이름을 나타냅니다.

5.HOSTNAME: 호스트 이름을 나타냅니다. 많은 응용 프로그램에서 호스트 이름을 사용해야 하는 경우 일반적으로 이 환경 변수에서 가져옵니다.

6.SHELL: 현재 사용자가 어떤 쉘을 사용하고 있는지를 나타냅니다.

7.LANG/LANGUGE: 언어 관련 환경 변수입니다. 여러 언어를 사용하는 사용자가 이 환경 변수를 변경할 수 있습니다.

在linux系统,默认的shell是什么_在linux系统,默认的shell是什么_在linux系统,默认的shell是什么

8.MAIL: 현재 사용자의 이메일 저장 디렉터리를 의미합니다.

9.PS1: 기본 명령 프롬프트는 루트 사용자의 경우 #이고 일반 사용자의 경우 $입니다.

10.PS2: 보조 프롬프트, 기본값은 ">"입니다.

참고: 이 환경 변수를 변경하여 현재 명령 프롬프트를 변경할 수 있습니다. 예를 들어 다음 명령은 프롬프트를 "Hello, MyNewPrompt" 문자열로 변경합니다.

#PS1="안녕하세요, MyNewPrompt"

참고: 위 변수의 이름은 고정되어 있지 않습니다. 예를 들어 일부 Linux 시스템에서는 HOSTNAME이 HOST로 설정될 수 있습니다.

실제로 제가 나열한 위의 환경 변수는 완전한 것은 아닙니다!

Linux는 환경 변수를 변경하고 보는 명령도 제공합니다! 다음은 설명할 수 있는 몇 가지 예입니다.

1.echo는 특정 환경 변수 값 echo$PATH

를 표시합니다.

2.export는 새로운 환경 변수인 importHELLO="hello"(쉼표 없음)를 설정하고 [내보내기 변수 이름 = 변수 값]을 직접 사용하여 셸 명령줄에서 변수를 정의합니다. 이 변수는 현재 셸( BASH ) 또는 해당 하위 쉘(BASH)이 유효합니다. 쉘을 닫으면 해당 변수가 유효하지 않게 됩니다. 새 쉘을 열면 해당 변수를 사용해야 하는 경우 다시 정의해야 합니다.

3.env는 모든 환경 변수를 표시합니다

4.set는 로컬로 정의된 쉘 변수(시스템에 이미 존재함)와 쉘 변수 설정을 위한 새로운 변수 값을 표시합니다. 값이 지정되지 않으면 변수 값이 NULL로 설정됩니다.

5.unset은 환경 변수 unset을 정리합니다HELLO

6.readonly는 읽기 전용 환경 변수 readonlyHELLO를 설정합니다. readonly 명령을 사용하면 변수를 변경하거나 지울 수 없습니다

위 내용은 Linux에서 환경 변수의 사용법은 동일한 수명주기로 구분됩니다.의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
이 기사는 itcool.net에서 복제됩니다. 침해가 있는 경우 admin@php.cn으로 문의하시기 바랍니다. 삭제