每天五分鐘linux(10) cat

2021-09-20 05:52:36 字數 3004 閱讀 5931

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 ...