萬盛學電腦網

您现在的位置: 萬盛學電腦網 >> 作業系統 >  >> Linux 教學

Linux cat 命令完整指南:顯示、合併、建立檔案與進階技巧

cat (concatenate) 是最基礎的檔案讀取工具,支援顯示內容、合併多檔、從標準輸入建立檔案、顯示不可見字元、行號標記等功能。本文系統整理參數、三大核心用法、Here Document 技巧與反向輸出 tac。

cat 命令示意圖

三大核心功能

  1. 顯示整個檔案:cat filename
  2. 從鍵盤建立檔案:cat > filename (輸入內容,Ctrl+D 結束)
  3. 合併多檔:cat file1 file2 > file3

常用參數

實戰範例

範例檔案

# log2012.log
2012-01
2012-02
=======

# log2013.log
2013-01
2013-02
2013-03
=======

1. 合併並編號輸出到新檔

cat -n log2012.log log2013.log > log_all.log

2. 非空行編號並附加到既有檔

cat -b log2012.log log2013.log >> log.log

3. 重導向建立檔案

cat -n log2012.log > log.log

4. Here Document 建立含變數展開的檔案

cat > log.txt <

注意: < 會展開變數,<<'EOF' 則不展開。

5. 顯示不可見字元

cat -A /etc/passwd
# 輸出範例: root:x:0:0:root:/root:/bin/bash$

反向輸出:tac

tac log.txt
# 從最後一行輸出到第一行

進階技巧

  • 大檔案分頁閱讀:cat large.log | less 或直接 less large.log
  • 二進位檔案檢視:cat -v binary_file | head 避免終端機亂碼
  • 合併並去重:cat file1 file2 | sort -u > merged
  • 行號加上檔名前綴:cat -n file1 file2 | sed 's/^/[FILE] /'

小結

cat 是文字處理的起點。熟練運用 -n/-b/-s/-A 搭配重導向、管線、Here Document,可完成檔案檢視、合併、建立、格式化等日常 80% 操作。大檔案請改用 less/head/tail 避免記憶體壓力。

copyright © 萬盛學電腦網 all rights reserved
參數長參數說明
-n--number所有行編號 (含空行)
-b--number-nonblank非空行編號
-s--squeeze-blank連續空行壓縮為單一空行
-E--show-ends行尾顯示 $
-T--show-tabsTab 顯示為 ^I
-v--show-nonprinting控制字元顯示為 ^M 等
-A--show-all等同 -vET