유닉스 명령어를 만드는 데 어떤 언어가 사용됩니까?


답변:


26

일반적으로 일반 C입니다. 명령 lspwd으로부터 온 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). 쉘과 동일한 언어로 작성됩니다 (종종 너무 그렇습니다).

다른 예 :

  • OpenSolaris pwd소스
  • FreeBSD ls

온라인에서 더 많은 것을 찾을 수 있습니다.


5

유닉스는 이것을 독립 실행 형 프로그램으로 구현하지만 Mat의 답변에 조금 더 추가하기 위해 많은 명령이 구현되어 있습니다 bash(새로운 프로세스를 생성하는 것을 막기 위해) 자세한 내용은 bash매뉴얼 페이지를 참조하거나 살펴보십시오 태그.

bash C로 작성되었습니다

그것은 이러한 명령은하지 않는 것이 주목할 필요가있을 수 있다 실제로, 여러 가지 미니 리눅스 배포판 사용 - C로 작성하는 lua이들과 다른 사람의 구현.


2
잘 bash 또는 다른 좋은 포탄.
rds

1
또한 cd효과적으로 작동하려면 셸 내장 기능과 같은 일부 명령이 필요 합니다.
AProgrammer
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.