cat命令的用途是連線檔案或標準輸入並列印。這個命令常用來顯示檔案內容,或者將幾個檔案連線起來顯示,或者從標準輸入讀取內容並顯示,它常與重定向符號配合使用。
1.命令格式:
cat [選項] [檔案]…
2.命令功能:
cat主要有三大功能:
1.一次顯示整個檔案:cat filename
2.從鍵盤建立乙個檔案:cat > filename 只能建立新檔案,不能編輯已有檔案.
3.將幾個檔案合併為乙個檔案:cat file1 file2 > file
3.命令引數:
-a, –show-all 等價於 -vet
-b, –number-nonblank 對非空輸出行編號
-e 等價於 -ve
-e, –show-ends 在每行結束處顯示 $
-n, –number 對輸出的所有行編號,由1開始對所有輸出的行數編號
-s, –squeeze-blank 有連續兩行以上的空白行,就代換為一行的空白行
-t 與 -vt 等價
-t, –show-tabs 將跳格字元顯示為 ^i
-u (被忽略)
-v, –show-nonprinting 使用 ^ 和 m- 引用,除了 lfd 和 tab 之外
4.使用例項:
4.1 例一:把 log2012.log 的檔案內容加上行號後輸入 log2013.log 這個檔案裡
命令:
cat -n log2012.log log2013.log
輸出:
zgy@nlp ~/test $ cat log2012.log
111111111111
**********==
zgy@nlp ~/test $ cat log2013.log
22222222222222222222
********************
zgy@nlp ~/test $ cat -n log2012.log log2013.log
1 111111111111
2 3
4 **********==
5 22222222222222222222
6 7
8 ********************
zgy@nlp ~/test $
說明:
4.2 例二:把 log2012.log 和 log2013.log 的檔案內容加上行號(空白行不加)之後將內容附加到 log.log 裡
命令:
cat -b log2012.log log2013.log log.log
輸出:
zgy@nlp ~/test $ cat -b log2012.log log2013.log > log.log
zgy@nlp ~/test $ cat log.log
1 111111111111
2 **********==
3 22222222222222222222
4 ********************
zgy@nlp ~/test $
4.3 例三:把 log2012.log 的檔案內容加上行號後輸入 log.log 這個檔案裡
命令:
輸出:
zgy@nlp ~/test $ cat log.log
cat: log.log: no such file or directory
zgy@nlp ~/test $ cat -n log2012.log > log.log
zgy@nlp ~/test $ ls
log2012.log log2013.log log.log test1 test2 test4 test5
zgy@nlp ~/test $ cat log.log
1 111111111111
2 3
4 **********==
zgy@nlp ~/test $ cat -n log.log
1 1 111111111111
2 2
3 3
4 4 **********==
4.4 例四:使用here doc來生成檔案
輸出:
zgy@nlp ~/test $ cat > log.txt > world
> linux
> pwd=$(pwd)
> eof
zgy@nlp ~/test $ ls -l log.txt
-rw-rw-r-- 1 zgy zgy 37 jul 26 15:17 log.txt
zgy@nlp ~/test $ cat log.txt
hello
world
linux
pwd=/home/zgy/test
zgy@nlp ~/test $
說明:
注意粗體部分,here doc可以進行字串替換。
備註:
tac (反向列示)
命令:
tac log.txt
輸出:
zgy@nlp ~/test $ tac log.txt
pwd=/home/zgy/test
linux
world
hello
zgy@nlp ~/test $
說明:
tac 是將 cat 反寫過來,所以他的功能就跟 cat 相反, cat 是由第一行到最後一行連續顯示在螢幕上,而 tac 則是由最後一行到第一行反向在螢幕上顯示出來!
**
每天10分鐘 10 25
1.hadoop一般廣義和狹義分別指什麼 hadoop生態圈,hadoop軟體2.hadoop軟體哪三個組成 hdfs yarn mapreduce3.hdfs偽分布式的程序簡寫分別是什麼?nn,dn,snn4.yarn偽分布的程序簡寫分別是什麼?nm,rm5.nn節點是幹什麼的 記錄資料節點,維護...
每天10分鐘 10 26
1.我們學習的是sqoop1 那麼匯入匯出,是mysql到hive,是匯出嗎 匯入2.sqoop匯入到hive,能夠根據寫sql來導嗎 可以3.hive內部表和外部表什麼區別 內部表刪除的時候元資料和hdfs路徑也將被刪除,外部表只刪除元資料hdfs保留4.什麼是分割槽表 乙個表按照字段分割槽的表,...
每天10分鐘 10 19
1.當前目錄命令是什麼 pwd2.什麼是叫絕對路徑 什麼是相對路徑 絕對路徑是從根目錄下開始的,而相對路徑是從當前目錄開始的3.切換目錄,那麼切換到上一次和上一層目錄命令是什麼 cd cd 4.資料夾建立命令和及聯建立的命令引數 mkdir mkdir p5.說說你們認為建立檔案的 哪些命令 vi ...