哪里可以找到Linux核心命令的源代码?
我想读取linux命令写入的实际代码。我已经获得了一些使用它们的经验,现在我认为是时候在更深层次上与我的机器进行交互了。我在这里找到了一些命令http://directory.fsf.org/wiki/GNU。哪里可以找到Linux核心命令的源代码?
不幸的是,我无法找到基本的命令,比如'ls',这在我看来很容易开始。
你碰巧知道一些网页,书或任何其他的东西开始?
我在Ubuntu 12.04
所有这些基本命令都是coreutils
包的一部分。
你可以找到所有您需要的信息在这里:
http://www.gnu.org/software/coreutils/
如果您想要下载最新的源代码,您应该使用git:
git clone git://git.sv.gnu.org/coreutils
在其上安装的git你Ubuntu机器,你应该使用apt-get(git不包含在标准的Ubuntu安装中):
sudo apt-get install git
真相被告知,在这里你可以找到的ls
命令特定源:对命令“很容易,”作为ls
http://git.savannah.gnu.org/cgit/coreutils.git/tree/src/ls.c
只有4984行代码?你是否还在有兴趣阅读它?祝你好运! :d
OMG!我认为这有点容易...呃路径比预期的更长更难:-) – 2012-07-17 23:26:36
尝试[猫的来源](http://git.savannah.gnu.org/cgit/coreutils.git /tree/src/cat.c)。它只有767行。 – 2014-09-23 23:08:36
'只有4984条代码行...' - 看起来在4年零3个月里'ls'已经成为另外57条更复杂的行。 – sherrellbc 2016-10-14 13:43:54
cd ~ && apt-get source coreutils && ls -d coreutils*
您应该能够使用这样的命令在Ubuntu收集一个包的来源,则可以省略sudo
假设你下载到你自己的位置。
直接链接到coreutils
来源为一些受欢迎的节目:
感谢列表中的行数。 :) – 2016-08-23 05:52:11
你有'su'吗? – Arin 2018-02-09 00:15:24
实际上,通过http://suckless.org看到他们的sbase
库:
git clone git://git.suckless.org/sbase
他们更清晰,更智能,更简单,suckless,如ls.c
刚刚369 LOC
之后,它会更容易理解更复杂的GNU代码。
的coreutils没有显示真正落实其中大部分我认为你所寻求的功能。在大多数情况下,它提供了用于检索数据的实际功能,可以在这里找到前端:
它在Gnulib与实际源代码建立在[来源的代码lib-subdirectory
可能重复shell命令](http://stackoverflow.com/questions/8417373/source-code-of-shell-commands) – Kevin 2012-07-18 02:32:50
嗨,我也找到一个实用程序,它是util-linux。你可以在这里找到它(https://github.com/karelzak/util-linux) – acgtyrant 2014-12-16 09:10:22
'ls'不是Linux的一部分,它是Gnu的一部分。 Gnu运行在Linux和其他内核上。 – 2017-08-31 17:19:10