답변:
일반적으로 일반 C
입니다. 명령 ls
및 pwd
으로부터 온 GNU Coreutils
(대부분?) 리눅스 배포판 (그리고 아마도 다른 시스템)에서 패키지로 제공된다. 홈페이지 에서 코드를 찾을 수 있습니다 .
를 들어 coreutils
구체적으로, 당신은 보통 단계로 구축 : 소스의 포장을 벗긴 후 문제 :
./configure --prefix=/some/path
# type ./configure --help to get the available options
make
make install # could require root access depending on the path you used
배포판에있는 것과 같은 기본 유틸리티를 설치 하는 것은 좋지 않습니다 . 시스템과 함께 제공되는 패키지 관리자를 사용하십시오. 그래도 다른 접두사로 설치할 수 있습니다 (실험을하려면 홈 디렉토리에 설치하는 것이 좋습니다).
하지만주의 이 cd
실행 파일 은 cd
대부분의 상황에서 사용하게 될 별도의 실행 파일이 아닙니다. 쉘 내장이어야합니다 (그렇지 않으면 쉘의 현재 디렉토리를 변경할 수 없습니다-프로세스 자체가 수행해야 함 C
). 쉘과 동일한 언어로 작성됩니다 (종종 너무 그렇습니다).
다른 예 :
온라인에서 더 많은 것을 찾을 수 있습니다.
유닉스는 이것을 독립 실행 형 프로그램으로 구현하지만 Mat의 답변에 조금 더 추가하기 위해 많은 명령이 구현되어 있습니다 bash
(새로운 프로세스를 생성하는 것을 막기 위해) 자세한 내용은 bash
매뉴얼 페이지를 참조하거나 쉘을 살펴보십시오 내장 태그.
bash
C로 작성되었습니다
그것은 이러한 명령은하지 않는 것이 주목할 필요가있을 수 있다 실제로, 여러 가지 미니 리눅스 배포판 사용 - C로 작성하는 lua
이들과 다른 사람의 구현.
cd
효과적으로 작동하려면 셸 내장 기능과 같은 일부 명령이 필요 합니다.