有时候想看看Linux一些命令的源码,看看这些功能是怎么实现的,或自己需要实现类似的功能。

 

以ls命令为例:

1,查看命令的位置

which ls

得到:/bin/ls

 

2,查看该命令文件所在的包

 

Ubuntu下:dpkg -S /bin/ls

coreutils: /bin/ls

 

CentOS下:rpm -qf /bin/ls

coreutils-8.4-31.el6.x86_64

 

可得到ls命令在 coreutils包内。

 

3,获取该包源码

此时可以使用下载源码的命令从在线源下载,也可以直接在网上找对应版本的压缩包。

我测试从在线源可能经常找不到或下载失败,在网上直接找tar.gz文件比较靠谱。

 

在线下载命令:

Ubuntu:sudo apt-get source xxx

CentOS:yumdownloader --source xxx

 

4,解压下载的源码包,就可以研究里面的代码了

 

 
Logo

更多推荐