亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

查看文件內容

前面小節介紹了文件和目錄相關的操作,本小節介紹如何使用 file、cat、more、tail 命令在不同場景下去查看文件相關信息和內容。

1. file 查看文件類型

file 命令可以用來查看文件類型,還能查看文件的編碼格式,下面列舉一些 file 命令的參數:

file 命令參數名稱 功能與作用描述
-b 表示 --brief,顯示查看結果時,不顯示文件名
-c 表示 --checking-printout,顯示指令執行過程
-f 表示 --files-from FILE,列出文件中文件名的文件類型
-F 表示 --separator STRING,使用指定符號替換輸出文件名后的默認的
-i 輸出 mime 類型的字符串
-L 表示 --dereference,查看對應軟鏈接對應文件的文件類型
-z 表示 --uncompress,嘗試查看壓縮文件信息

1.1 查看文件類型

這里還是以 /home 目錄里面的文件為例,命令如下:

cd /home

ls

file a.txt

file new_dir

cd study/

file alltxt.tar

file alltxt.tar.gz

file alltxt.tar.bz2

file alltxt.tar.Z

執行結果如下圖:

圖片描述

Tips:如圖所示,使用 file 命令可以看到文件的編碼、文件類型。

1.2 查看文件時不顯示文件名稱

file 命令后面跟上一個 -b 參數重復一次上面的流程,命令如下:

cd /home

ls

file -b a.txt

file -b new_dir

cd study/

file -b alltxt.tar

file -b alltxt.tar.gz

file -b alltxt.tar.bz2

file -b alltxt.tar.Z

執行結果如下圖:

圖片描述

Tips:如圖所示使用 -b 參數查看的文件信息時沒有打印出文件名。

1.3 查看壓縮包信息

進入到 /home/study,使用 -z 參數去查看壓縮包信息,命令如下:

cd /home/study

ls

file -z alltxt.tar.gz

file -z alltxt.tar.bz2

file -z alltxt.tar.Z

執行結果如下圖:

圖片描述

Tips:如圖所示,展示了壓縮包相關的信息。

2. cat 查看文件內容

cat 命令可以用來查看文件內容,下面列舉一些 cat 命令的參數:

cat 命令參數名稱 功能與作用描述
-A 表示 --show-all,展示所有內容
-b 表示 --number-nonblank,對查看的內容的非空行,對其行數編號
-n 表示 --number,對查看的內容行數編號輸出
-v 表示 --show-nonprinting,使用^ 和M- 引用,除了LFD和 TAB 之外
-E 表示 --show-ends,在每行的最后展示KaTeX parse error: Expected 'EOF', got '符' at position 1: 符?號;就是無論你輸入了什么,屏幕…符號結尾
-e -vE
-s 表示 --squeeze-blank,抑制空行輸入,就是如果你有多行連續的空行,他會壓縮成一行輸出
-T 表示 --show-tabs,將跳格字符顯示為^I
-t -VT

2.1 查看文件所有內容

這里以之前小節配置過的 /etc/sysconfig/network-scripts/ifcfg-ens160 文件為例,使用如下命令查看其中的內容:

cd /etc/sysconfig/network-scripts

ls

cat ifcfg-ens160

執行結果如下圖:

圖片描述

Tips:在輸入路徑或者文件名稱的時候可以使用 Tab 鍵來補全。

2.2 對查看內容編排

命令如下:

cat -b ifcfg-ens160

cat -n ifcfg-ens160

執行結果如下圖:

圖片描述

Tips-b 表示排除掉空行的內容,然后對其輸出編號,會后會補上一行空行展示出來。

3. more 命令查看文件內容

more 命令也用來查看文件內容,下面列舉一些 more 命令的參數:

more 命令參數名稱 功能與作用描述
+n 從第 n 行開始顯示
-n 定義屏幕大小為 n 行
+/pattern 在每個檔案顯示前搜尋該字串 pattern,然后從該字串前兩行之后開始顯示
-c 從頂部清屏,然后顯示
-d 提示 Press space to continue,'q' to quit(按空格鍵繼續,按q鍵退出),而禁用響鈴功能
-l 忽略 Ctrl+l(換頁) 字符
-p 通過清除窗口而不是滾屏來對文件進行換頁,與 -c 選項相似
-s 把連續的多個空行顯示為一行
-u 把文件內容中的下畫線去掉

這里以查看 /etc/mtools.conf 文件內容為例,命令如下:

cd /etc

more mtools.conf

執行結果如下圖:

圖片描述

Tips : 如圖中所示,可以按空格鍵繼續瀏覽剩下內容,也可以按 q 鍵結束瀏覽。

4. tail 命令查看文件內容

tail 命令也用來查看文件內容,下面列舉一些 tail 命令的參數:

tail 命令參數名稱 功能與作用描述
-f 表示 --follow[={name|descriptor}],該參數用于監聽文件新增內容。
-c 表示 --bytes=[+]NUM,從 num 字節位置讀取指定文件
-n 表示 --lines=[+]NUM,從 num 行位置讀取指定文件。
-F -f
-q 表示 --quiet,從不輸出給出文件名的首部
-s 表示 --sleep-interval=N,與-f合用,表示在每次反復的間隔休眠S秒

4.1 查看文件最后幾行內容

/etc/mtools.conf 文件為例,如要查看最后 5 行內容,命令如下:

cd /etc

tail -5 mtools.conf

執行結果如下圖:

圖片描述

Tips:使用如圖所示的命令可以查看 mtools.conf 文件的最后 5 行內容。

4.2 查看指定行數的內容

/etc/mtools.conf 文件為例,如要從第 45 行開始顯示內容,命令如下:

tail -n +45 mtools.conf

執行結果如下圖:

圖片描述

Tips:使用如圖所示的命令可以查看 mtools.conf 文件的第 45 行開始的內容。

4.3 監聽日志文件

在實際工作中,經常會使用 -f 去監聽日志新增內容,達到開發者調試的目的,這里為了演示方便,需要打開之前安裝過的 MobaXterm,按照之前第 7 小節的步驟,打開兩個登錄窗口,示例如下:

圖片描述

首先進入 /home 目錄,新建一個日志文件 access.log,命令如下:

cd /home

ls

touch access.log

執行結果如下圖:

圖片描述

接下來使用 tail 命令跟上 -f 參數對 access.log 日志文件監聽,命令如下:

tail -f access.log

執行結果如下圖:

圖片描述

接下來在新打開的窗口中,進入 /home 目錄,向 access.log 文件寫入內容:

cd /home

echo "這是第一條測試內容(time=2020-05-05 18:00)" >> access.log

echo "這是第二條測試內容(time=2020-05-05 19:00)" >> access.log

echo "這是第三條測試內容(time=2020-05-05 20:00)" >> access.log

執行結果如下圖:

圖片描述

Tips:這種監聽日志的方法經常用在后端程序開發調試工作中。

此時模擬日志數據輸入完成,接著打開原來的監聽窗口,如下圖所示:

圖片描述

5.小結

本小節介紹了如何使用 file、cat、moretail 去查看文件內容,讀者根據不同場景來選擇合適的命令查看文件內容,其中 tail -f 命令經常用于后端開發日志監聽,來調試代碼的作用,也能幫助快速捕捉到程序異常,提升修復問題的效率。