http://www.leafcats.com/201
환경변수란
- 운영체제가 참조하는 변수
Path란
- notepad.exe라는 파일을 실행하기 위해 notepad라는 명령어를 입력했을 때 현 위치에 해당 파일이 없다면 실행 시킬 수 없다
컴퓨터가 전 위치를 다뒤져본다면 실행할 수 있겠지만 1) 시간이 오래걸릴 뿐만아니라 2) 해당 이름으로 된 파일이 여러 경로에
존재할 수도 있기 때문이다 그렇다면 명령어 입력시 현재 디렉토리에 존재하지 않는 파일이라면 컴퓨터에게 몇개의 특정
디렉토리들만을 뒤져보게끔 시키면 되지 않을까? 라고해서 생겨난 개념이다.
이유
- 환경변수로 어떠한 파일을 등록한다면 현재 사용자의 위치가 그 파일이 위치한 디렉토리가 아니더라도 바로 사용할 수 있다
환경변수 등록 위치
원리
- Window에서 사용하는 메모장을 예시로 들겠다 앞서 말했듯이 컴퓨터에서는 현재 위치에 내가 실행하려는 파일이 없다면
환경 변수에 등록된 Path들을 뒤져가며 실행할 파일이 있는지 뒤져본다.
우리가 평소 사용하는 메모장의 실제 위치는 C:\windows\system32\notepad.exe 이다
사용자의 현재 위치는 C:\Users\galid 이다 하지만 cmd창을 열고 notepad를 입력하면
메모장이 실행되는 것을 볼 수 있다.
환경변수 설정의 Path에 system32의 경로가 등록이 되어있기 때문이다
환경변수 등록방법(Linux)
환경변수 관련 shell명령 : env, export
주의 : 환경변수명=값 에서 공백이 있으면 안됨!
- Bash Shell 초기화 파일(script) 실행 순서
- /etc/profile 파일이 있는 경우 실행
- /etc/profile.d/*.sh 폴더 내 쉘스크립트 확장자(.sh)로 된 파일을, 파일명 알파뱃 순으로 실행
- ~/.bash_profile
- ~/.bashrc
- ~/.bash_login
- ~/.profile
- ~/.bash_logout 로그아웃시 실행
- 환경변수 확인
- env | grep JAVA_HOME
- 환경변수 설정
- 1회성 설정 방법
- export <변수명>=<값> : export JAVA_HOME=/user/lib/java-7-openjdk-amd64/
- 영구 설정 방법(모든 사용자)
- /etc/bash.bashrc 파일에 export <변수명>=<값>을 작성하고, source /etc/bash.bashrc 명령을 통해 적용 해 주면 된다.
- /etc/profile파일을 수정하거나, /etc/profile.d/폴더 하위에 .sh로 끝나는 쉘 스크립트 파일을 추가해서 적용도 가능함
- 영구 설정 방법(특정 사용자)
- 특정 사용자에게만 적용을 원할시에는 /home/<user>/.bashrc 파일에 작성하면 된다.
- /home/<user> 폴더내에 .bashrc,bash_login,.profile 파일 수정
- 환경변수 해제
- unset <변수명> : unset JAVA_HOME
'Linux' 카테고리의 다른 글
리눅스 특수기호 ( &&, ||, ; ) (0) | 2018.12.10 |
---|---|
Suse - 패키지 not found 해결법, 설치하는법 (0) | 2018.11.14 |
Linux -inode (0) | 2018.09.17 |
Linux - Daemon (데몬) (0) | 2018.09.06 |
CentOS6 - 초기 설정 (0) | 2018.09.06 |