4.1查看文件內(nèi)容
? ? cat? 文件內(nèi)容全部顯示之碗,用“Ctrl+C”中斷(適合內(nèi)容比較少的文件蝙眶,不適合內(nèi)容比較多的)
? ? more? 文件內(nèi)容一頁一頁的下翻,“空格”翻頁褪那,用“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)容友浸。假如文件被移除,然后重命名偏窝,就無法再監(jiān)控到文件收恢。
? ? tail -F? 實(shí)時(shí)查看文件內(nèi)容。假如文件被移除祭往,然后重命名伦意,會(huì)不斷地“retry”嘗試去監(jiān)控文件,直到文件被監(jiān)控到位硼补。
[高危命令2:](千萬不能把“tail -f"寫成“tail -F")
? !!!規(guī)避風(fēng)險(xiǎn):tail --help (仔細(xì)閱讀命令幫助)
練習(xí):
touch 1.log? 2.log
ll?
(新建兩個(gè)會(huì)話窗口驮肉,分別輸入:)
tail -f 1.log
tail -F 2.log
(此時(shí)在原會(huì)話窗口輸入:)
echo 1 >> 1.log(觀察新建窗口2的變化)
echo 2 >> 2.log(觀察新建窗口3的變化)
#說明tail -f 和tail -F都能實(shí)時(shí)查看文件內(nèi)容
(在原會(huì)話窗口繼續(xù)輸入:)
mv 1.log 1.log1
touch 1.log
echo 3 >> 1.log(觀察新建窗口2的變化,此時(shí)沒有任何變化已骇,說明tail -f已經(jīng)監(jiān)測不到了)
(在原會(huì)話窗口繼續(xù)輸入:)
mv 2.log 2.log1
touch 2.log
echo 4 >> 2.log(觀察新建窗口2的變化离钝,說明tail -F能夠不斷嘗試監(jiān)測文件票编,直到監(jiān)測到)
? ? tail -100f 1.log? #查看文件內(nèi)容倒數(shù)100行,并實(shí)時(shí)監(jiān)控卵渴,用“Ctrl+C”退出(用于定位問題慧域,可在查看問題上使用)
練習(xí):
cd /var/log
ll
tail -100f Xorg.q.log
[附:]log4j 日志組件 規(guī)則:大小100M,保留10份
例如:exp.log 當(dāng)其滿了100M時(shí)浪读,執(zhí)行:
mv exp.log exp.log1
touch exp.log #生成空的exp.log和100M的exp.log1
當(dāng)空的exp.log又滿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í)屁奏,成千上萬,可用以下命令:
? ? ④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í)错负,通過進(jìn)入編輯模式操作:
? ? ⑤vi 文件.log 然后"shift+ : "
? ? ? 輸入"/ ERROR"(/:匹配符)回車坟瓢,再按"n"上下翻進(jìn)行查找
? ? ⑥通過將日志文件下載到Windows電腦再進(jìn)行搜索、定位犹撒、分析:
? ? ? yum install -y lrzsz #安裝上傳下載包
? ? 接著使用rz折联、sz進(jìn)行上傳下載,見5
【坑:】假如xxx.log原文件很大识颊,那么從生產(chǎn)下載到公司網(wǎng)絡(luò)是不是要走外網(wǎng)帶寬10M的诚镰,
問:會(huì)不會(huì)影響公司服務(wù)?
答:肯定會(huì)影響公司服務(wù)的
[建議]:假如下載文件很大祥款,業(yè)務(wù)高峰期或者工作日白天盡量不要做清笨。如果非要做,那就限速!(通過下載工具FTP刃跛,而不能使用sz)