我想读其中的Linux命令写入与实际的源代码。我已经使用它们积累了一些经验,现在我觉得是时候在更深的层次与我的机器进行交互。
我在这里http://directory.fsf.org/wiki/GNU发现了一些命令。遗憾的是我没能找到诸如“LS”,这在我看来很容易的开始基本命令。
究竟如何阅读,如“ls”的简单shell命令的源代码?我在Ubuntu 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
......你还有兴趣阅读它?祝好运! :d
直接链接到源在coreutils
一些受欢迎的节目:
ls
是的coreutils的一部分。你可以用git得到它:
git clone git://git.sv.gnu.org/coreutils
你会发现与其他包(滚动到底)上this page上市的coreutils。
实际上http://suckless.org提供更健全的来源看他们sbase
库:
git clone git://git.suckless.org/sbase
他们是更清晰,更智能,更简单,suckless,如ls.c
刚刚369 LOC
之后,它会更容易理解更复杂的GNU代码。
在其他帖子提到的coreutils没有显示真正落实其中大部分我认为你所寻求的功能。在大多数情况下,它提供了用于检索数据,这可以在这里找到实际的功能前端:
这是一个在Gnulib实际的源代码在lib-subdirectory建设
您可以使用下面的命令有它在github
git clone https://github.com/coreutils/coreutils.git
你可以在src文件夹中的所有源代码。
你需要有git安装。
2012年以来时过境迁,ls
源代码现在已经5309线
cd ~ && apt-get source coreutils && ls -d coreutils*
您应该能够使用这样的命令在Ubuntu收集一个包的来源,则可以省略sudo
假设你下载到你自己的位置。