快速业务通道

获取Linux命令源代码的方法

作者 佚名技术 来源 Linux系统 浏览 发布时间 2012-04-22
如果想进一步了解linux系统,熟悉一些系统底层的东西还是非常必要的,我们可以先了解一些linux命令是如何实现相关功能的,那么如何获得命令的源代码呢?本文将详细介绍一下.

下面以获取cat命令的源代码为例说明:

rpm -qif `which cat` 将显示如下信息:
--------------------------------------------------------------------------
Name : coreutils Relocations: (not relocatable)
Version : 5.2.1 Vendor: Red Hat, Inc.
Release : 31.8.el4_7.1 Build Date: 2008年10月23日 星期四 21时04分08秒
Install Date: 2009年04月07日 星期二 10时17分33秒 Build Host: ls20-bc2-14.build.redhat.com
Group : 系统环境/基础 Source RPM: coreutils-5.2.1-31.8.el4_7.1.src.rpm
Size : 7314345 License: GPL
Signature : DSA/SHA1, 2008年10月27日 星期一 22时56分59秒, Key ID 219180cddb42a60e
Packager : Red Hat, Inc. <http://bugzilla.redhat.com/bugzilla>
URL : ftp://alpha.gnu.org/gnu/coreutils/
Summary : GNU 核心工具:一组在 shell 脚本中常用的工具.
Description :
这些是 GNU 的核心工具.该软件包是老的 GNUfileutils、sh-utils、
和 textutils 软件包的组合.
--------------------------------------------------------------------------


通过上面的信息,我们可以知道cat命令是来源于coreutils-5.2.1-31.8.el4_7.1.src.rpm源码包,我们可以到上面信息提到的 ftp://alpha.gnu.org/gnu/coreutils/上去下载tarball,也可以到rpmfind.net网站上去搜索coreutils-5.2.1-31.8.el4_7.1.src.rpm下载此源码包.

若是下载的tar.gz包,则tar zxvf tar.gz包即可;
若是下载的src.rpm源码包,则:
1、rpm2cpio coreutils-5.2.1-31.8.el4_7.1.src.rpm| cpio -idv
2、此时会在当前目录下产生coreutils-5.2.1.tar.bz2文件
3、bzip2 -d coreutils-5.2.1.tar.bz2 解压,会产生coreutils-5.2.1.tar 文件
4、tar xvf coreutils-5.2.1.tar 此时在当前目录下将产生coreutils-5.2.1目录,源码便在其中.

进入coreutils-5.2.1目录,下面的src文件夹便是存放cat命令源代码的地方,当然了除了cat,linux的很多基础的外置命令的源代码都存放其中,像cp,chown,chmod,df,ls,rm,dd等等


对了,顺便说一下,coreutils-5.2.1目录下的configure脚本有5w多行哦,里面体现了很多shell的编程技巧,很值得喜欢shell并且想进一步深入学习shell编程的朋友去拜读一下哦.

凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!

分享到: 更多

Copyright ©1999-2011 厦门凌众科技有限公司 厦门优通互联科技开发有限公司 All rights reserved

地址(ADD):厦门软件园二期望海路63号701E(东南融通旁) 邮编(ZIP):361008

电话:0592-5908028 传真:0592-5908039 咨询信箱:web@lingzhong.cn 咨询OICQ:173723134

《中华人民共和国增值电信业务经营许可证》闽B2-20100024  ICP备案:闽ICP备05037997号