Linux下有时候对某一个命令的源码感兴趣了,这时候怎么办呢?下面介绍一种方法 ,以ping为例:
这是系统信息:
[root@Kevin kevin]# uname -a
Linux Kevin 3.3.4-5.fc17.i686 #1 SMP Mon May 7 17:45:26 UTC 2012 i686 i686 i386 GNU/Linux
首先需要看看ping命令属于哪个包
[root@Kevin kevin]# rpm -qf `which ping`
iputils-20101006-14.fc17.i686
ping属于iputils这个包,现在就要获取这个包了
[root@Kevin kevin]# yumdownloader --source iputils
在当前目录下,就可以找到iputils包的源码包了
在Ubuntu下主要利用dpkg和apt-get命令。
例如想要查看less命令的源码,可以在终端键入以下命令:
[xx@xxxxxx]$ dpkg -S `whereis less` #这里是查看less命令属于哪个包
less: /bin/less
less: /usr/bin/less
less: /usr/share/man/man1/less.1.gz
[xx@xxxxxx]$ sudo apt-get -d source "less" #这里是下载相应源码
下载完后就可以解压查看了