红联Linux门户
Linux帮助

如何查看linux命令源代码

发布时间:2011-09-05 23:31:34来源:红联作者:静静飞舞
用linux一段时间了,有时候想看看ls、cat、more等命令的源代码,在下载的内核源码中用cscope没能找到,在网上搜索了一下,将方法总结如下:

以搜索ls命令源码为例,先搜索命令所在包,命令如下:
lpj@lpj-linux:~$ which ls
/bin/ls

用命令搜索该软件所在包,代码如下:
lpj@lpj-linux:~$ dpkg -S /bin/ls
coreutils: /bin/ls

从上一步中可以知道ls命令的实现在包coreutils中,用apt安装(说安装有些歧义,主要是区分apt-get -d)该包的源代码然后解压,代码如下:
sudo apt-get source coreutils
####cd /usr/src/coreutils-XXX #XXX表示版本号
cd .
sudo tar zxvf coreutils-XXX.tar.gz

或者只下载源码,然后手动打补丁再解压,代码如下:
sudo apt-get -d source coreutils
cd /usr/src
tar zxvf coreutils-XXX.tar.gz
gzip -d coreutils-XXX.diff.gz #这一步会生成coreutils-XXX.diff文件
patch -p0 < coreutils-XXX.diff
cd coreutils-XXX

OK,这几步执行完后,就可以进入/usr/src/coreutils-XXX/coreutils-XXX/src中查看各命令对应的源代码了

参考网站:http://zhan.renren.com/ilinux
文章评论

共有 144 条评论

  1. jasperjasper 于 2014-12-11 22:23:02发表:

    有用

  2. jasperjasper 于 2014-12-11 22:21:54发表:

    ubuntu

  3. keepshy 于 2014-02-07 16:37:34发表:

    学习下~~

  4. qxfsy 于 2014-01-11 22:12:14发表:

    有用

  5. lokicn 于 2014-01-11 21:21:38发表:

    很好的资料

  6. daa20 于 2014-01-10 22:21:20发表:

    you are right!

  7. mcuyang 于 2013-01-13 15:34:37发表:

    如何查看linux命令源代码

  8. whickyzwj 于 2012-12-27 15:46:55发表:

    标记一下.这个好.

  9. BeefyMiracle 于 2012-12-13 12:12:46发表:

    :0)1

  10. gky2009514 于 2012-12-07 13:04:53发表:

    新手完成任务,求下书籍~

  11. q815188 于 2012-12-01 23:35:40发表:

    辛苦了.O(∩_∩)O谢谢

  12. 姜维 于 2012-11-16 17:38:21发表:

    感谢楼主

  13. David.L 于 2012-11-16 17:32:57发表:

    mark

  14. javaww 于 2012-11-15 15:10:09发表:

    顶一个

  15. felixffffff 于 2012-11-14 15:32:43发表:

    NICE

  16. liquansanguai 于 2012-11-13 22:26:26发表:

    :0)1

  17. dog200606 于 2012-08-12 18:46:32发表:

    学习了

  18. heimanba 于 2012-08-10 15:36:12发表:

    不错。。。

  19. 于 2012-08-09 11:35:34发表:

    不错,哈哈{:2_91:}

  20. pc_Samba 于 2012-08-08 17:13:12发表:

    不错啊,用了那么长时间那么多命令倒没想过去研究他们的源代码

  21. tingaidong 于 2012-08-08 15:26:58发表:

    谢谢分享

  22. babyvvvv 于 2012-08-08 15:03:24发表:

    恩~~~~研究下

  23. yt20090291 于 2012-06-30 14:50:01发表:

    轻轻的飘过

  24. qyhxhyn 于 2012-05-04 23:12:06发表:

    good

  25. sheng7625 于 2012-05-04 21:52:23发表:

    支持

  26. wh10409 于 2012-03-20 11:06:08发表:

    感谢楼主分享

  27. circletiger 于 2012-02-24 14:27:10发表:

    感谢楼主!感谢分享!

  28. woaimengyou 于 2012-02-23 12:20:30发表:

    犀利!

  29. 茅屋卧龙 于 2012-02-22 10:43:17发表:

  30. wafyy 于 2012-02-18 18:49:59发表:

    学习学习

  31. navyblue 于 2012-02-11 17:09:58发表:

    此贴必火

  32. muguadashi 于 2012-02-09 15:50:20发表:

    试一下先

  33. zfytkb 于 2012-02-09 13:30:46发表:

    嗯,挺好的,感谢分享

  34. HH_bird 于 2012-02-08 22:14:21发表:

    先MARK 有时间一定要试试

  35. cjp111 于 2012-02-08 08:49:25发表:

    不错,学习了!感谢分享!

  36. google_goal 于 2012-02-07 20:08:03发表:

    终于知道了

  37. qwyan456 于 2012-02-07 00:11:24发表:

    很有用,学习!

  38. xjchen560 于 2012-01-13 22:05:13发表:

    很有帮助,感谢楼主

  39. SongXu 于 2011-12-23 20:53:09发表:

    观看学习

  40. 雾月O秋水 于 2011-12-20 10:01:05发表:

    定下