一、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:未完待續.....