리눅스 명령 라인 파싱과 쉘 명령어 타입
리눅스 쉘에 명령을 타이핑하면 쉘은 입력을 읽고 명령 라인을 파싱한다. 이 명령라인은 '토큰' 으로 분리된다. 토큰은 공백이나 탭으로 분리되고 명령라인은 newline으로 종결된다. 쉘은 명령라인의 첫 단어가 빌트인 명령인지, 디스크에 위치한 실행 가능 프로그램인지를 체크한다. 만약 첫 단어가 빌트인 명령이라면 내부적으로 명령을 실행하고, 외부 프로그램이라면 쉘은 프로그램의 위치를 검색하기 위해 PATH 변수에 지정된 디렉터리를 검색한다. 필요하다면 명령이 수행되어 종료된 프로그램의 상태를 알려주고 다시 프롬프트가 나타나고 명령을 기다린다. 명령 라인 프로세싱의 순서는 다음과 같다. 1. 히스토리 치환 2. 명령라인은 토큰 혹은 단어 단위 3. 히스토리 업데이트 4. 인용 진행 5. alias 치환 및 ..