Linux에서 환경 변수를 나열하는 방법

0
149

Linux에서 환경 변수를 나열하는 방법
Fatmawati achmad zaenuri/Shutterstock.com
Linux 컴퓨터의 모든 환경 변수를 나열하려면 printenv 명령을 사용하십시오. 검색 가능한 결과를 얻으려면 less 명령에 연결하거나 grep을 사용하여 특정 변수를 인쇄하십시오.

Linux에서 환경 변수는 중요한 값과 설정을 보유합니다. 스크립트, 응용 프로그램 및 셸은 종종 스스로를 구성하거나 동작을 제어하기 위해 이러한 값을 읽습니다. 다음은 터미널에서 이러한 변수를 표시하는 몇 가지 방법입니다.

목차

환경 변수에 관한 모든 것
환경 변수 인쇄 명령
printenv를 사용하여 환경 변수 보기
몇 가지 일반적인 환경 변수
환경 검사

환경 변수에 관한 모든 것

우리의 다양한 테스트 컴퓨터에는 각각 평균 ​​50개의 환경 변수가 있습니다. 다른 변수와 마찬가지로 환경 변수는 이름과 값의 조합입니다. 그만큼 이름 고유하고 변수가 생성될 때 설정되며 환경 변수의 수명 동안 지속됩니다.

변수 유지 가치 우리를 위해. 프로세스가 값이 무엇인지 알아야 할 때 이름으로 변수를 찾고 값을 읽습니다. 변수 이름은 변경할 수 없지만 값은 변경할 수 있습니다.

Linux에서 .bashrc와 .profile의 차이점은 무엇입니까?

관련된Linux에서 .bashrc와 .profile의 차이점은 무엇입니까?

시스템 환경 변수를 자주 변경하지는 않지만 필요한 경우 변경할 수 있습니다. 예를 들어, Bash 셸 명령 기록 캐시의 크기를 늘리고 싶을 수 있습니다. 의 값을 편집할 수 있습니다. $HISTSIZE “.bashrc” 파일의 환경 변수를 사용하여 기억된 명령 수에 대한 새로운 상한선을 설정합니다.

그것은 깔끔하고 편리하지만 자주 하게 될 일이 아닙니다. 환경 변수는 기본값으로 유지되거나 한 번 변경되고 나면 잊어버리는 경향이 있습니다. 그것들은 당신이 자주 만질 수 있는 것이 아닙니다.

그럼에도 불구하고 컴퓨터에서 정의되고 사용 중인 환경 변수를 표시하는 방법을 아는 것은 가치가 있습니다. 터미널 창에 환경 변수를 인쇄하면 해당 값을 확인할 수 있으며 Linux 환경의 어떤 측면이 이러한 배경 값에 의해 제어되는지 알 수 있습니다.

관련된: Linux의 Bash에서 환경 변수를 설정하는 방법

환경 변수 인쇄 명령

당신이 사용할 수있는 echo 환경 변수에 저장된 값을 확인합니다. 그렇게 하려면 미리 환경 변수의 이름을 알아야 합니다.

echo $HOME
echo $USER

echo를 사용하여 환경 변수에 저장된 값 보기

Linux에서 모든 환경 변수의 이름과 값을 표시하는 데 일반적으로 사용되는 두 가지 방법이 있습니다. 그들은 env 그리고 printenv 명령.

그만큼 printenv 명령은 공식적인 방법입니다. 이 명령은 특별히 이 목적을 위해 작성되었습니다. 그만큼 env 명령은 완전히 다른 목적을 가지고 있습니다.

env 환경 변수에 대한 임시 사용자 지정 값으로 응용 프로그램을 실행하는 데 사용됩니다. 이들은 실제 저장된 값을 재정의하고 애플리케이션이 수정된 환경에서 실행되도록 합니다. 호출하면 env 명령줄 매개변수가 없는 경우 기본 작업은 환경 변수를 나열하는 것입니다.

잘못 호출된 도구의 부작용에 의존하기 보다는 작업을 위해 설계된 도구를 사용하는 것이 좋습니다. printenv 우리의 예에서.

관련된: Docker 컨테이너에 환경 변수를 전달하는 방법

printenv를 사용하여 환경 변수 보기

그만큼 printenv 명령은 매우 간단합니다. 옵션이 거의 없습니다. 당신은 사용할 수 있습니다 --version 옵션을 사용하여 컴퓨터 버전의 릴리스 번호를 확인하고 다음을 사용할 수 있습니다. --help 명령을 사용하여 이 두 가지와 다른 하나의 명령줄 옵션에 대한 간단한 설명을 볼 수 있습니다.

다른 옵션은 -0 (널 종료자) 옵션. 대개, printenv 줄 바꿈 문자를 각 줄 끝에 추가하여 한 줄에 하나씩 환경 변수를 나열합니다. 그만큼 -0 옵션은 해당 개행 문자를 널 바이트로 바꿉니다. 개행 문자가 필요하지 않은 다른 응용 프로그램으로 출력을 파이핑하는 경우 이 옵션을 사용합니다.

printenv -0

-0 옵션과 함께 printenv 사용

의 효과 -0 터미널 창의 옵션은 출력물을 뚫을 수 없는 텍스트 벽에 함께 넣는 것입니다.

-0 옵션을 사용할 때 printenv에서 읽을 수 없는 출력

그것을 이해하는 것은 사실상 불가능합니다. 사용해야 하는 경우는 거의 없습니다. -0 옵션. 버리고 다시 시도합시다.

printenv

옵션 없이 printenv 명령 사용

출력은 한 줄에 하나의 환경 변수로 인쇄됩니다. 규칙에 따라 환경 변수 이름은 항상 대문자를 사용합니다. 변수 이름 바로 뒤에 등호 “=“, 그 뒤에 환경 변수가 설정된 값이 옵니다.

한 줄에 하나의 환경 변수가 있는 printenv의 표준 출력.

여전히 많은 출력이 있으므로 출력을 다음으로 파이프하는 것이 더 쉬울 수 있습니다. less .

printenv | less

덜 파일 뷰어에 printenv 파이핑

이렇게 하면 목록을 스크롤하고 목록을 검색할 수도 있습니다.

less 파일 뷰어에서 printenv의 출력

관심 있는 환경 변수에 대해 알고 있는 경우 다음을 사용할 수 있습니다. grep 유력한 후보를 찾기 위해. “디스플레이”라는 단어가 포함된 환경 변수가 있다는 것을 알고 있다고 가정합니다. 다음과 같이 목록을 검색할 수 있습니다.

printenv | grep DISPLAY

grep을 사용하여 printenv의 결과 필터링

관련된: Bash에서 변수로 작업하는 방법

몇 가지 일반적인 환경 변수

다른 Linux 컴퓨터의 기본 환경 변수는 다양한 배포판, 데스크탑 환경 및 셸의 유지 관리자의 기본 설정에 따라 달라집니다.

다음은 그놈 데스크탑 환경을 사용하는 Linux 컴퓨터에서 찾을 수 있는 몇 가지 일반적인 환경 변수입니다.

  • BASHOPTS: bash가 실행될 때 사용된 명령줄 옵션 목록입니다.
  • BASH_VERSION: bash의 버전입니다.
  • : 열 단위 터미널의 너비입니다.
  • 먼지: 사용하기 위한 디렉토리 스택 pushd 그리고 popd 명령.
  • HISTFILESIZE: 히스토리 파일에 쓸 수 있는 명령 히스토리의 최대 줄 수입니다.
  • HISTSIZE: 메모리에 저장할 수 있는 명령 히스토리의 최대 줄 수입니다. 이 숫자를 넘어가면 이전에 기억한 명령이 메모리에 덮어쓰여집니다. 터미널 창을 닫으면 명령 기록이 기록 파일에 기록됩니다.
  • : 현재 사용자의 홈 디렉토리.
  • 호스트 이름: 컴퓨터의 이름입니다.
  • IFS: 사용자 입력을 구문 분석하는 데 사용되는 내부 필드 구분 기호입니다. 기본값은 공백입니다.
  • : 문자 인코딩을 포함한 현재 언어 및 현지화 설정.
  • LS_COLORS: 이것은 ls의 출력에 색상을 추가하는 데 사용되는 코드를 정의합니다.
  • 우편: 현재 사용자의 Linux 사서함 경로입니다.
  • OLDPWD: 이전 작업 디렉토리.
  • PS1: 기본 명령 프롬프트 정의입니다. 이것은 터미널 창의 프롬프트 모양을 정의합니다.
  • : 쉘에 명령을 입력할 때 일치하는 명령이나 응용 프로그램을 순서대로 검색하는 콜론으로 구분된 디렉토리 목록입니다.
  • 비밀번호: 현재 작업 디렉토리.
  • 껍데기: 기본 셸의 이름입니다.
  • 기간: 쉘을 실행할 때 에뮬레이트되는 터미널 유형입니다.
  • UID: 현재 사용자의 사용자 식별자입니다.
  • 사용자: 현재 사용자입니다.
  • _: 가장 최근에 실행된 명령입니다. 사용하는 경우 printenv 이것을 나열하려면 항상 printenv.

환경 검사

모든 환경 변수를 보려면 다음을 사용하십시오. printenv. 다음을 통해 출력 파이프 grep 결과를 필터링하고 사용 echo 특정 알려진 환경 변수의 값을 인쇄합니다.

관련된: 개발자와 열광자를 위한 최고의 Linux 노트북