Linux 文本處理(1) (查看文件內容)(cat、more、less、tail、head)

前言

工作上常需要查看文件的內容,在windows 系統上有圖形介面,點兩下文件就可以打開文件,在終端機介面也有類似功能,例如使用vi編輯器打開文件,除此之外linux還內置了許多命令,可以將文件內容直接顯示在螢幕上,或是作一些進階的操作,如關鍵字搜索等等,本文將記錄一些工作上非常實用的文本命令,建議一定要學起來,會大幅增加工作效率。

cat (直接將文件內容打印在終端機上)

可以直接將文件內容打印在終端機上

1
cat 文件名

文件內容很少時滿好用的,但內容一多可能會超過一整個螢幕不太好閱讀,這時就需要下面more、less的指令了

more (一次只顯示一個畫面的內容)

一次只顯示一個畫面的內容,可以翻頁,在左下角還會顯示目前閱讀進度的%數

1
more 文件名 # 使用後會進入交互模式

在交互模式下可以用以下按鍵來操作

  • space(空白鍵):往下一頁
  • Enter:往下一行
  • b:往上一頁
  • q:退出交互模式

less (一次只顯示一個畫面的內容,more進階版)

一次只顯示一個畫面的內容,為more 指令的進階版,基本上可以完全取代more指令,可做到更多的操作,如搜尋關鍵字

  • 開啟文件,會進入交互模式

    1
    less 文件名
  • 往下一頁、往上一頁:

    • 往下一頁:使用空白鍵。
    • 往上一頁:使用 b
  • 往下一行、往上一行:(也可以使用方向上下鍵)

    • 往下一行:使用 j
    • 往上一行:使用 k
  • 退出

    • q
  • 到文件開頭、文件結尾

    • 跳轉到檔案開頭:使用 g
    • 跳轉到檔案結尾:使用 G
  • 搜尋文字:

    • 向下搜尋:按 / 鍵,然後輸入要搜尋的文字,按 Enter 鍵開始搜尋

    • 向上搜尋:按 ? 鍵,然後輸入要搜尋的文字,按 Enter 鍵開始搜尋

      1
      /關鍵字 # 輸入Enter後就會跳到關鍵字該行
    • 繼續搜尋下一個匹配項目:按 n

    • 返回到前一個匹配項目:按 N

tail (查看文件末尾的內容)

查看文件末尾的內容,換句話說就是最近幾筆的資料

顯示文件的末尾內容(預設為10行)

  • 指令
    1
    tail 文件名稱

顯示指定行數(-行數)

  • 指令
    1
    tail -要顯示幾行 文件名稱
  • 從access.log檔找到最近10筆出現”status: 502”的時間
    1
    grep -C4 "status: 502" access.log | tail -10

即時監控檔案:(-f) !!!必記!!!

  • 指令
    1
    tail -f 文件名稱

從第幾行開始顯示全部內容 (-n +行數)

  • 指令

    1
    tail -n +第幾行開始 文件名稱
  • 從第10行開始顯示之後的全部內容

    1
    tail -n +10 文件名稱

head (查看文件開頭的內容)

查看文件開頭的內容,換句話說就是最早幾筆資料,例如配合grep查看今日日誌中 http 502 最早出現的時間

顯示文件的開頭內容(預設為10行)

  • 指令
    1
    head 文件名稱

顯示指定行數(-行數)

  • 顯示指定行數

    1
    head -要顯示幾行 文件名稱
  • 顯示access.log最早出現”status: 502”的30筆

    1
    grep "status: 502" access.log | head -30

Linux 文本處理(1) (查看文件內容)(cat、more、less、tail、head)
https://austin72905.github.io/2023/08/26/linux-text-processing/
作者
Austin Lin
發布於
2023年8月26日
許可協議