例如:想在Linux系統(tǒng)下查看cat命令工具的源碼,方法如下:
創(chuàng)新互聯(lián)公司是一家集網(wǎng)站建設(shè),湯陰企業(yè)網(wǎng)站建設(shè),湯陰品牌網(wǎng)站建設(shè),網(wǎng)站定制,湯陰網(wǎng)站建設(shè)報價,網(wǎng)絡(luò)營銷,網(wǎng)絡(luò)優(yōu)化,湯陰網(wǎng)站推廣為一體的創(chuàng)新建站企業(yè),幫助傳統(tǒng)企業(yè)提升企業(yè)形象加強企業(yè)競爭力??沙浞譂M足這一群體相比中小企業(yè)更為豐富、高端、多元的互聯(lián)網(wǎng)需求。同時我們時刻保持專業(yè)、時尚、前沿,時刻以成就客戶成長自我,堅持不斷學(xué)習(xí)、思考、沉淀、凈化自己,讓我們?yōu)楦嗟钠髽I(yè)打造出實用型網(wǎng)站。
1、查看工具的路徑
$?whereis?cat
cat:?/bin/cat?/usr/share/man/man1/cat.1.gz
2、查看工具所屬的包
$?dpkg?-S?/bin/cat
coreutils:?/bin/cat
coreutils就是cat的源碼包名
3、下載工具源碼包
$?sudo?apt-get?source?coreutils
[sudo]?password?for?lizh:?
正在讀取軟件包列表...?完成
正在分析軟件包的依賴關(guān)系樹???????
正在讀取狀態(tài)信息...?完成???????
需要下載?10.8MB?的源代碼包。
獲取:1??maverick/main?coreutils?8.5-1ubuntu3?(dsc)?[1,891B]
獲?。???maverick/main?coreutils?8.5-1ubuntu3?(tar)?[10.7MB]
獲取:3??maverick/main?coreutils?8.5-1ubuntu3?(diff)?[21.5kB]
下載?10.8MB,耗時?42秒?(254kB/s)????????????????????????????????????????????
gpgv:?于?2015年07月06日?星期一?13時49分55秒?CST?創(chuàng)建的簽名,使用?RSA,鑰匙號?21B2133D
gpgv:?無法檢查簽名:找不到公鑰
dpkg-source:?警告:?對?./coreutils_8.5-1ubuntu3.dsc?校驗簽名失敗
dpkg-source:?info:?extracting?coreutils?in?coreutils-8.5
dpkg-source:?info:?unpacking?coreutils_8.5.orig.tar.gz
dpkg-source:?info:?applying?coreutils_8.5-1ubuntu3.diff.gz
ls -al命令來觀察文件權(quán)限,每個文件的權(quán)限都用10位表示,其中第一段占1位,表示第一個字符代表這個文件的類型(目錄,文件或鏈接文件)。
若為“d”則是目錄,若為“-”則是文件,若為“l(fā)”則表示鏈接文件,若為“”則表示為設(shè)備文件里面的可供存儲的周邊設(shè)備,若為“c”則表示為設(shè)備文件里面的串行端口設(shè)備,如鍵盤鼠標(biāo)。
第二段占3位,表示權(quán)限,均為[rwx]的三個參數(shù)的組合。其中r表示可讀,w表示可寫,x表示可執(zhí)行,如果沒有權(quán)限,則會顯示減號“-”。
擴展資料:
Linux命令注意事項:
Linux的命令(也包括文件名等等)對大小寫是敏感的,也就是說,如果你輸入的命令大小寫不對的話,系統(tǒng)是不會做出你期望的響應(yīng)的。
Linux常用的命令:
clear,這個命令是用來清除屏幕的,它不需要任何參數(shù),和dos下面的cls具有相同的功能,如果你覺得屏幕太紊亂,就可以使用它清除屏幕上的信息。
目錄切換(cd),使用cd(Change Directory)命令可以在不同目錄之間切換。
列出目錄中的文件(ls),在Linux命令行終端中使用的最多的命令就是這個ls,它可以幫助我們列出當(dāng)前目錄下都有哪些文件。
參考資料來源:百度百科-Linux命令
1.ash
(1)簡介
ash --a shell
這是由Kenneth Almquist在1989年編寫的,ash是Linux下的許多命令解釋器中的一個,它的許多特性接近于SYSTEM V的shell。
(2)部分參數(shù)說明
ash [ -efIijnsxz ] [ +efIijnsxz ] [ -c命令] [ 參數(shù) ]
-c 命令:若用-c參數(shù),則ash從標(biāo)準(zhǔn)輸入中讀入命令(在執(zhí)行完-c帶的命令之后)。
-s:若用-s參數(shù),則ash從標(biāo)準(zhǔn)輸入中讀入命令(在執(zhí)行完-c帶的命令之后)。
如果不跟-c -s參數(shù)則ash以所跟的第一個參數(shù)為文件名,從此文件中讀入命令。如無參數(shù)則ash缺省設(shè)定-s參數(shù),從標(biāo)準(zhǔn)輸入中讀入命令,直到輸入exit。
如果參數(shù)0的第一個字母是"-"則ash確定為login shell,ash將從/etc/profile或用戶的根目錄中的.profile讀入相應(yīng)的設(shè)置和環(huán)境變量。
-e:若用-e參數(shù),則ash執(zhí)行命令后返回值為非零值時則退出ash。
-f:若用-f參數(shù),則ash關(guān)閉自動產(chǎn)生文件名功能。
-j:打開伯克利UNIX風(fēng)格的工作控制。
-n:讀入命令但是并不執(zhí)行。
(3)范例
ash -c ls
ash執(zhí)行l(wèi)s這個命令后退回原先的目錄和shell。
ash -s
ash執(zhí)行一個新的shell,現(xiàn)在可以在這個shell中工作,按(Ctrl-D)或輸入exit后,則退回原先的目錄和shell,所設(shè)定的環(huán)境變量返回原先的值。
2.at
(1)簡介
at,batch,atq,atrm:安排、檢查、刪除隊列中的工作。
由Thomas Koenig編寫。
(2)部分參數(shù)說明
at [-V] [-q隊列] [-f文件名] [-mldbv] 時間
at -c 作業(yè) [作業(yè)…]
atq [-V] [-q隊列] [-v]
atrm [-V] 作業(yè) [作業(yè)…]
batch [-V] [-q隊列] [-f文件名] [-mv] [時間]
at在設(shè)定的時間執(zhí)行作業(yè)。
atq列出用戶排在隊列中的作業(yè),如果是超級用戶,則列出隊列中的所有工作。
atrm刪除隊列中的作業(yè)。
batch用低優(yōu)先級運行作業(yè),只要系統(tǒng)的loadavg(系統(tǒng)平均負(fù)載)1.5(或者在atrun中設(shè)定的值)它就開始執(zhí)行作業(yè)。
-V:若用-V參數(shù),則顯示版本號到標(biāo)準(zhǔn)錯誤輸出。
-q隊列:若用-q參數(shù),則指定可選隊列名稱,隊列名稱可以是a到z或A到Z之間的任意字母。at的缺省隊列名是c,batch的缺省隊列名是E,隊列的字母順序越高,則隊列的優(yōu)先級越低。如果是大寫字母的話則提交給batch,如果atq使用-q參數(shù),則只顯示這個隊列中的作業(yè)。
-m:執(zhí)行完作業(yè)后即使此作業(yè)并沒有輸也給提交作業(yè)的用戶發(fā)送提示mail。
-f文件名:從文件中讀取作業(yè)。
-l:等于atq。
-d:等于atrm。
-b:等于batch。
時間:這是用戶設(shè)定的作業(yè)開始執(zhí)行的時間。時間的格式分成三個部分:時間、日期、偏移量。可接受的時間形式是HHMM或HH:MM,在一天中指定的時間運行,如果時間過去了就在第二天執(zhí)行。可以在時間后加入AM或PM使其在上午或下午運行,也可以指定在哪一天執(zhí)行,給出日期的格式應(yīng)為MMDDYY或MM/DD/YY或MM.DD.YY,也可以給出偏移量:
時間+計數(shù)時間間隔
時間間隔可以是minutes,hours,days,weeks。
也可以指定today讓作業(yè)在今天執(zhí)行,指定tommorow讓作業(yè)在明天執(zhí)行。
(3)注意事項
如果沒有指定-f選項,是at從標(biāo)準(zhǔn)輸入讀入所有的命令,所以可以通過管道、重定向或交互輸入來輸入命令。
超級用戶可以在任何情況下使用at系列的命令。一般用戶使用at系列命令的權(quán)利由文件/etc/at.allow,/etc/at.deny控制。如果/etc/at.allow存在,則只有列在這個文件中的用戶才能使用at系列的命令。如果/etc/at.allow文件不存在,則檢查/etc/at.deny這個文件。只要不列在這個文件中的用戶都可以使用at系列的命令。缺省的配置是/etc/at.deny,是一個空文件,這表明所有的用戶都可以使用at系列的命令。
(4)范例
at -f work 4pm + 3 days
在三天后下午4點執(zhí)行文件work中的作業(yè)。
at -f work 10am Jul 31
在七月31日上午10點執(zhí)行文件work中的作業(yè)。
3.banner
banner:打印大標(biāo)題。
banner在標(biāo)準(zhǔn)輸出上打印高質(zhì)量的標(biāo)題,如果沒有輸入要打印的文字,則其等待從標(biāo)準(zhǔn)輸入輸入一行文字。其標(biāo)題由"*"組成。由Mark Horton編寫。
(2)部分參數(shù)說明
/usr/bin/banner [ -wn ]信息
-w寬度 輸出寬度從131到n,n缺省為80列。
(3)注意事項
不能打印字符: ,,[,],\,^,_,{,},|,-。信息長度為10個英文字符,如果用空格分開字符串,還是連續(xù)打印字符串,兩個字符串可以被括在引號(")中。這命名banner把這些字任串置于同一行中。
4.bash
(1)簡介
bash:GNU Bourne-Again Shell
自由軟件基金會(Free Software Foundation Inc)擁有bash版權(quán)。
bash是Linux下的許多命令解釋器中的一個,同sh兼容,并且包含了ksh和csh中一些有用的特性。遵從IEEE Posix Shell and Tools specification(IEEE Working Group 1003.2)。
首先uname -r看一下你當(dāng)前的linux內(nèi)核版本
1、linux的源碼是在/usr/src這個目錄下,此目錄有你電腦上各個版本的linux內(nèi)核源代碼,用uname -r命令可以查看你當(dāng)前使用的是哪套內(nèi)核,你把你下載的內(nèi)核源碼也保存到這個目錄之下。
2、配置內(nèi)核 make menuconfig,根據(jù)你的需要來進行選擇,設(shè)置完保存之后會在當(dāng)前目錄下生成.config配置文件,以后的編譯會根據(jù)這個來有選擇的編譯。
3、編譯,依次執(zhí)行make、make bzImage、make modules、make modules
4、安裝,make install
5、.創(chuàng)建系統(tǒng)啟動映像,到 /boot 目錄下,執(zhí)行 mkinitramfs -o initrd.img-2.6.36 2.6.36
6、修改啟動項,因為你在啟動的時候會出現(xiàn)多個內(nèi)核供你選擇,此事要選擇你剛編譯的那個版本,如果你的電腦沒有等待時間,就會進入默認(rèn)的,默認(rèn)的那個取決于 /boot/grub/grub.cfg 文件的設(shè)置,找到if [ "${linux_gfx_mode}" != "text" ]這行,他的第一個就是你默認(rèn)啟動的那個內(nèi)核,如果你剛編譯的內(nèi)核是在下面,就把代表這個內(nèi)核的幾行代碼移到第一位如:
menuentry 'Ubuntu, with Linux 3.2.0-35-generic' --class ubuntu --class gnu-linux --class gnu --class os {
recordfail
gfxmode $linux_gfx_mode
insmod gzio
insmod part_msdos
insmod ext2
set root='(hd0,msdos1)'
search --no-floppy --fs-uuid --set=root 9961c170-2566-41ac-8155-18f231c1bea5
linux/boot/vmlinuz-3.2.0-35-generic root=UUID=9961c170-2566-41ac-8155-18f231c1bea5 ro quiet splash $vt_handoff
initrd/boot/initrd.img-3.2.0-35-generic
}
當(dāng)然你也可以修改 set default="0"來決定用哪個,看看你的內(nèi)核在第幾位,default就填幾,不過我用過這種方法,貌似不好用。
重啟過后你編譯的內(nèi)核源碼就成功地運行了,如果出現(xiàn)問題,比如鼠標(biāo)不能用,usb不識別等問題就好好查查你的make menuconfig這一步,改好后就萬事ok了。
最后再用uname -r看看你的linux內(nèi)核版本。是不是你剛下的那個呢!有沒有成就感?
文章名稱:linuxsl命令源碼 編寫linux的ls命令
瀏覽路徑:http://chinadenli.net/article34/dodsope.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供營銷型網(wǎng)站建設(shè)、企業(yè)網(wǎng)站制作、App設(shè)計、定制網(wǎng)站、網(wǎng)頁設(shè)計公司、微信小程序
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)