哪兒有linux命令的源代碼下載?
01-13
比如more, less, pwd, grep.....等等, 這些命令不是RedHat或者Ubuntu專有的, 應該有源代碼吧? 另, 類似github這些網站很難找到官方正式的源代碼。
通常命令所在的包裡面都有源代碼。
那麼定位命令所在的包,搜索包的名字下載就行了。如果是Ubuntu/Debian,用dpkg命令找對應的包:
$ dpkg -S $(which sort)coreutils: /usr/bin/sort$ dpkg -S $(which egrep)grep: /bin/egrep
大部分常用命令都包含在GNU的Coreutils中,Debian/Ubuntu中這些命令用的就是Coreutils的。
http://en.wikipedia.org/wiki/GNU_Core_UtilitiesCoreutils的代碼:http://www.gnu.org/software/coreutils/OpenBSD中的命令代碼可讀性更好一些:
http://www.openbsd.org/cgi-bin/cvsweb/src/命令在bin/, sbin/, usr.bin/, usr.sbin/這幾個目錄里Unix早期版本里的命令代碼也值得一看:
http://minnie.tuhs.org/cgi-bin/utree.pl這裡是v7的命令代碼:
http://minnie.tuhs.org/cgi-bin/utree.pl?file=V7/usr/src/cmd書籍的話可以看看
Software Tools, Brian W. Kernighan and P. J. PlaugerSoftware Tools in Pascal, Brian W. Kernighan and P. J. Plauger
Understanding UNIX/LINUX Programming: A Guide to Theory and Practice, Bruce MolaySoftware Tools講了sort, uniq, comm, grep, vi等一些命令的實現。Software Tools in Pascal內容和前一本相同,只是用Pascal語言實現的,前一本用的是Ratfar語言。關於Software Tools可以看看徐宥同學的書評:編程珠璣番外篇-5.比代碼大全好的兩本書A ? 4G spaces再補充一下 @竭銘偉 的答案debian系用dpkg查到某個命令屬於哪個包(比如就叫package-name)之後可以用
apt-get source package-name
來直接從源里下載到源碼包。
另外rpm系也有對應的兩個命令rpm -qf filename
yumdowloader --source
你用的是什麼發行版?如果是 Debian / Ubuntu,用 apt-get source &
通常可以直接抓去對應包的源碼。
很多啊,busybox裡面就有呢.
去看該命令的man page,裡面會寫負責維護的人和發布網站。
Linux的命令來源很多,慢慢搜索能找到的有些命令比如cd是shell的,有些命令比如grep是GNU的,可以去GNU找
有包代碼叫coreutils,裡面應該有部分你要的東西
翻一下LFS吧,會告訴你基系統的全部軟體如何從上游拉取編譯
推薦閱讀:
※送什麼禮物能夠從代碼手中搶到程序員的心?
※27歲想轉python,是否值得?
※如何在word中插入類似CSDN中代碼塊?