상세 컨텐츠

본문 제목

리눅스 외부명령어 내부명령어 동작 원리

IT/프로그래밍

by James Lee. 2015. 12. 6. 20:30

본문

명령어에는 내부명령어/외부명령어가 있음


내부명령어는 cd 등이 있음..


외부명령어는 ls등이 있고 사실 이는 ls.exe, ls.com, ls.bat 등과 같은 명령어로 되어 있음


cmd 창에다가 ls를 입력하면 cmd는 ls.exe가 있는 위치를 탐색한 후 실행하여 OS로 전달해주는 것임

그럼 이 위치를 어떻게 탐색할 것이냐..

이 위치를 알지 못한다면, ls를 입력했을때 실행을 할 수 없을 것이다 (command not found, java환경설정을 제대로 하지 않고 cmd에서 java를 쳤을때 찾지 못하는 이유도 똑같다!)


외부 명령어가 들어 있는 경로는 PATH라는 시스템 변수 안에 들어있다.

이 PATH에 경로가 들어있으면 시스템 어디에서든지 접근 할 수 있다. (짐작했겠지만, 자바 환경변수도 이러한 이유로 실행해 주는 것임!)


그리고 이 PATH 경로에도 우선순위가 있다.

PATH = C:\A;C:\B 이렇게 두가지가 있다.

그러면 시스템은 A드라이브부터 탐색한다.

이러한 PATH의 경로는 cmd창에서 env를 누르면 확인 할 수 있다.

PATH를 새로 지정하는 방법은 간단하다. (리눅스 기준)

PATH = (새로 지정)

그리고 $PATH를 하면 현재 PATH의 위치를 그대로 가져온다

예를 들면 PATH = $PATH:. 를 하면 현재 PATH의 경로 뒤에 현재 디렉토리를 추가 하는 것이다

관련글 더보기

댓글 영역