查看文件內容
前面小節介紹了文件和目錄相關的操作,本小節介紹如何使用 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、more、tail 去查看文件內容,讀者根據不同場景來選擇合適的命令查看文件內容,其中 tail -f 命令經常用于后端開發日志監聽,來調試代碼的作用,也能幫助快速捕捉到程序異常,提升修復問題的效率。
愛因詩賢 ·
2025 imooc.com All Rights Reserved |