728x90
반응형
개요
- 보통 프로그램, 명령어를 실행할 때 대부분 절대 경로를 통해 실행함
- 예를 들어 calc 프로그램을 실행하려면 ./home/user1/calc 의 절대경로로 실행하거나, 해당 디렉토리에 접근하여 ./calc를 실행해야함.
- 이 때 환경변수를 사용하면 절대경로를 기입하지 않고, 프로그램 명만 입력하면 실행가능
- 예를 들면 ls, cp, cd, mv, passwd, which, pwd 등, 이처럼 명령어만 입력했을 뿐인데 실행되는 것은 PATH 환경변수를 설정해 놓았기 때문임
- PATH 환경변수에 여러가지 경로가 있을 경우, 앞 경로부터 순차적으로 확인
- /usr/bin 파일의 경우 기본적으로 사용하는 명령어, 프로그램들이 저장되어 있음
- cp, mv, ls, cd, passwd 등
환경변수 확인
- export 명령어를 통해 여러 환경변수를 확인할 수 있음
- echo $[환경변수]를 통해 환경변수를 확인할 수 있음
- 환경변수를 사용하고 싶을 경우 export [변수명]=[환경변수값] 형식으로 설정 가능
(변수명,= ,환경변수 값 사이의 공백 즉 띄어쓰기가 없어야 함)
PATH 환경변수 실습
환경변수 확인
- #export
- #export | grep PATH
$PATH 환경변수 출력
- # echo $PATH
- echo $PATH 로 확인한 결과, 아래 경로가 환경파일로 설정됨.
만약 bin, sbin 디렉토리에 동일한 calc 실행파일이 존재할 경우
(현재 설정 순서 : PATH="/usr/local/bin:/usr/local/sbin:/usr/bin:/usr/sbin:/bin:/sbin:/root/bin")
- /usr/local/bin의 calc 파일
- /usr/local/sbin의 calc 파일
- /usr/local/bin의 calc 파일이 우선적으로 실행되는 모습
- 별도의 ./usr/local/bin/calc 혹은 ./calc 같이 경로를 설정하지 않아도 환경변수 설정 덕에 calc 입력시 /usr/local/bin 경로의 calc가 실행됨
시스템 환경 변수 설정 파일
- 환경 설정 파일은 Shell 마다 파일 명이 상이함
shell | file name |
/bin/sh | /etc/profile, $HOME/.profile |
/bin/csh | $HOME/.cshrc, $HOME/.login, /etc/.login |
/bin/ksh | /etc/profile, $HOME/.profile, $HOME/kshrc |
/bin/bash | /etc/profile, $HOME/.bash_profile |
- 홈 디렉터리에 설정된 값($HOME)이 가장 늦게 적용되어 최종 PATH로 설정
- .bashrc 모든 사용자가 새로운 로컬 세션으로 접근 시도시 호출
- .bash_profile (profile) 모든 사용자가 원격 로그인 세션으로 접근 시도시 호출
사용자 PATH 환경 변경 설정 실습
- 각 Shell의 profile, .bashrc 등의 환경변수 설정 파일 활용
- 파일 하단에 "export [변수명]=[환경변수값]" 행 추가
- 파일 설정 후 "source [파일 이름]" 명령 수행
- 현재 사용중인 쉘 확인 (bash shell)
- /etc/profile에 새로운 PATH 경로 설정 (/root/study)
- PATH 환경변수에 /root/study가 추가된 모습
여기서 한 가지 더 알 수 있는건
- /etc/profile 의 설정파일이 $HOME/.bash_profile 보다 우선순위가 높다는 것을 알 수 있음
728x90
'*OS > [ L ] Linux' 카테고리의 다른 글
[L - 06] xinetd 서비스 설정 파일 (0) | 2022.01.06 |
---|---|
[L - 05] Linux 로그 파일 요약 (0) | 2022.01.04 |
[L - 04] Linux 명령어 (0) | 2021.12.31 |
[L - 03] Linux 디렉터리 (0) | 2021.12.31 |
[L - 02] UID & umask (0) | 2021.12.22 |