Linux的源代码

我正在寻找在Linux上使用/可用的通用系统命令的源代码,例如calsusudolsdirpwd等。我想要使用源代码来了解关于Linux系统pipe理的更多信息。

位于系统二进制代码的源代码位于Linux内核之外,但分布在大多数GNU / Linux版本的位置?

哪种Linux发行版最适合学习和查看这些命令的源代码?

是否有可能改变代码来学习他们真正的工作?

值得记住的是,“Linux”只是指内核。 基本的命令来自GNU Coreutils软件包以及许多其他类似的软件包。

在寻找这样的东西的时候,我通常会去FreeBSD的SVN Repository ,我发现它比多个GNU软件包更容易浏览。 例如,可以在这里findls的源代码:

如果你正在寻找一个所有源码的Linux发行版,你应该看看安装Gentoo 。

否则,你可以去一个更“手动”的路线,并尝试用Linux从头开始磨牙,这似乎是你在找什么。 这是一步一步的指南,从头开始构build一个可用的Linux系统。 它详细解释了每个包是什么,以及如何构build它们。 这有点令人望而生畏,而且你绝对应该遵循Beyond Linux From Scratch ,它旨在实现一个function强大的 Linux系统。

如果你只想看看这些常见的应用程序,你可以下载Coreutils软件包。

一般来说,你可以只是谷歌的各自utilites的来源。 在基于debian的发行版中,您可以使用apt-get来下载(debianized)源代码:例如, apt-get source sudo将为apt-get source sudo下载和解压缩源代码。 要找出该软件包属于哪个软件包,可以使用dpkg -S /usr/bin/sudo或者,如果可以使用apt-file在未安装的软件包中search文件。

您可以通过安装源码包或从包装网站下载源码来获取包的源代码。 你感兴趣的软件包叫做coreutils 。 如何安装源码包将取决于你正在使用的Linux的分布。 但是,如果你想从包网站下载源代码,你可以访问coreutils下载FTP站点 。

每个发行版都可能更改了基本软件包以改进选项或更改默认值。 但是或多或less的基本代码是相同的,你会发现在GNU网站上。