Ⅰ. 리눅스 환경에서의 환경 변수란?
리눅스에서 환경 변수(Environment Variables)는 운영 체제의 동작 방식과 사용자 세션의 설정을 제어하는 데 사용되는 변수입니다. 환경 변수는 주로 시스템의 환경을 정의하고, 프로그램이 실행될 때 필요한 정보를 전달하는 데 사용됩니다. 예를 들어, 사용자 정보, 시스템 경로, 프로그램 설정 등이 환경 변수로 관리됩니다. 리눅스의 환경 변수는 시스템과 사용자 세션의 설정을 관리하는 중요한 요소입니다. 환경 변수는 전역적, 사용자적, 세션적 성격을 가지며, 이를 통해 시스템 동작 방식, 사용자 설정, 프로그램 경로 등을 제어합니다. 환경 변수를 설정하고 활용하는 방법을 이해하면, 리눅스 시스템을 더욱 효과적으로 사용할 수 있습니다.
Ⅱ. 리눅스 환경에서의 환경 변수의 종류
ⅰ. 전역 환경 변수: 시스템 전체에서 사용 가능한 변수로, 모든 사용자와 프로세스가 접근할 수 있습니다.
ⅱ. 사용자 환경 변수: 특정 사용자만 사용할 수 있는 변수로, 개인 설정을 저장합니다.
ⅲ. 세션 환경 변수: 로그인한 세션에서만 유효한 변수로, 사용자가 세션을 종료하면 사라집니다.
Ⅲ. 리눅스 환경에서의 주요 환경 변수
ⅰ. HOME: 현재 사용자의 홈 디렉토리 경로입니다. 예: /home/username.
ⅱ. PATH: 실행 파일을 찾는 경로를 정의합니다. 여러 디렉토리가 콜론(:)으로 구분되어 있습니다.
ⅲ. USER: 현재 사용자의 이름을 나타냅니다.
ⅳ. SHELL: 사용자가 현재 사용 중인 셸의 경로입니다. 예: /bin/bash.
ⅴ. LANG: 시스템의 언어 설정을 정의합니다. 예: en_US.UTF-8.
ⅴ. PWD: 현재 작업 중인 디렉토리 경로입니다.
Ⅳ. 리눅스 환경에서의 환경 변수 설정 및 사용 방법
ⅰ 환경 변수 확인
현재 설정된 모든 환경 변수를 확인하려면 env 명령어를 사용합니다.
env |
ⅱ. 특정 환경 변수를 확인하려면 echo 명령어와 $ 기호를 사용합니다.
echo $HOME |
ⅲ. 환경 변수 설정
일시적으로 설정: 터미널 세션에서만 유효하며, 세션 종료 시 사라집니다.
export VARIABLE_NAME=value |
예시 :
export java_path="/usr/local/java" |
ⅳ. 영구적으로 설정: 사용자 홈 디렉토리에 있는 셸 설정 파일(예: ~/.bashrc, ~/.bash_profile, ~/.profile)에 추가합니다.
echo 'java_path="/usr/local/java"' >> ~/.bashrc |
이후 변경 사항을 적용하려면 다음 명령어를 실행합니다.
source ~/.bashrc |
ⅴ.환경 변수 삭제
특정 환경 변수를 삭제하려면 unset 명령어를 사용합니다.
unset VARIABLE_NAME |
예시 :
unset java_path |
Ⅴ. 리눅스 환경에서의 환경 변수 사용 예시
ⅰ. PATH 변수 수정: 새로운 프로그램의 실행 파일 경로를 추가하려면 PATH 변수를 수정합니다.
export PATH=$PATH:/usr/local/src |
이후, /usr/local/src 에 있는 실행 파일을 명령어로 사용할 수 있게 됩니다.
ⅱ. 자주 사용하는 명령어를 단축하는 변수 설정:
alias ll='ls -al' |
이를 위해 ~/.bashrc 파일에 추가하면, ll을 입력하는 것으로 ls -la를 실행할 수 있습니다.
Ⅵ. 리눅스 환경에서의 환경 변수 활용
ⅰ. 스크립트에서 사용
환경 변수를 스크립트에서 참조하여 프로그램의 동작을 제어하거나 설정을 읽어올 수 있습니다.
ⅱ. 자동화된 배포 및 설정
다양한 환경 변수 설정을 통해 소프트웨어 배포 및 시스템 설정을 자동화할 수 있습니다.
ⅲ. 개발 및 테스트 환경 관리
개발 시 다양한 환경 변수 설정을 통해 프로그램의 동작 방식을 변경하여 테스트할 수 있습니다.
'시스템(Linux)' 카테고리의 다른 글
Linux에서의 SWAP에 대해 알아보겠습니다. (0) | 2024.11.11 |
---|---|
Red Hat Enterprise Linux(RHEL)와 Rocky Linux 8.10에서 패스워드 정책을 확인하고 변경하는 방법에 대해 알아보겠습니다. (0) | 2024.11.05 |
리눅스에서 디스크 I/O 문제로 인한 시스템 종료를 확인하는 방법 (0) | 2024.10.30 |
/var/log/messages 에 대해 알아보겠습니다. (0) | 2024.10.28 |
YAML(YAML Ain't Markup Language)에 대해 알아보겠습니다. (2) | 2024.10.25 |