標籤:linux源碼 系統命令原始碼 linux原始碼 apt-get
一句話概括:用apt-get source package_name的方式擷取原始碼。
學習Linux下系統編程最好的參考例子就是Linux中已有的原始碼(源碼),比如想實現一個跟ls命令相同功能的程式可以參考ls的源碼的內容。在這樣的基礎上,使用者可以開發出自己的公用程式來代替系統中原有的程式,這聽起來是一件蠻有趣的事情。PS:同樣的,核心的原始碼可以通過這種方式獲得。
那究竟怎樣擷取原始碼呢?其實這並不複雜,Linux是一個開源的作業系統,運行在Linux系統中的大部分應用程式都是開源的,這以GNU開發的程式尤為顯著,其意思是你可以不花費一分錢或者花費極低的代價就能擷取到這些程式的原始碼。
國內常用的幾種Linux系統無非就是RedHat、Debian和SuSe,另外分別對應著三個基本相似的免費版本,CentOS、Ubuntu(Debian免費)和OpenSUSE。
比較簡單的方法就是通過Ubuntu這個作業系統中的apt-get命令直接下載某個軟體包的原始碼。
第一步,確定命令來自哪一個檔案。
第二步,確定這個檔案來自哪一個包。
CentOS中,
# which ls
alias ls=‘ls --color=auto‘
/bin/ls
# rpm -qf /bin/ls
coreutils-8.4-37.el6.x86_64
#
Ubuntu中,
$ which ls
/bin/ls
$ dpkg -S /bin/ls
coreutils: /bin/ls
$
第三步,通過apt-get source命令下載源碼到目前的目錄。
$ sudo apt-get source coreutils
第四步,使用源碼,源碼一般存放在“軟體名稱-版本號碼”,目錄下的src目錄裡面,如所示:
650) this.width=650;" title="image" style="border-top:0px;border-right:0px;border-bottom:0px;border-left:0px;" border="0" alt="image" src="http://s3.51cto.com/wyfs02/M00/6C/12/wKiom1U-9q_CplQRAANJxbAEM1w208.jpg" height="221" />
650) this.width=650;" title="image" style="border-top:0px;border-right:0px;border-bottom:0px;border-left:0px;" border="0" alt="image" src="http://s3.51cto.com/wyfs02/M01/6C/0E/wKioL1U--BbBXsXzAAFozha20fU965.jpg" height="586" />
--end--
本文出自 “通訊,我的最愛” 部落格,請務必保留此出處http://dgd2010.blog.51cto.com/1539422/1639605
如何擷取Linux中某個命令的原始碼