01 開(kāi)篇
Linux 中查看文件內(nèi)容常用的有如下 5 個(gè)命令:
- cat赂蠢;
- more;
- less辨泳;
- tail虱岂;
- head。
02依次看看這些命令的使用姿勢(shì)
cat
- 一次性將所有內(nèi)容輸出到屏幕上菠红,方便查看第岖,適用于于文件內(nèi)容較少時(shí)使用。
- 合并文件试溯,與輸出符 ">" 一起使用蔑滓,輸出到新文件中。
- 與管道符“|”一起來(lái)用,用來(lái)作為管道符的輸入內(nèi)容键袱。eg:cat service.log |grep "ERROR" #從 service.log 中查找 "ERROR" 輸出燎窘。
cat 命令常用格式示例:
- cat [文件名] # 輸出文件所有內(nèi)容到屏幕上。
- cat [文件1] [文件2] # 輸出文件1蹄咖、文件2所有內(nèi)容到屏幕上荠耽。
- cat [文件1] [文件2] > [文件3] # 將文件1、文件2合并比藻,輸出到文件3中铝量,如果沒(méi)有文件3會(huì)自動(dòng)生成一個(gè)新的文件3。
- cat -n [文件名] # 輸出文件內(nèi)容時(shí)加上行號(hào)银亲。
- cat -A [文件名] # 輸出文件內(nèi)容時(shí)顯示所有隱藏字符慢叨。
more 和 less
- more 可現(xiàn)實(shí)文件的百分比,一般從頭查看文件用它务蝠。
- less 可以隨意瀏覽文件拍谐,而 more 僅能向前移動(dòng),卻不能向后移動(dòng)馏段,而且 less 在查看之前不會(huì)加載整個(gè)文件轩拨。如果文件很大,如幾百M(fèi)B或上G院喜,用 less 效率高亡蓉。less 比 more 更強(qiáng)大,還具備便捷的查找功能喷舀。
more 命令常用格式示例:
- more [文件名] #打開(kāi)文件砍濒。
- more -f [文件名] # 加參數(shù)-f,計(jì)算行數(shù)時(shí)硫麻,以實(shí)際上的行數(shù)爸邢,而非自動(dòng)換行過(guò)后的行數(shù)(有些單行字?jǐn)?shù)太長(zhǎng)的會(huì)被擴(kuò)展為兩行或兩行以上)。
- more +[num] [文件名] # 查看指定行號(hào)以后的內(nèi)容 拿愧,eg: more +20 info.log杠河。
- more -[num] [文件名] # 查看指定行號(hào)以前的內(nèi)容,eg: more -20 info.log浇辜。
more 命令常用的快捷鍵:
- 空格鍵 # 向下滾動(dòng)一屏券敌,很便捷
- b # 向上滾動(dòng)一屏
- = # 查看當(dāng)前行號(hào)
- :f # 輸出當(dāng)前文件名及行號(hào)
- q # 退出 more 命令, [ctrl + c] 也可以退出
less 命令常用格式示例:
- less [文件名] # 基本查看命令
- less -m [文件名] # 類似 more 命令,顯示百分比
- less -N [文件名] # 顯示行號(hào)
less 命令常用的快捷鍵及查找字符功能:
- less 和more有相同的快捷鍵奢赂,只是不能用ctrl + c退出陪白,用 q 快捷鍵退出颈走。
- 此外less 可以使用vim編輯器(ps:后面講vim時(shí)會(huì)詳細(xì)說(shuō))的查找命令膳灶。先 less [文件名] ,接著輸入查找符號(hào)(/ 或 ?)及查找 字符,按 Enter 鍵后轧钓,配合n建即可查找序厉。
- /[查找字符] # 配合n鍵,從上往下查所有毕箍。
- ?[查找字符] # 配合n鍵弛房,從下往上查所有。
tail 和 head
- tail 顧名思義是尾巴而柑,從文件尾部顯示文件內(nèi)容文捶,默認(rèn)顯示文件最后10行。
- head 是從開(kāi)頭顯示文件內(nèi)容媒咳,一般用法為 head -n [文件名]粹排,用法與 tail 差不多。
tail 命令的常用姿勢(shì):
- tail 一般用來(lái)查看實(shí)時(shí)日志使用涩澡,顯示文件最新追加的內(nèi)容顽耳,如線上服務(wù)的日志文件會(huì)不斷的有內(nèi)容追加,tail 命令就非常好用妙同。
- tail -f info.log # 不停地追加顯示 info.log 文件的最后10行 射富,查看實(shí)時(shí)日志時(shí)非常常用的命令。
- tail -f n info.log # 加上n參數(shù)粥帚,不停地追加顯示 info.log 文件的最后 n 行胰耗。eg: tail -f 20 info.log 。
- tail -n 10 info.log # 查詢?nèi)罩疚膊孔詈?0行的日志芒涡。
- tail -n +10 info.log # 查詢10行之后的所有日志宪郊。
命令使用應(yīng)用場(chǎng)景案例
應(yīng)用場(chǎng)景一:按行號(hào)查看過(guò)濾出關(guān)鍵字附近的日志
- cat -n info.log |grep "debug" # 得到關(guān)鍵日志的行號(hào)
- cat -n info.log |tail -n +92|head -n 20 # 選擇關(guān)鍵字所在的中間一行, 然后查看這個(gè)關(guān)鍵字前10行和后10行的日志。
- tail -n +92 # 表示查詢92行之后的日志拖陆;
- head -n 20 # 則表示在前面的查詢結(jié)果里再查前 20 條記錄弛槐;
應(yīng)用場(chǎng)景二:日志內(nèi)容特別多,打印在屏幕上不方便查看
- 使用 more 和 less 命令
- cat -n info.log |grep "debug" |more # 這樣就分頁(yè)打印了依啰,通過(guò)點(diǎn)擊空格鍵翻頁(yè)
- 使用 > xxx.txt 將其保存到文件中乎串,到時(shí)可以下載這個(gè)文件分析
- cat -n info.log |grep "debug" > debug.txt
03 小結(jié)
- 鍋鍋在這篇總結(jié)了查看文件內(nèi)容的5個(gè)命令 cat、 more與less速警、tail與head叹誉。
- cat 命令除了查看文件還可以用來(lái)合并文件。
- less 命令使用起來(lái)靈活闷旧,也可以配合查找字符串长豁。
- tail 命令在工作實(shí)踐中查看實(shí)時(shí)日志非常常用,在實(shí)際生產(chǎn)過(guò)程中忙灼,tail -f n [fileName] 來(lái)顯示日志內(nèi)容匠襟;在看到相應(yīng)的關(guān)鍵日志時(shí)钝侠,可以使用ctrl + s停止日志滾動(dòng),恢復(fù)日志使用ctrl + q酸舍。
- 各位小主帅韧,今天鍋鍋就比比到這里,下期再會(huì)( _ )啃勉。
「不甩鍋的碼農(nóng)」原創(chuàng)忽舟,轉(zhuǎn)載請(qǐng)注明來(lái)源,未經(jīng)授權(quán)禁止商業(yè)用途淮阐!同名 GZH 請(qǐng)關(guān)注叮阅!