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

+ Recent posts