【正文】
將其輸出發(fā)到39。39。現(xiàn)在您就可以在終端裏用39。的參數,然後就可以顯示檔內容了。的程式。除了用:pidof rob567kill 567您還可以試試:kill `pidof rob`怎麼樣,效率有所提高吧?在下一篇中,我將接著介紹 shell 的另外兩種實用的機制:檔案名匹配、輸出重定向。除了在39。rm39。讓我們更進一步地來認識通配符39。您想只保留檔39。結尾的字串。39。結尾的檔,刪除其他所有以39。猜猜rm *[!6]*.bak表示什麼?這個命令將刪除所有檔,甚至包括名稱中包含39。不符合該模式?,F(xiàn)在,列出所有在點號後有四個字元的檔:ls *.????問號通配符能夠有效地避免上面提到的39。139。39。839。假設您在那個目錄中還有一個名為39。這些運算式與模式匹配看起來驚人地相似,但在某些地方又有所不同。 將查找名為39。管道經常將一個程式的輸出送到39。),只剩下以39。來實現(xiàn)。然後再將排序後的結果送到檔39。這是不打開檔而完成編輯的好辦法!但是,39。在後面的兩篇中,您將得到這方面的啟示。按照傳統(tǒng),您得將定義的變數,如 PATH ,放到39。的內容,您如果圖省事的話,就把所有配置都放進39。/etc/39。的內容,您如果要省點事的話,就把您所有的配置都放進39。下的文件中。~39。PROMPTING39。/usr/local/bin39。.bash_profile39。在39。root39。gYw39。 39。 39。1。 35m39。36m39。doneecho。如果您對此感興趣,可以看一下 Bashish()。root39。一些第三方軟體沒有將可執(zhí)行檔放到 Linux 的標準目錄中。$pAtH39。$39。因為您先前定義的是一個局部環(huán)境變數(僅限於當前的終端)。為了將目錄永久添加到您的 $PATH ,只要將39。您每次打開一個新的 shell ,39。命令的別名例如,我用下面的命令來上傳 MUO 中的文件:rsync e ssh z t r vv progress /home/tom/web/muo/rsmuo/docs muo://mandrakeuser/docs顯然,如果每次都要逐一輸入,那我早晚會變成木頭。命令中有空格的話 ,就需要用引號(如在命令與可選項間就有空格)。看一下上面的例子,我在39。~/.bashrc39。如果看一下39。 這樣的就不能工作。du maxdepth=1 | sort n | more39。Shell 函數寫 shell 函數涉及到了 shell 腳本,這超出了我們討論的範圍(也不在我的掌握範圍之內 。apros name 將先執(zhí)行39。章節(jié)的 man page ,這個命令可能沒什麼大用處,但可以整理39。39。命令:apros name man_section_number這個命令將搜索標題中含 name 的 man pages ,但排除 man_section_number 部分:apros menu 3將搜索標題含39。egrep39。如果您打算學習某種複雜的編程語言,那 shell 腳本也是一個很好的開端,因為基本概念都是類似的。閱讀其他人寫的 shell 腳本,看看他們在做什麼,怎麼做,為什麼那樣做。 es=$? amp。 return $es At at命令:使用它在一個特定的時間運行一些特殊的作業(yè),或在晚一些的非負荷高峰時間段或高峰負荷時間段運行。系統(tǒng)管理員是通過c r o n . d e n y和c r o n . a l l o w這兩個檔來禁止或允許用戶擁有自己的c r o n t a b檔。可以使用它運行任意一個s h e l l腳本或某個命令,每小時運行一次,或一週三次,這完全取決於你。 名詞解釋: cron:系統(tǒng)調度進程。 獲得當前目錄名dingyibackup:/etc/$ pwd/etc/dingyibackup:/etc/$ basename /etc/dingyibackup:/etc/$ echo $PWD |awk F/ 39。) 。從這裏出發(fā)我們談到的只是 shell 的一個開頭。l 您必須用雙引號,這樣第二個參數才能被正確解釋。 }如果您這樣運行39。)。和第39。 }定義了一個新命令,稱為39。作開頭,這樣有助於記憶。ls ho color | more39。當然,您得先確認別名與其他程式名不同,比如象 alias rm=39。要刪除一個別名,只要輸入:unalias alias 。alias39。(命令替換)是例外。定義別名的語法是:alias shortcut=39。但幸運的是,您可以為常用命令定義快捷方式。.bashrc39。只能改變當前終端及以後運行的終端裏的變數。到目前為止,您只為當前終端設置了新的 $PATH 變數。$39。$path39。瞭解如何改變 $PATH 變數很有用,因為這個變數決定了 shell 將到哪些目錄中尋找命令或程式。輸入set將列出所有當前定義的環(huán)境變數。這樣,每次打開控制臺或終端視窗時,都會生效。do FG=${FGs// /}echo en $FGs 3[$FG $T for BG in 40m 41m 42m 43m 44m 45m 46m 47m。 39。34m39。 33m39。1。 39。!/bin/bash This file echoes a bunch of color codes to the terminal to demonstrate what39。中的設定 是:PS1=/[3[0。部分,對這些參數(parameter)有詳細說明。中。/usr/bin39。命令echo $PS1將顯示當前的設定。localhost39。及目錄39。讀取39。/etc/bashrc39。經常被設置成先讀取39。.bashrc39。) 不必驚慌,您完全可以按照自己的速度,一步步地來學習。39。的內容送到命令39。和39。更複雜的例子如:rpm qa | grep ^x | less第一個命令給出所有已安裝的 RPM 包,第二個則將其過濾(filter:39。在多個命令間重定向這要通過管道(pipe),由管道符號|來標識。命令 ls 39。l 命令本身帶特殊字元作參數。引用 shell 的特殊字元但是,上面的那些機制存在一個缺點:shell 總在命令執(zhí)行前,試著進行擴展。339。~39。您可能會問,有沒有其他匹配方式?到目前為止,您只看到了在指定位置匹配唯一字元的方法。和39。在我們的例子裏,只有檔39。*39。但幸運的是,您可以用不含有來指定檔:rm *[!6].bak這將被讀為:除了以39。將返回出錯資訊:rm: cannot remove `4*.bak39。並以39。及39。您將看到,shell 在命令執(zhí)行前,就將讀取並解釋命令行??善ヅ湟粋€或多個字元。.bak39。rob39。我們假設,您打算結束一個名為39。的輸出(= /usr/X11R6/lib/X11/doc/)作為39。包,您就可以用:locate 發(fā)現(xiàn)那個文件在39。命令的替換命令替換(Command substitution)是一項很實用的功能。如果您對此不滿,可以用下面命令:mand amp。GQview39。命令的任務調度當您在終端裏運行一個命令或開啟一個程式時,終端要等到命令或程式運行完畢後,才能再被使用。amp。目錄下得到一個有問題的內核映射(image)。和39。、39。39。bogusdir39。mand1 amp。和39。第三篇:命令的排列/命令的任務調度/命令的替換命令的排列現(xiàn)在您將看到一些常用的命令排列。其實還可以簡化,只要鍵入 cd ,就可以返回 home 目錄了。sometext39。後面。而如果您按了向右、向左方向鍵或 ESC ,上面的命令將回到普通的命令行,這樣您就可以進行適當編輯。與 SHIFT 鍵連用的話,您還可以遍曆以往在該控制臺中的輸出。(大寫的39。/usr/src/linux/Documentation39。39。zip39。、39。讓我們仔細看看這個例子:cd /uTAB擴展成了 cd /usr/ ,很簡單吧。在本篇中,我們將來作一些瞭解。file39。cd 39。shell 將在其路徑中(詳情見後)搜索這個命令,找到以後就運行,並在終端裏輸出相應的結果(如果有的話),命令結束後,再給出新的提示符:[tombelbo tom]$ whoamitom[tombelbo tom]$順帶指出,當您敲 ENTER 時,遊標(cursor)在哪里並不要緊,因為 shell 總是會整行地讀取。變成了39。belbo39。root39。在 Linux 中,標注的 shell 是39。的39。shell 是作業(yè)系統(tǒng)的一部分,用來與用戶打交道,並且可以用來協(xié)調各個命令。其實您不是非要用39。xterm39。vt10039。 這些終端的廠家無法達成一項最終標準,這導致每種牌子的終端都有各自的鍵盤佈局、各自的在螢幕上顯示字元的方法、發(fā)送或接收什麼信號表示什麼字元、控制代碼等等。很快,全美國的大學都忙著開始為機器安裝 Unix 。來表示系統(tǒng) memory)的龐然大物。這是因為,在 Unix 中,shell 可不是簡單的命令解釋器(典型的有 Windows 中的 DOS ),而是一個全功能的編程環(huán)境。有些人甚至覺得作業(yè)系統(tǒng)中應該沒有這些命令才好。Shell基本執(zhí)行過程及父子進程之間的關係如圖所示。(2)分析命令,以命令名作為檔案名,並將其他參數改造為系統(tǒng)調用execve( )內部處理所要求的形式。Korn Shell的效率很高,其命令交互介面和編程交互介面都很好。T Bell實驗室的 Steven Bourne為ATamp。您的位置:首頁(3)終端進程調用fork( )建立一個子進程。它不屬於內核部分,而是在核心之外,以用戶態(tài)方式運行。(5)如果命令末尾有amp。(2)C Shell是加州伯克利大學的Bill Joy為BSD Unix開發(fā)的,與sh不同,它的語法與C語言很相似。 Shell基本工作原理發(fā)表在Shell於 20061112 Linux系統(tǒng)提供給用戶的最重要的系統(tǒng)程式是Shell命令語言解釋程式。當子進程運行時調用execve( ),子進程根據檔案名(即命令名)到目錄中查找有關檔(這是命令解釋程式構成的檔),將它調入記憶體,執(zhí)行這個程式(解釋這條命令)。MUO 是 Mandrake Linux()為用戶提供的入門手冊,其內容實用並且即時更新,非常適合初學者做入門參考。我堅信,用 Linux 而不懂 shell ,就象開車只會用頭檔(first gear)一樣。您在很短時間內,就能被一大幫門外漢吹捧為 Un