programing tip

쉘 명령의 소스 코드를 어떻게 읽습니까?

itbloger 2020. 6. 18. 21:31
반응형

쉘 명령의 소스 코드를 어떻게 읽습니까?


리눅스 명령으로 작성된 실제 소스 코드를 읽고 싶습니다. 나는 그것들을 사용하여 약간의 경험을 얻었고 이제는 내 컴퓨터와 더 깊은 수준에서 상호 작용할 때라고 생각합니다.

http://directory.fsf.org/wiki/GNU 에서 몇 가지 명령을 찾았습니다 . 불행히도 나는 시작하기에 충분히 쉬운 것처럼 보이는 'ls'와 같은 기본 명령을 찾을 수 없었습니다.

'ls'와 같은 간단한 쉘 명령의 소스 코드를 정확히 어떻게 읽습니까? 우분투 12.04에서 실행 중입니다.


이러한 기본 명령은 모두 coreutils패키지의 일부입니다 .

필요한 모든 정보는 여기에서 찾을 수 있습니다.

http://www.gnu.org/software/coreutils/

최신 소스를 다운로드하려면 git을 사용해야합니다.

git clone git://git.sv.gnu.org/coreutils

Ubuntu 컴퓨터에 git을 설치하려면 apt-get을 사용해야합니다 (git은 표준 Ubuntu 설치에 포함되어 있지 않습니다).

sudo apt-get install git

사실, 여기 ls명령의 특정 소스를 찾을 수 있습니다 .

http://git.savannah.gnu.org/cgit/coreutils.git/tree/src/ls.c

'쉽게 쉽게'명령에 대한 4984 코드 줄만 ls... 여전히 읽기에 관심이 있습니까? 행운을 빕니다! :디


다음의 인기있는 프로그램의 소스로 직접 연결되는 링크 coreutils:

여기에 전체 목록이 있습니다.


lscoreutils의 일부입니다. git으로 얻을 수 있습니다 :

git clone git://git.sv.gnu.org/coreutils

이 페이지 에서 다른 패키지 (아래로 스크롤)와 함께 coreutils를 찾을 수 있습니다.


http://suckless.org 에서 실제로 더 많은 제정신 소스를 제공 sbase합니다.

git clone git://git.suckless.org/sbase

그들은 예를 들면, 명확 스마트, 간단하고 suckless 있습니다 ls.c단지 369 LOC있다

그 후 좀 더 복잡한 GNU 코드를 이해하는 것이 더 쉬울 것입니다.


다른 게시물에서 언급 한 CoreUtils는 내가 생각하는 대부분의 기능을 실제로 구현하지는 않습니다. 대부분의 경우 데이터를 검색하는 실제 기능에 대한 프론트 엔드를 제공합니다.

lib-subdirectory 의 실제 소스 코드를 사용하여 Gnulib기반으로 빌드됩니다.


다음 명령을 사용하여 github에 가질 수 있습니다

git clone https://github.com/coreutils/coreutils.git

You can find all the source codes in the src folder.

You need to have git installed.

Things have changed since 2012, ls source code has now 5309 lines


    cd ~ && apt-get source coreutils && ls -d coreutils*     

You should be able to use a command like this on ubuntu to gather the source for a package, you can omit sudo assuming your downloading to a location you own.

참고URL : https://stackoverflow.com/questions/11528267/how-do-i-read-the-source-code-of-shell-commands

반응형