Linux中查看文件的最後幾行 背景 當我們需要查看某個很大的文件時,查看全部內容會非常耗時,還會因為文件過大,查看起來非常的不方便,下麵我們介紹一下Linux的幾種文件查看方式 查看 catalina.out 文件後100行 tail -n 100 catalina.out 查看文件命令 cat ...
Linux中查看文件的最後幾行
背景
當我們需要查看某個很大的文件時,查看全部內容會非常耗時,還會因為文件過大,查看起來非常的不方便,下麵我們介紹一下Linux的幾種文件查看方式
查看 catalina.out 文件後100行
tail -n 100 catalina.out
查看文件命令
cat & tac
cat 命令為從首行顯示到尾行,一次展示文件全部內容,當文件比較大時,來不及看就翻屏過了。tac效果與cat相似,是從尾行顯示到首行;
cat
cat 是 concatenate(連接、連續)的簡寫。
cat file1 file2 > file3 --將文件file1 和 file2 的內容合併到 file3
-
Usage:
cat [OPTION]... [FILE]...
-
Options:
key value -n, --number 顯示行號;輸出所有行的數量 -b, --number-nonblank 顯示非空行號;非空的輸出行數,覆蓋-n -s, -squeeze-blank 抑制重覆的空行輸出(連續重覆的空行顯示為一行) -E, --show-ends 在每一行的末尾顯示$。 -T, --show-tabs 顯示TAB字元為^I -A, --show-all 相當於-vET,用於列出所有隱藏符號,包括回車符($)、Tab 鍵(^I)等 -e 相當於 -vE -t 相當於 -vT -u 忽略 --v, --show-nonprinting 使用^和M-符號,LFD和TAB除外 --help 顯示此幫助並退出 --version 輸出版本信息並退出 Tips:cat 命令用於查看文件內容時,不論文件內容有多少,都會一次性顯示。如果文件非常大,那麼文件開頭的內容就看不到了。不過 Linux 可以使用PgUp+上箭頭組合鍵向上翻頁,但是這種翻頁是有極限的,如果文件足夠長,那麼還是無法看全文件的內容。因此,cat 命令適合查看不太大的文件。
tac
-
Usage:
tac [OPTION]... [FILE]...
-
Options:
key value -b, --before 將分隔符放在前面而不是後面 -r, --regex 將分隔符解釋為一個正則表達式 -s, --separator=STRING 使用 STRING 作為分隔符而不是換行符 --help 顯示此幫助並退出 --version 輸出版本信息並退出
tail & head
tail 命令顯示文件結尾內容,預設顯示文件最後
10
行; head 命令顯示文件開頭內容,預設顯示文件開頭10
行;
-
tail Usage:
tail [OPTION]... [FILE]...
-
haad Usage:
head [OPTION]... [FILE]...
-
Options:
key tail head -c, --bytes=[+]NUM 輸出最後的 NUM個位元組; +NUM
,從 NUM個位元組開始輸出列印開頭的 NUM位元組; -NUM
,列印文件除最後 NUM個位元組的所有內容-n, --lines=[+]NUM 輸出最後的 NUM行; +NUM
,從 NUM行開始輸出列印開頭的 NUM行; -NUM
,列印文件除最後 NUM行的所有內容-f, --follow[={name|descriptor}] 隨著文件的增長,輸出附加的數據;沒有選項參數意味著 "descriptor" X -F 與 --follow=name --retry 相同 X --retry 在文件無法訪問的情況下繼續嘗試打開該文件 X -s, --sleep-interval=N 與-f一起使用,睡眠時間大約為N秒 (預設為1.0)。 至少每隔N秒檢查一次 X --pid=PID 與-f使用,在進程ID、PID死亡後終止 X -q, --quiet, --silent 不輸出文件名的標題(預設) 不列印提供文件名的標題 -v, --verbose 總是輸出文件名的頭文件 總是列印文件名的標題 -z, --zero-terminated 行的分隔符是NUL,不是換行符 行的分隔符是NUL,不是換行符 --help 顯示此幫助並退出 顯示此幫助並退出 --version 輸出版本信息並退出 輸出版本信息並退出
Tips:
tail -num
等價於tail -n num
, head 也一樣;- NUM 可以有一個乘數尾碼:
b 512
,kB 1000
,K 1024
,MB 1000*1000
,M 1024*1024
,
GB 1000*1000*1000
,G 1024*1024*1024
, 以此類推,T
、P
、E
、Z
、Y
。- 也可以使用二進位首碼。
KiB=K
,MiB=M
,以此類推。
more & less
less 與 more命令相似,都是分頁顯示文件全部內容。
more
-
Usage:
more [options] [file]...
-
Options:
key value -d, --silent 顯示幫助而不是響鈴 -f, --logical 計算邏輯而不是屏幕行數 -l, --no-pause 禁止在表格輸入後暫停。 -c, --print-over 不滾動,顯示文本和乾凈的行尾 -p, --clean-print 不滾動,清潔屏幕並顯示文本 -s, --squeeze 將多個空行擠壓成一行 -u, --plain 抑制下劃線和加粗。 -n, --lines [number] 每個屏幕的行數 -[number] 與-lines相同 +[number] 顯示從行號開始的文件 +/[pattern] 顯示從模式匹配開始的文件 -h, --help 顯示此幫助 -V, --version 顯示版本 -
常用交互命令
交互指令 功能 h | ? 交互命令幫助 q | Q 退出 more v 在當前行啟動系統預設文本編輯器 = 顯示當前行的行號 :f 顯示當前文件的文件名和行號 !<命令> 或 :!<命令> 在子Shell中執行指定命令 回車鍵 向下移動一行 空格鍵 向下移動一頁 Ctrl+l 刷新屏幕 ' 轉到上一次搜索開始的地方 Ctrf+f 向下滾動一頁 . 重覆上次輸入的命令 /字元串 搜索指定的字元串 d 向下移動半頁 b 向上移動一頁
less
慄子
-
查看開頭或結尾內容
tail -n 200 catalina.out // 輸出 最後200行內容 tail -n 2b catalina.out // 輸出 最後 2 * 512行內容 head -n 100 catalina.out // 輸出 開頭100行內容 head -n b catalina.out // 輸出 開頭 512行內容
-
排除開頭或結尾內容
tail -n +200 catalina.out // 輸出 開頭200行 以後的內容,即從200行開始列印 head -n -100 catalina.out // 輸出 最後100行 以前的內容, 即列印到最後100行為止
Tips: tail 和 head 都支持乘數尾碼(b, K ,M 等等)
-
查看顯示行號
cat -n catalina.out //顯示所有行號(包括空行) cat -b catalina.out //顯示所有行號(但不包括空行) less -N catalina.out //顯示所有行號(包括空行) nl [-ba] catalina.out //顯示所有行號(包括空行) nl -bt catalina.out //顯示所有行號(但不包括空行)
-
實時查看文件內容
tail -f catalina.out less catalina.out --> F
-
合併文件
cat file1 file2 > file3