진짜 개발자
본문 바로가기

Linux

리눅스 환경변수란 환경변수의 등록 - 수정중

728x90

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