Linux基礎(chǔ)命令2(二)

4.1查看文件內(nèi)容

? ? cat? 文件內(nèi)容全部顯示,用“Ctrl+C”中斷(適合內(nèi)容比較少的文件,不適合內(nèi)容比較多的)

? ? more? 文件內(nèi)容一頁(yè)一頁(yè)的下翻,“空格”翻頁(yè),用“Ctrl+b”回退往上翻,“q”退出(適用于內(nèi)容較多的文件)

? ? less? 文件內(nèi)容按“↑↓”鍵按照“行”翻動(dòng),“q”退出。

練習(xí):

cd /var/log

ll

cat Xorg.q.log

more Xorg.q.log

less Xorg.q.log

4.2 tail實(shí)時(shí)查看文件內(nèi)容

? ? tail -f? 實(shí)時(shí)查看文件內(nèi)容。假如文件被移除,然后重命名,就無(wú)法再監(jiān)控到文件。

? ? tail -F? 實(shí)時(shí)查看文件內(nèi)容。假如文件被移除,然后重命名,會(huì)不斷地“retry”嘗試去監(jiān)控文件,直到文件被監(jiān)控到位。

[高危命令2:](千萬(wàn)不能把“tail -f"寫(xiě)成“tail -F")

? !!!規(guī)避風(fēng)險(xiǎn):tail --help (仔細(xì)閱讀命令幫助)

練習(xí):

touch 1.log? 2.log

ll?

(新建兩個(gè)會(huì)話(huà)窗口,分別輸入:)

tail -f 1.log

tail -F 2.log

(此時(shí)在原會(huì)話(huà)窗口輸入:)

echo 1 >> 1.log(觀(guān)察新建窗口2的變化)

echo 2 >> 2.log(觀(guān)察新建窗口3的變化)

#說(shuō)明tail -f 和tail -F都能實(shí)時(shí)查看文件內(nèi)容

(在原會(huì)話(huà)窗口繼續(xù)輸入:)

mv 1.log 1.log1

touch 1.log

echo 3 >> 1.log(觀(guān)察新建窗口2的變化,此時(shí)沒(méi)有任何變化,說(shuō)明tail -f已經(jīng)監(jiān)測(cè)不到了)

(在原會(huì)話(huà)窗口繼續(xù)輸入:)

mv 2.log 2.log1

touch 2.log

echo 4 >> 2.log(觀(guān)察新建窗口2的變化,說(shuō)明tail -F能夠不斷嘗試監(jiān)測(cè)文件,直到監(jiān)測(cè)到)

? ? tail -100f 1.log? #查看文件內(nèi)容倒數(shù)100行,并實(shí)時(shí)監(jiān)控,用“Ctrl+C”退出(用于定位問(wèn)題,可在查看問(wèn)題上使用)

練習(xí):

cd /var/log

ll

tail -100f Xorg.q.log


[附:]log4j 日志組件 規(guī)則:大小100M,保留10份

例如:exp.log 當(dāng)其滿(mǎn)了100M時(shí),執(zhí)行:

mv exp.log exp.log1

touch exp.log #生成空的exp.log和100M的exp.log1

當(dāng)空的exp.log又滿(mǎn)100M時(shí),又執(zhí)行:

mv exp.log exp.log2

touch exp.log #生成空的exp.log和100M的exp.log2

一直這樣直到生成10個(gè)100M的exp.log.x文件(x:1~10),然后循環(huán)滾動(dòng)。

?當(dāng)文件內(nèi)容特別多時(shí),如何快速定位到“ERROR”等關(guān)鍵信息?

? cat 文件.log |.grep ERROR(或其他關(guān)鍵詞) #打印文件內(nèi)容;"|":管道符(把上一個(gè)命令輸出結(jié)果作為下一個(gè)命令輸入)

? ? ①cat 文件.log | grep -A 10 ERROR

? ? ? #顯示當(dāng)前關(guān)鍵詞" ERROR"出現(xiàn)后的后10行

? ? ②cat 文件.log | grep -B 10 ERROR

? ? ? #顯示當(dāng)前關(guān)鍵詞" ERROR"出現(xiàn)后的前10行

? ? ③cat 文件.log | grep -C 10 ERROR

? ? ? #顯示當(dāng)前關(guān)鍵詞" ERROR"出現(xiàn)后的前后各10行,共21行

當(dāng)ERROR很多時(shí),成千上萬(wàn),可用以下命令:

? ? ④cat 文件.log | grep -C 10 ERROR > 1.log

? ? ? #把查看到的" ERROR"內(nèi)容(即關(guān)鍵詞ERROR的前后各20行(輸入并覆蓋到文件1.log里面

? ? more 1.log #用more查看1.log文件內(nèi)容

練習(xí):

vi error.log

cat error.log | grep ERROR

cat error.log | grep -A 10 ERROR

cat error.log | grep -B 10 ERROR

cat error.log | grep -C 10 ERROR

touch 1.log

cat error.log | grep -C ERROR > 1.log

cat 1.log

當(dāng)文件內(nèi)容很大時(shí),通過(guò)進(jìn)入編輯模式操作:

? ? ⑤vi 文件.log 然后"shift+ : "

? ? ? 輸入"/ ERROR"(/:匹配符)回車(chē),再按"n"上下翻進(jìn)行查找

? ? ⑥通過(guò)將日志文件下載到Windows電腦再進(jìn)行搜索、定位、分析:

? ? ? yum install -y lrzsz #安裝上傳下載包

? ? 接著使用rz、sz進(jìn)行上傳下載,見(jiàn)5

【坑:】假如xxx.log原文件很大,那么從生產(chǎn)下載到公司網(wǎng)絡(luò)是不是要走外網(wǎng)帶寬10M的,

問(wèn):會(huì)不會(huì)影響公司服務(wù)?

答:肯定會(huì)影響公司服務(wù)的

[建議]:假如下載文件很大,業(yè)務(wù)高峰期或者工作日白天盡量不要做。如果非要做,那就限速!(通過(guò)下載工具FTP,而不能使用sz)

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀(guān)點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

友情鏈接更多精彩內(nèi)容