cat命令


cat命令的用途是連線檔案或標準輸入並列印。這個命令常用來顯示檔案內容,或者將幾個檔案連線起來顯示,或者從標準輸入讀取內容並顯示,它常與重定向符號配合使用。

1.命令格式

cat [選項] [檔案]…

2.命令功能

cat主要有三大功能:

  1. 一次顯示整個檔案:cat filename
  2. 從鍵盤建立一個檔案:cat > filename 只能建立新檔案,不能編輯已有檔案.
  3. 將幾個檔案合併為一個檔案:cat file1 file2 > file
    命令引數:
    • -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- 參照,除了 LFDTAB 之外

4.使用範例

範例一

mylog1.log 的檔案內容加上行號後輸入 mylog2.log 這個檔案裡。
命令:

cat -n mylog1.log mylog2.log

輸出:

[yiibai@localhost test]$ cat mylog1.log
this is line 1
this is line 2
[yiibai@localhost test]$ cat mylog2.log
log2 this is line 1
log2 this is line 2
log2 this is line 3
[yiibai@localhost test]$ cat -n mylog1.log mylog2.log
     1  this is line 1
     2  this is line 2
     3  log2 this is line 1
     4  log2 this is line 2
     5  log2 this is line 3
[yiibai@localhost test]$

範例二

mylog1.logmylog2.log 的檔案內容加上行號(空白行不加)之後將內容附加到 log.log 裡。
命令:

cat -b mylog1.log mylog2.log log.log

輸出:

yiibai@localhost test]$ cat -b mylog1.log mylog2.log >> log.log
[yiibai@localhost test]$ cat log.log
     1  this is line 1
     2  this is line 2
     3  log2 this is line 1
     4  log2 this is line 2
     5  log2 this is line 3
[yiibai@localhost test]$

範例三

使用here doc來生成檔案

[yiibai@localhost test]$ cat >log.txt <<EOF
> Hello
> World
> Linux command
> PWD=$(pwd)
> EOF
[yiibai@localhost test]$ ls -l log.txt
-rw-rw-r--. 1 yiibai yiibai 49 Feb 13 03:20 log.txt
[yiibai@localhost test]$ cat log.txt
Hello
World
Linux command
PWD=/home/yiibai/test
[yiibai@localhost test]$