如何獲取Linux命令的源代碼 |
發(fā)布時(shí)間: 2012/8/10 15:22:46 |
如果想進(jìn)一步了解linux系統(tǒng),熟悉一些系統(tǒng)底層的東西還是非常必要的,我們可以先了解一些linux命令是如何實(shí)現(xiàn)相關(guān)功能的,那么如何獲得命令的源代碼呢?本文將詳細(xì)介紹一下。
下面以獲取cat命令的源代碼為例說(shuō)明: 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時(shí)04分08秒 Install Date: 2009年04月07日 星期二 10時(shí)17分33秒 Build Host: ls20-bc2-14.build.redhat.com Group : 系統(tǒng)環(huán)境/基礎(chǔ) Source RPM: coreutils-5.2.1-31.8.el4_7.1.src.rpm Size : 7314345 License: GPL Signature : DSA/SHA1, 2008年10月27日 星期一 22時(shí)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 軟件包的組合。 -------------------------------------------------------------------------- 通過(guò)上面的信息,我們可以知道cat命令是來(lái)源于coreutils-5.2.1-31.8.el4_7.1.src.rpm源碼包,我們可以到上面信息提到的 ftp://alpha.gnu.org/gnu/coreutils/上去下載tarball,也可以到rpmfind.net網(wǎng)站上去搜索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、此時(shí)會(huì)在當(dāng)前目錄下產(chǎn)生coreutils-5.2.1.tar.bz2文件 3、bzip2 -d coreutils-5.2.1.tar.bz2 解壓,會(huì)產(chǎn)生coreutils-5.2.1.tar 文件 4、tar xvf coreutils-5.2.1.tar 此時(shí)在當(dāng)前目錄下將產(chǎn)生coreutils-5.2.1目錄,源碼便在其中。 進(jìn)入coreutils-5.2.1目錄,下面的src文件夾便是存放cat命令源代碼的地方,當(dāng)然了除了cat,linux的很多基礎(chǔ)的外置命令的源代碼都存放其中,像cp,chown,chmod,df,ls,rm,dd等等 對(duì)了,順便說(shuō)一下,coreutils-5.2.1目錄下的configure腳本有5w多行哦,里面體現(xiàn)了很多shell的編程技巧,很值得喜歡shell并且想進(jìn)一步深入學(xué)習(xí)shell編程的朋友去拜讀一下哦 本文出自:億恩科技【mszdt.com】 服務(wù)器租用/服務(wù)器托管中國(guó)五強(qiáng)!虛擬主機(jī)域名注冊(cè)頂級(jí)提供商!15年品質(zhì)保障!--億恩科技[ENKJ.COM] |