Shell學習筆記...未完待續...

一、cat的用法總結:

cat是一個簡單而通用的命令,用來顯示內容,創建文件,還可以用來顯示控制字符;但是在使用cat是請注意,它不會在文件分頁符處停下來,它會一下顯示完整個文件。

如果希望每次顯示一頁,可以使用more或者cat命令的輸出通過管道傳遞到另外一個具有分頁功能的命令中:

     cat myfile | more

或者是:

     cat myfile | pg

cat的一般命令形式是

     cat [options] filename1 ... filename2 ...

cat的最有用常見命令是:

-v 顯示控制字符;

如果希望可以顯示名爲myfile的文件,可以用:

     cat myfile

那麼希望可以顯示多個文件,那麼可以用 :

     cat myfile1 myfile2 myfile3 ...

那麼假如希望將多個文件中的內容全部輸入到另外一個文件中,那麼就需要使用重定向:

     cat myfile1 myfile2 myfile3 > bigfile

cat還有一中比較好玩的方式,就是如果你想要去使用一個簡單的文字編輯器,那麼直接如下命令:

    cat >filename

PS:如果想退出,直接Crtl+Z即可;

二、管道

管道的定義:可以通過管道把一個命令的輸出傳遞給另一個命令作爲輸入。管道用豎槓“|”表示。

它的一般形式是:

    命令1 | 命令2

命令1的輸出作爲命令2的輸入,就像一個管道一樣,左邊部分的出口是右邊部分的入口,如下圖:

     ls | grep quarter1.doc


sed、awk和grep都很適合用管道,特別是在簡單的一行命令中。

接下來使用awk作爲例子:

    who | awk '{print $1"\t"$2}'

如果你希望列出系統中所有的文件系統,可以使用管道把df命令的輸出傳遞給awk命令,awk命令顯示出其中的第一列。

你還可以再次使用管道把awk的結果傳遞給grep命令,去掉最上面的filesystem。

    $ df -k | awk '{print $1}' | grep -v "filesystem"

    /dev/sda2
    /dev/sda3

如果你還希望將前面的額“/dev/”去掉,那麼在最後再次加入一個管道,並使用sed命令:

    df -k | awk '{print $1}' | grep -v "Filesystem" | sed "s/\/dev\///g"

    sda2
    sda3

三、tee命令

tee命令作用可以用字母T來形象的表示。它把輸出的一個副本書送到標準輸出,另一個副本拷貝到相應的文件中。

如果希望在看到輸出的同時,也將其存入另一個文件,那麼這個命令再適合不過了。

它的一般形式是:

     tee -a filenames

其中,-a表示追加到文件末尾

例如:我們將who的命令結果,輸出到終端屏幕上,同時保存到文件who.out:

    who | tee who.out

使用圖來表示這個例子就是:


我們還可以使用-a來將不同的命令使用同一個日誌文件:

    echo "test" | tee -a who.out

    echo "test2" | tee -a who.out

    test
    test2


    

PS:未完待續.....


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