我想阅读编写linux命令的实际源代码。我已经获得了一些使用它们的经验,现在我认为是时候与我的机器进行更深层次的交互了。
我在这里找到了一些命令,http://directory.fsf.org/wiki/GNU。不幸的是,我找不到像“ls”这样的基本命令,这对我来说似乎很容易开始。
我如何准确地阅读像“ls”这样的简单shell命令的源代码?我在Ubuntu 12.04上运行
发布于 2012-07-18 02:08:29
所有这些基本命令都是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
像ls
这样的命令“足够简单”,只有4984行代码...你还有兴趣读它吗??祝你好运!:D
发布于 2012-07-18 02:05:43
ls
是coreutils的一部分。你可以用git获取它:
git clone git://git.sv.gnu.org/coreutils
您可以在this page上找到与其他包一起列出的核心实用程序(滚动到底部)。
发布于 2015-07-14 03:46:00
实际上,http://suckless.org提供了更多合理的源代码,请查看他们的sbase
存储库:
git clone git://git.suckless.org/sbase
它们更清晰、更聪明、更简单、更不容易,例如ls.c
只有369LOC
之后,理解更复杂的GNU代码将变得更容易。
https://stackoverflow.com/questions/11528267
复制相似问题