Linux 的 cat 命令各種用法
阿新 • • 發佈:2018-12-26
一、最簡單的用法。只檢視檔案內容:
:~# cat a.txt
aaaaaaaaa
bbbbbbbbccc
ddd
ccee
ee
root@abb:~#
二、查詢檔案中的內容
:~# cat a.txt | grep cc
bbbbbbbbccc
ccee
三、利用cat建立檔案
如果原來沒有 b.txt 檔案。那麼:
:~# cat >b.txt <<EOF
> EOF
輸入第一行後,輸入EOF,回車,就可以生成一個 b.txt 檔案。其中EOF是告訴 bash 哪個符號代表檔案結束。當然你也可以使用自己習慣的符號。
四、利用cat清空檔案內容
如果 c.txt 檔案有很多內容,而你想要清空的話,同樣可以使用上面提到的命令形式:
:~# cat >c.txt <<EOF
> EOF
五、利用cat向檔案中寫入內容,並覆蓋以前的內容。
下面程式碼的步驟是這樣的:先檢視到 c.txt 沒有內容,就向 c.txt 檔案裡寫入內容,然後又寫入新內容覆蓋掉。
:~# cat c.txt
:~# cat >c.txt <<EOF
> 1111111
> 2222222
> EOF
:~# cat c.txt
1111111
2222222
:~# cat >c.txt <<EOF
> 33333333
> EOF
:~# cat c.txt
33333333
:~#
六、用 cat 命令向檔案中寫入內容的時候,對於 $ 符號的處理。
有些時候可能會利用cat命令生成一些 Shell 指令碼檔案。這個時候如果直接寫
:~# cat >d.sh <<EOF
> DATE=$(date +%Y%m%d)
> mkdir /root/$DATE
> EOF
那麼 $ 符號並沒有輸入到檔案中。檔案內容會變成如下的樣子
:~# cat d.sh
DATE=20161006
mkdir /root/
那麼如果我們要把
~# cat >d.sh <<EOF
> DATE=\$(date +%Y%m%d)
> mkdir /root/\$DATE
> EOF
這樣把 $ 轉義,就可以得到正常的檔案內容了:
:~# cat d.sh
DATE=$(date +%Y%m%d)
mkdir /root/$DATE
七、向檔案的尾部寫入內容。
與寫入新內容覆蓋原始檔相似。只是把原來的 > 換成 >> 即可。
可以像下面這樣在檔案尾部加入文字內容。
:~# cat >>a.txt <<EOF
> 11111
> 222222