003Linux查看文件內容的5個命令姿勢


01 開篇

Linux 中查看文件內容常用的有如下 5 個命令:

  1. cat;
  2. more;
  3. less;
  4. tail;
  5. head。

02依次看看這些命令的使用姿勢

cat

  1. 一次性將所有內容輸出到屏幕上,方便查看,適用於於文件內容較少時使用。
  2. 合並文件,與輸出符 ">" 一起使用,輸出到新文件中。
  3. 與管道符“|”一起來用,用來作為管道符的輸入內容。eg:cat  service.log |grep "ERROR"  #從 service.log 中查找 "ERROR" 輸出。

cat 命令常用格式示例:

  • cat [文件名] # 輸出文件所有內容到屏幕上。
  • cat [文件1] [文件2] # 輸出文件1、文件2所有內容到屏幕上。
  • cat [文件1] [文件2] > [文件3] # 將文件1、文件2合並,輸出到文件3中,如果沒有文件3會自動生成一個新的文件3。
  • cat -n [文件名] # 輸出文件內容時加上行號。
  • cat -A [文件名] # 輸出文件內容時顯示所有隱藏字符。

more 和 less

  1. more 可現實文件的百分比,一般從頭查看文件用它。
  2. less 可以隨意瀏覽文件,而 more 僅能向前移動,卻不能向后移動,而且 less 在查看之前不會加載整個文件。如果文件很大,如幾百MB或上G,用 less 效率高。less 比 more 更強大,還具備便捷的查找功能。

more 命令常用格式示例:

  • more [文件名] #打開文件。
  • more -f [文件名] # 加參數-f,計算行數時,以實際上的行數,而非自動換行過后的行數(有些單行字數太長的會被擴展為兩行或兩行以上)。
  • more +[num] [文件名] # 查看指定行號以后的內容 ,eg: more +20 info.log。
  • more -[num] [文件名] # 查看指定行號以前的內容,eg: more -20 info.log。

more 命令常用的快捷鍵:

  1. 空格鍵 # 向下滾動一屏,很便捷
  2. b # 向上滾動一屏
  3. = # 查看當前行號
  4. :f # 輸出當前文件名及行號
  5. q # 退出 more 命令, [ctrl + c] 也可以退出

less 命令常用格式示例:

  • less [文件名] # 基本查看命令
  • less -m [文件名] # 類似 more 命令,顯示百分比
  • less -N [文件名] # 顯示行號

less 命令常用的快捷鍵及查找字符功能:

  • less 和more有相同的快捷鍵,只是不能用ctrl + c退出,用 q 快捷鍵退出。
  • 此外less 可以使用vim編輯器(ps:后面講vim時會詳細說)的查找命令。先 less [文件名] ,接着輸入查找符號(/ 或 ?)及查找  字符,按 Enter 鍵后,配合n建即可查找。
  • /[查找字符] # 配合n鍵,從上往下查所有。
  • ?[查找字符] # 配合n鍵,從下往上查所有。

tail 和 head

  1. tail 顧名思義是尾巴,從文件尾部顯示文件內容,默認顯示文件最后10行。
  2. head 是從開頭顯示文件內容,一般用法為 head -n [文件名],用法與 tail 差不多。

tail 命令的常用姿勢:

  • tail 一般用來查看實時日志使用,顯示文件最新追加的內容,如線上服務的日志文件會不斷的有內容追加,tail 命令就非常好用。
  • tail -f info.log # 不停地追加顯示 info.log 文件的最后10行 ,查看實時日志時非常常用的命令。
  • tail -f n info.log # 加上n參數,不停地追加顯示 info.log 文件的最后 n 行。eg: tail -f 20 info.log 。
  • tail -n  10  info.log # 查詢日志尾部最后10行的日志。
  • tail -n +10 info.log # 查詢10行之后的所有日志。

命令使用應用場景案例

應用場景一:按行號查看過濾出關鍵字附近的日志

  • cat -n info.log |grep "debug" # 得到關鍵日志的行號
  • cat -n info.log |tail -n +92|head -n 20  # 選擇關鍵字所在的中間一行, 然后查看這個關鍵字前10行和后10行的日志。
  • tail -n +92 # 表示查詢92行之后的日志;
  • head -n 20 # 則表示在前面的查詢結果里再查前 20 條記錄;

應用場景二:日志內容特別多,打印在屏幕上不方便查看

  1. 使用 more 和 less 命令
  • cat -n info.log |grep "debug" |more # 這樣就分頁打印了,通過點擊空格鍵翻頁
  1. 使用 > xxx.txt 將其保存到文件中,到時可以下載這個文件分析
  • cat -n info.log |grep "debug"  > debug.txt

03 小結

  1. 鍋鍋在這篇總結了查看文件內容的5個命令 cat、 more與less、tail與head。
  2. cat 命令除了查看文件還可以用來合並文件。
  3. less 命令使用起來靈活,也可以配合查找字符串。
  4. tail 命令在工作實踐中查看實時日志非常常用,在實際生產過程中,tail -f n [fileName] 來顯示日志內容;在看到相應的關鍵日志時,可以使用ctrl + s停止日志滾動,恢復日志使用ctrl + q。
  5. 各位小主,今天鍋鍋就比比到這里,下期再會( _ )。

「不甩鍋的碼農」原創,轉載請注明來源,未經授權禁止商業用途!同名 GZH 請關注!


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM