본문 바로가기
컴퓨터/자질구레 팁

경로 설정에 관하여

by adnoctum 2010. 9. 30.

   윈도우즈와 리눅스 모두 환경 변수 중 경로로 설정된 변수에 있는 경로에서 명령어를 찾아서 실행하게 된다. 이에 대하여 살펴 본다.


   환경 변수란, 컴퓨터 운영 체제 차원에서 제공해 주는 어떤 값으로, 많은 프로그램들이 그와 같은 환경 변수를 사용하여 특정한 작업을 하게 된다. 임시 파일 경로나 include 경로, library 경로, OS 이름 등(이상 윈도우즈), host name, lang, logname, path, user 등등 (이상 리눅스, centos) 이 있다. 환경 변수를 보는 방법은 리눅스에서는 export 명령어, 윈도우즈에서는 탐색기의 [내 컴퓨터]에서 오른쪽 클릭, 속성 (여기까지의 단축키는 윈도우즈키 + Break), 고급, 환경 변수 에서 볼 수 있다.







값을 설정하는 방법은, 리눅스의 경우 역시 export 를 사용하는데,

export [변수 이름]=[변수값]

의 형태를 띈다. 흔히 PATH를 추가할 경우,

PATH=$PATH:$HOME/bin
export PATH

위와 같은 형태를 띄게 되는데, 첫 번째 줄에서 PATH라는 변수를, 이미 기존에 PATH에 설정되어 있는 값인데, 지금은 그 값에  $HOME/bin 를 더해서  재설정하고, 그 값을 환경 변수로 setting 하기 위해 export PATH 를 하는 것이다. 즉, 기존에 설정되어 있는 PATH에 $HOME/bin 을 추가하고 있는 것이다.

윈도우즈의 경우는 위 환경 변수 창에서 설정하면 된다. 단, 이 때 PATH 에 관련한 환경 변수에 설정되는 여러 경로는 윈도우즈의 경우 ; (세미 콜론), 리눅스의 경우 : (콜론) 으로 연결이 되므로 주의한다.


환경 변수 중 특히 '경로'로 설정되는 값은 정말 많은 프로그램에서 사용하며, 우리가 시스템 차원에서 사용할 수 있는 명령어들은 이 '경로'로 설정되어 있는 곳에 위치해야 한다. 즉, 윈도우즈의 실행 메뉴에 iexplore 를 쳤을 때 인터넷 탐색기가 실행되거나, notepad 를 쳤을 때 메모장이 실행되는 것은 iexplore.exe 파일과 notepad.exe 파일이 'Path"라 설정되어 있는 경로 중 한 곳에 위치하기 때문에 가능한 것이다. 즉, 명령어가 입력되면, 'Path'라 설정되어 있는 경로들을 차례차례 순회하면서 그 명령어를 찾아서, 만약 찾아 지면 그것을 실행하고, 결국 찾아지지 못하면 다음과 같은 경로 메세지가 뜨는 것이다.

'실행' 메뉴로 dd 를 실행시켰을 때, 'path'에 설정된 경로 중 그 어디에서도 dd.exe 를 찾지 못해서 위와 같은 경고 메세지가 떴다.


도스 창에서 'ff'를 입력하면, 환경 변수 'Path' 중 그 어디에서도 ff.exe 를 찾지 못해 위와 같은 메세지가 뜬다.


리눅스에서 ff 를 치면 PATH 로 설정된 경로에서 ff 를 찾지 못했기 때문에 위와 같은 메세지가 뜬다.





따라서 만약 자주 사용하는 명령어를 시스템 차원에서 실행시키기 쉽게 만들고자 한다면, 그 명령어가 있는 경로를 환경 변수 path 에 추가해 주면 된다.

   프로그래밍을 할 경우, additional include path나 library path 같은 것도 IDE 의 option 에서 설정해 주거나 환경 변수를 이용하게 되는데, 각 IDE에서 옵션을 잘 찾아 보면 있다. 또한 리눅스의 경우는 각 언어나 라이브러리의 메뉴얼에 나와 있는데, 예를 들면 gcc (나 g++) 이 찾는 additional include path, additional library path 는 CPLUS_INCLUDE_PATH, LIBRARY_PATH 가 된다. 자주 사용하는 header 파일이나 o 파일이 있으면 특정 경로에 넣고 저 환경 변수 값을 그 경로로 지정해 놓으면 컴파일 할 때마다 옵션으로 경로를 지정해 주지 않아도 되므로 편리하다.