《Unix & Linux》大學教程小結

        大概在兩個月以前我就開始看這本書了,我沒有看書的習慣。應該可以說這是第一本我看了這麼多的書,這本書內容比較簡單,講的東西都很容易理解。現在我已經看到了第12章,今天忽然想到應該做點小總結不然看完了又什麼都忘了。我並沒有看得很仔細,只是走馬觀花的看了一些。沒有每天都看一點,只是想到的時候都看一點。希望自己可以堅持看完這本書。

         &1. Unix 簡介   &&    &2.什麼是Linux?什麼是Unix

          把這兩章放在一起,我覺得這兩章大體上都是在介紹Unix可Linux的背景和一些歷史。在大多數的Linux的書上都有這些內容。感興趣的可以翻閱一下。


          &3. Unix連接

           這一章主要介紹的是一個思想:終端和主機。大致來說終端是與外界交互的東西,鍵盤,鼠標,顯示器等等。主機是指內在處理的其他部件,如硬盤,內存等等。


          &4. 開始使用Unix

           介紹了一些基本的操作。該密碼的命令是passwd,檢查他人是否使用過我的賬戶可以用命令last。最後還有一個超級用戶的概念,這個概念非常重要,不瞭解的通過百度瞭解一下。這篇文章主要說這本書的框架,對於細節還是自己去翻書。


           &5.Gui:圖形用戶界面

            介紹了gui和xwindows的概念和歷史。感覺並沒有深入,這是大概介紹了一些東西。


           &6.Unix工作環境

            運行級別是這一章的一個重點,可以重點了解一下。改變運行級別的命令是init後面跟着一個數字表示運行級別。然後這一章還介紹了Unix可以同時不止做一件事情,但是我覺得現在的操作系統要是沒有這個特性未免也太......dmesg可以顯示啓動消息,但是這些東西會很多所以建議使用dmesg | less這樣就可以慢慢看了。我反正是看不懂這些東西。


            &7.Unix鍵盤使用

             我覺得這一章還是比較有趣的,所以這一章還是好好的去看一下吧。介紹鍵盤的工作原理,讀了這章可以瞭解到一些很有趣的事情。 這一章需要整章看一下,不過也稍微總結一下我感興趣的內容:主要是一些信號與鍵盤的映射,還有eof的信號,以及顯示鍵盤映射stty -a 和 修改鍵的映射,這個內容非常有趣很適合喜歡惡作劇的同學。還有注意回車和換行的概念。回車表示回到首部,換行是指往下一行但是光標並不會回到行首。我們現在說的回車一般是指回車+換行。


            &8.能夠立即使用的程序

             這一章介紹了一些比較實用的命令,比如查找程序用的which/type和whence,提醒服務calendar查看系統 信息的uptime/hostname/uname顯示自己的信息whiami.quota.顯示其他用戶的信息users/who和w。具體的使用看書上對應的章節。上面的幾個都是我覺得很有用的命令。


             &9.文檔資料:Unix手冊與Info

             這一章是教導我們查看命令的用處或者搜索相應的命令。建議看一下whatis apropos 的使用方法還有info瞭解一下。其實這個在我看來還不如直接百度命令,因爲我的英語水平不高,如果英語好的人這個還是很有幫助的。


            &10.命令語法

              如果對linux的命令行一點都不瞭解的人建議看一下。如果已經大致都瞭解了命令的格式和使用方法這一章可以跳過,因爲這一章講的很粗淺。這一章唯一的收穫是在終端中可以同時輸入兩條命令,但是要用分號隔開。比如cd /; ls他會在執行完cd /以後執行ls。


              &11. Shell

              這一章主要介紹的是shell的歷史背景之類的。還有shell的幾種最常見的shell,主要的內容還是在後面的內容裏面介紹,這一章只是粗淺的介紹。


            &12.使用shell:變量和選項

               這一章是比較重要的一章,介紹了shell變量和環境變量,以及他們的設置,修改,刪除,和添加。還有他們的關係/作用和區別,具體的還是看書吧。


-------------------------------------------------------------------------------------------------------------分割線------------------------------------------------------------------------------------------------------------

前面的內容由於隔的時間比較久了,記得也不清楚所以寫的很大概。後面的內容,因爲我覺得比較重要,而且我是看了就寫的,印象也比較深刻所以會介紹比較多的細節。


/*--2013.11.15  Friday--*/

&13.使用Shell:命令和定製

13.1~13.3:

 這三章主要介紹了元字符和轉義字符。所謂的元字符就是指在shell中有特別的含義的一些字符。比如$  ;   ,  !  # 等等。比如在終端輸入

<span style="font-size:14px;">echo $USER
bearox</span>

        得到的並不是$USER,而是當前用戶的用戶名我這裏得到的答案是bearox。因爲$是一個元字符,這裏他的意思變成了把變量USER的值輸出來。那麼我想要得到$USER該怎麼輸出呢?首先我們可以用 ' \ ' ——反斜線。他會把後面的元字符理解成字面上的意思。比如輸入

<span style="font-size:14px;">echo \$USER
$USER</span>

      這時候得到的結果就不再是bearox,而是$USER。轉義字符甚至可以轉義回車,本來回車是代表每一行的輸入結束。如果你輸入

<span style="font-size:14px;">echo How are you? \<回車>     //表示在反斜線後面輸入一個回車</span>

       什麼都不會輸出,而是給你一個提示符,讓你繼續輸入,那你就接着輸入直到回車纔會輸出結果,自己去體驗一下就知道是怎麼回事了。注意每次出現元字符的時候前面都需要加一個反斜線。這樣對於比較長的輸入會顯得很麻煩。這時候可以用單引號‘’比如輸入

<span style="font-size:14px;">echo '$USER, &TERM' 等價於 echo \$USER\, \$TERM</span>

       同樣的單引號同樣適用於回車比如輸入

<span style="font-size:14px;">echo 'How are you? <回車>I'm fine. Thank you!'
How are you?
I'm fine. Thank you!</span>

       (2015-9-27)上面這個例子是錯誤的,最近需要重新學習Linux,就來看這篇文章了。在試用這些例子的時候發現這個出錯了。原因是I'm fine.  這裏面有一個單引號會把這句話結束,所以最後Thank you! 後面的單引號不需要了。或者這個例子應該改成I am fine。

下面兩行是結果。  <回車>表示在這個位置輸入一個回車,下面就不再重複提醒,看到這個寫法就應該知道了。很奇怪的一點是我用反斜線轉義回車的時候,回車只是沒了,並沒有輸出,使用單引號的時候回車輸出來了。這一點我也是在寫這篇博客的時候才發現的。但有時候我們希望如$這種特殊的符號不要被轉義該怎麼做呢?

<span style="font-size:14px;">echo 'My name is: ' $USER ', my terminal is: ' $TERM</span>

        這樣寫也不會有問題,但是單引號比較多,而且不容易看清楚,如果元字符比較多的情況下,這樣會比較混亂,這時候就需要用雙引號" "。雙引號比較特殊,雙引號只保留 $ (美元符號) \(反斜線)和 `(反引號)這三個元字符,其他的都會被轉義,所以上面的那句話可以寫成

<span style="font-size:14px;">echo "My name is: $USER, my terminal is: $TERM"</span>

下面是小結:

使用反斜線引用單個字符(稱爲轉義了這個字符)

使用單引號引用一串字符

使用雙引號引用一串字符,但是保留了$ \ 和 `

從上面看出單引號比雙引號的效用更強(能轉義所有字符),所以有時候稱單引號爲強引用,雙引號爲弱引用。實際上最強的還是反斜線,反斜線可以應用單引號,雙引號甚至是是它自己本身!


/*---2013.11.16--*/

13.4~13.14: 

        前兩個小節告訴我們shell的命令分爲內部命令和外部命令。比如date(顯示時間)就是一個外部命令,不是shell的內置命令。time和set就是shell的內置命令。看一條命令是內部命令還是外部命令用type來完成。

<span style="font-size:14px;">type date time setdate 
date 是 /usr/bin/date
set 是 shell 內嵌
time 是 shell 關鍵字</span>

  第一行是輸入的命令,下面三行是輸出的結果。從結果中看護set和time都是shell的內部命令,不用去管內嵌和關鍵字的區別,這個我也不知道。我堅信隨着我學習的深入這些疑點都會慢慢解開。而date就是一條外部命令,路徑顯示的就是這條命令所在的路徑。這意味這date是一個獨立的程序,我們可以通過改變路徑內提供的內容來改變這個程序的功能。那麼shell是怎麼找到這個外部命令的路徑的呢?其實這些都記錄在一個名爲PATH的環境變量裏面。
<span style="font-size:14px;">echo $PATH
/usr/lib64/qt-3.3/bin:/usr/local/bin:/usr/bin:/bin:/usr/local/sbin:/usr/sbin:/home/bearox/.local/bin:/home/bearox/bin</span>

       上面是我的fedora19中默認被指的PATH的值, 我們也可以自己來修改PATH的值,在裏面存放我們自己寫的一些命令,這樣就可以在shell裏面直接運行。

<span style="font-size:14px;">PATH="$PATH:$HOME/Document/bin"</span>

       如果你理解了元符號以及轉義字符和環境變量的設定,那麼你應該能看懂這句話。上面的命令是把自己的用戶目錄下面的/Document/bin目錄下的內容加入搜索的路徑中。但是如果你自己寫了一個date,那麼你輸入date他會運行哪一個呢?他只會執行最先找到的那個程序。所以想要優先運行自己寫的程序的話需要把自己的路徑添加到現有的PATH的前面。這樣他會優先查找自己的bin目錄。

        然後13.9開始介紹了怎麼定製自己的shell,嚴格的說是怎麼定製自己的shell提示符。我使用的shell是bash,而且我覺得短期內我也不會去嘗試使用其他的shell。所以下面我都以自己的bash爲例子。bash的命令提示符是存儲在一個名爲PS1的環境變量中的,我們修改這個環境變量就可以按照自己喜歡的方式來顯示命令提示符。

<span style="font-size:14px;">PS1="$USER $ "</span>

        然後我的提示符就是我的用戶名加上一個$符號。如果你想增加別的東西都行,甚至是命令。命令用`反引號隔開,這個也是這裏學會的。

<span style="font-size:14px;">echo "The time and date are `darte`"
The time and date are 2013年 11月 16日 星期六 10:59:46 CST</span>

        第一行是我們的輸入,第二行是輸出。這裏你應該能看出來反引號的用法了,就不再贅述了。比如你的提示符想要顯示時間那你可以用

<span style="font-size:14px;">PS1="The time is `date`"</span>

        這樣你的提示符就會實時顯示當前的時間了。如果你想每次登陸shell都能這樣顯示的話,你還需要把這行加入初始化文件中,對於我的話是home目錄下的.bashrc。對了,你甚至可以讓命令提示符單獨顯示一行,命令的輸入單獨一行。這就需要轉義回車,這個我們在上面說到了,可以試試看,我覺得這樣會比較清晰。

<span style="font-size:14px;">PS1="The time is `date`<回車>" </span>

13章剩餘部分:

         剩下的部分,對我的幫助並不大,因爲這裏面的大多數內容我都已經瞭解了,所以我寫的比較簡單。剩下的部分主要介紹的是命令的歷史列表。可以用命令history來查看自己使用過的命令,你發現每個命令都有一個編號。然後重新調用這個命令的話可以用    !命令的序號   來調用這個命令。  比如你用history查看時有命令 who am i ,它的編號是15, 那麼你就可以通過  !15 來調用whoami這條命令。然後,有時候你覺得這個歷史列表太長了,那麼可以通過修改環境變量HISTSIZE來改變歷史列表的大小,我這裏的默認大小是1000,我把它改成了50.

        還有這裏介紹了一個小技巧,不過我覺得實用性不大。

<span style="font-size:14px;">rm temp*       //這個命令刪除當前目錄下所有以temp開頭的文件</span>

         但是像上面這樣做有一定的風險,因爲你可能有一個很重要的文件剛好也是以temp開頭的。那麼爲了保險,你可以把以temp開頭的文件全部顯示出來看一下。用
<span style="font-size:14px;">ls temp*</span>
         這樣就得到了所有的temp開頭的文件,確認了以後,再用
<span style="font-size:14px;">^ls^rm</span>
          這樣會很保險。上面這句話的意思是把上一條命令的ls改成rm。因爲重新輸入命令的話總是可能會出錯。

          然後介紹了自動補全,這個只需要按下tab就能實現了。。大概的意思是比如當前目錄下有一個很長的文件,helloworld.cpp 然後你需要這個文件,輸入he然後按下tab鍵,他會自動補全整個文件的名字。前提是當前目錄下沒有其他的文件以he開頭。

          然後很有用的就是別名命令 alias。 因爲,我以前單獨學習過這個命令,所以我已經會了。這個命令還是很有用的,可以帶來很多方便。不熟悉的人建議自己去好好學習一下這個命令。也可以看一下這裏,這個可以讓你簡單的理解一下alias的作用。學會以後可以在自己的.bashrc加入各種自己喜歡的別名,這也相當於shell的定製把。http://blog.csdn.net/bearox/article/details/9390869



/*-------------------------Wed Nov 27------------------------------------------*/

&14.使用shell: 初始化文件

           這一章的內容很有用,之前我就瞭解了一下關於初始化文件的一些內容,看了這一章幫我理順了很多東西。我用的是bash,所以下面都是用我自己的bash shell舉例子的。

           在我的home目錄下有三個文件: .bashrc     .bash_profile       .bash_logout , 分別爲環境文件,登陸文件和註銷文件。環境文件和登陸文件都是初始化文件,登陸文件存放着所有希望在每次登陸時自動執行的命令,而環境文件存放着每次啓動一個新shell時都會自動執行的命令。註銷文件就是存放着註銷時自動運行的命令。這麼說可能有點抽象,下面會說的具體一些。

          不管是初始化文件還是註銷文件都是存在於自己的home目錄下,但是用ls命令是看不到這些文件的,這些文件都是點開頭的文件,默認是隱藏的,需要用命令ls -a才能看到這些文件,或許還有別的配置文件比如.vimrc這個文件可以配置vim的一些功能。如果沒有這個文件,也可以自己來創建這個文件。或者是去網上下載大神的配置文件,這樣的話你的vim會變得比較智能,比如自動補全,自動縮進等功能。可以注意到環境文件一般都是以字符串rc結尾的,比如.bashrc  .vimrc . exrc等等。rc是"run commands(運行命令)"的縮寫。

          初始化文件和註銷文件很容易區分,但是登陸文件和環境文件就不容易區分,其實我到現在還是對於這兩者有一點模糊,有些命令不知道到底應該放在哪個文件下面。最好的方法就是試試看,如果放在一個文件下面沒有作用,那麼就換一個文件試試看。在說這個之前首先我們要區分一下登陸shell和非登陸shell,顧名思義登陸shell就是啓動之前需要的登陸的,比如按下alt + alt + f3 會進入到一個虛擬控制檯,讓你登陸shell。或者是用遠程命令ssh連接遠程主機的時候都需要登陸(我還從來沒有用過ssh,以後需要了再學吧)。而非登陸shell就是,我們平時的開啓一個普通的終端,並不需要我們登陸的shell。那麼登陸文件和環境文件的區別就是

1.登陸shell會執行登陸文件和環境文件

2.非登陸shell只執行環境文件

        雖然這麼說,但是bash比較特殊,bash的登陸shell只執行登陸文件,而不執行環境文件。如果需要他執行環境文件的話需要在登陸文件中加上一條特殊的命令。

<span style="font-size:14px;">if [ -f ${HOME}/ .bashrc ]
  then source ${HOME}/ .bashrc
fi                                     //這裏的意思是查看.bashrc的文件是否存在,如果存在就運行這個文件</span>

        書上推薦登陸文件中應該包含

1.創建或者修改環境變量的命令 (書上說環境變量只能在登陸文件中修改,但是我在環境文件中修改貌似也生效了)

2.執行所有一次性的命令             (我不太理解這個)

        環境文件中則存放一些不能在環境中保存的自定義項,特別是shell選項,別名和函數。


這一章有一部分的內容是在介紹別的shell的配置文件,但是因爲我用的是bash,而且我認爲在我熟悉這個shell之前是不會去嘗試其他shell的,所以這部分的內容我都跳過了。



/*-------------------------------------------Mon Dec 2----------------------------------------*/

&15. 重定向和管道

15.1~15.12:這幾章差不多都是在介紹重定向

       15.1 && 15.2:unix準則:Small is beautiful 或者說 Less is more. 主要是說每個程序都專心完成自己的任務,比如排序程序就專注與排序,不去關心輸出或者輸入。到現在發現有些時候簡單已經無法滿足用戶的需求,比如早些的編輯器雖然簡單,但是遠遠不及vim或者emacs強大,所以現在的設計準則是:除非程序無法更小,否則小的就是完美的。

         15.3:標準輸入,標準輸出和標準錯誤:這裏簡單理解一下,標準輸入就是指鍵盤輸入(或者鼠標,掃描儀輸入等),標準輸出指屏幕(或者打印機之類的),標準錯誤一般是把錯誤信息顯示在屏幕上。

         15.4 && 15.5:重定向標準輸出:有時候我們希望把結果存儲起來,而不是隻是顯示在屏幕上的時候就可以重定向輸出。比如把排序程序sort的結果存在文件result中就用  sort > result      這條命令就可以把sort的結果存儲到result文件中,如果文件不存在那麼他會創建文件,如果文件已經存在,它會覆蓋文件的內容。而有時候你不想覆蓋原來的文件,而是隻想把結果存在原文件的尾部。就用 sort >> result   如果原文件不存在,它會創建這個文件,如果原文件存在,它會把結果存在原文件的尾部。由於第一條命令會把原文件的內容覆蓋了,而且是無法恢復的。所以第一條命令的風險很大。這時候就可以設置環境變量   noclobber   用命令 set -o noclobber  這樣,以後如果 sort > result 原文件result已經存在了的話,就會提示你原文件已經存在。而如果你設置了又想暫時忽略這個環境變量來覆蓋原來的文件就用 sort >| result 這樣就算result存在,也會覆蓋result。 在bash中 noclobber 對 >>沒有作用。

         15.6:重定向輸入:sort的數據不想從鍵盤輸入可以從已經存在文件中輸入。 sort < in 這時候就會從in中輸入sort需要的數據, sort < in > out這樣會從in中輸入測試數據,然後把結果輸出都out

         15.7:bash重定向標準:上面介紹了重定向標準輸入和標準輸出,那標準錯誤怎麼辦呢?這裏首先要介紹一個文件描述符,在unix中有個思想叫萬物皆文件,所以每一個設備都有一個文件描述符,其實就是一個數字標識符比如一個程序可能是從#8號文件中讀取數據的。比如某個程序就是從#8號文件中輸入的,那麼要重定向輸入就要用命令 command 8 < input 這時候就會把輸入重定向到文件input。而unix提供了三個預定義的文件描述符。0代表標準輸入,1代表標準輸出,2代表標準錯誤。當重定向輸入時默認的就是標準輸入,重定向輸出時默認的就是標準輸出,也就是說 sort 0 < input 和 sort < input等價。而要重定向標準錯誤那麼就要用 sort 2 > errors。 也可以直接 sort 0< input   1 > output 2 > errors 這樣把標準輸入重定向到input,標準輸出重定向到output,標準錯誤重定向到errors

<span style="font-size:14px;">總結:因爲我覺得上面的內容比較重要,這裏有必要來一個小節
1.重定向標準輸入: sort < input   == sort 0 < input
2.重定向標準輸出:sort > output == sort 1 > output    //如果output文件不存在那麼會創建文件,如果output文件存在會覆蓋。可以通過設置noclobber使得不會發生覆蓋,設置了noclobber以後可以用sort >| result來暫時忽略
               sort >> output = sort 1 >> output   //如果output文件不存在那麼會創建文件,如果output文件存在,會把數據添加到output文件的尾部。
3.重定向標準錯誤:sort 2 > errors
      可以直接把上面幾個結合起來用 sort 0 < input 1> output 2 > errors 
</span>

         15.8:子shell:這裏涉及的就是子進程和父進程的關係,這裏我覺得有用的東西就是 用小括號標出一條命令那麼這條命令就會在子shell中執行,並且不用等待命令執行完才能輸入下一條命令。比如,當前我在documents的目錄下我需要到 download下面執行一條./a.out的命令。那麼我可以用(cd ~/download/; ./a.out)這樣命令執行完以後我還是在document的目錄下。並且我不需要等待a.out的命令執行結束就可以往下輸入命令。如果生成子shell去執行,那麼必須等待子shell結束了,原來的shell才能繼續輸入命令。

         15.9:Cshell的重定向標準錯誤:正如我上面說的我用的是bash,所以這章我直接條過了,沒有看。

         15.10:組合標準輸出和錯誤輸出:現在考慮一個問題,如果想把標準輸出和標準錯誤重定向到同一個文件裏面該怎麼辦呢?直接 sort 1 > out 2 > out這樣行麼?這個我沒試過,今天沒時間,有時間了再去試試看,要是有人嘗試過,可以留言和我說一下。不過我覺得可能不行,第二次重定向可能會把第一個的out覆蓋掉(猜測)。那麼怎麼做呢? sort 1>out 2>&1 就是用&然後後面跟文件標識。如果是想把內容添加到文件的尾部,那麼就用sort >> out 2 > &1(書上是這麼寫的,但是我很奇怪,第二個不用>>麼),這個也有待實驗考證。書上還介紹了一個簡便的方法就是用一句話來完成 sort &> out 或者是 sor>& out這樣,標準輸出和標準錯誤都同時被重定向到out這個文件裏。如果是追加輸出的話不能用sort &>> out 或者 sort >>& out還是得老老實實地做。

          15.11:拋棄輸出:有時候希望運行一個程序,但是並不關心它的標準輸出或者標準錯誤該怎麼做呢?那麼就把他們重定向到一個特殊的文件 /dev/null (位桶),一切發給位桶的東西都會永遠消失。比如sort > /dev/null .

          15.12:這個小節把前面幾個小節的內容總結了一下,做了一些實驗,我就不介紹了。自己用ls sort之類的命令做一下實驗把。

&16.過濾器:簡介和基本操作

16.1-16.4

 簡單介紹了命令的長選項和短選項。一般我們用得比較多的都是短選項,而最常用的長選項應該就是--help。然後介紹了過濾器的概念,看下面的例子:

<span style="font-size:14px;">cat new old extra | grep Harley | sort | less</span>

在這個管道線中,提取了三個文件new, old 和 extra 中所有包含Harley的行,然後進行排序,最後通過less每次一屏地輸出。一個程序如果能夠在官道線中使用(不包括第一個和最後一個),我們稱它爲過濾器。精確地說,過濾器就是任何能夠從標準輸入讀取文本數據並向標準輸出寫入文本數據(每次一行)的程序。這裏值得注意的一個地方是,管道線中的第一個和最後一個程序不必是過濾器。例如上面的less就不是過濾器。

然後,後面巴拉巴拉說了一堆。主要就是告訴你,過濾器很強大的,讓你好好學習過濾器。真正牛逼的人都是怎麼樣之類的……

16.5 可能最簡單的過濾器 :cat

cat就是最簡單的過濾器,沒有可能這麼一說。因爲它做的就是每次一行從標準輸入讀取數據,然後寫到標準輸出。它沒有中間的處理過程,因此它就是最簡單的過濾器,沒有之一。一般我們用得最多的就是cat 後面跟一個小文件的名字,這樣可以查看這個文件的內容。但是這個文件不能太大,文件內容超出一面的話上面的內容是無法看到的。其實,cat最簡單的用法是後面什麼都不跟,就輸入一個cat。它會從鍵盤讀入字符(一行爲單位,直到遇到回車),然後輸出到屏幕上。Ctrl-D則停止輸入。cat也可以用來將一個文件複製到另一個文件中

<span style="font-size:14px;">cat file1 > file2</span>

這條命令會把file1中的內容複製到file2中。如果file2不存在,那麼會新建這個文件。如果file2本身就是存在的,那麼file2會被覆蓋。


16.5 增強過濾器的功能

還是cat命令,標準的cat 命令應該是從標準輸入中讀取數據的,也就是鍵盤輸入.那麼,如果我們需要它從文件讀取數據就該使用重定向

cat < data
但是,我們平時都不是這麼用的,我們往往會省略中間的那個符號,直接在cat後面跟我們需要顯示的文件名. 看上去這只是一個很小的改變,但是,這一點改變就使得cat程序變得更加複雜。不僅僅如此,我們甚至可以在cat後面跟多個文件,看下面三個命令:

cat name address phone
cat name address phone > info
cat name address phone | sort
第一個會把三個文件的內容一行一行地輸出到屏幕上。第二個則是可以看成把三個文件組合起來並寫入到info文件中。最後一個則是將數據通過管道傳遞給sort程序做進一步的處理。這樣,如果一個過濾器需要對多個文件進行操作的時候就不用考慮怎麼從多個文件中讀取數據,而是直接使用cat就行了。當然,其它很多過濾器包括sort都是支持從多個文件中讀取輸入的。

這一章,稍微更改了一下過濾器的定義。無論是從標準輸入還是從文件中讀取數據,經過處理後,寫到標準輸出的就是過濾器。

16.6 最有用的過濾器列表

這一章主要就是列了一張表,裏面是常用的一些過濾器,有需要是翻閱一下就行了。接下去會詳細地介紹一些過濾器。






      

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章