<kbd id="afajh"><form id="afajh"></form></kbd>
<strong id="afajh"><dl id="afajh"></dl></strong>
    <del id="afajh"><form id="afajh"></form></del>
        1. <th id="afajh"><progress id="afajh"></progress></th>
          <b id="afajh"><abbr id="afajh"></abbr></b>
          <th id="afajh"><progress id="afajh"></progress></th>

          程序員必備排查日志 9 大類命令詳解

          共 6684字,需瀏覽 14分鐘

           ·

          2021-09-22 02:28

          點擊“藍(lán)字”,關(guān)注,置頂公眾號

          每日技術(shù)干貨,第一時間送達(dá)!


          • 一、cat命令:
          • 二、more命令:
          • 三、less命令:
          • 四、head命令:
          • 五、tail命令:
          • 六、tac命令:
          • 七、echo命令:
          • 八、grep命令:
          • 九、sed命令:
          • 混合命令:
          • 附加:

          當(dāng)日志存儲文件很大時,我們就不能用 vi 直接去查看日志了,就需要Linux的一些內(nèi)置命令去查看日志文件.

          系統(tǒng)Log日志位置:

          /var/log/message 系統(tǒng)啟動后的信息和錯誤日志,是Red Hat Linux中最常用的日志之一

          /var/log/secure 與安全相關(guān)的日志信息

          /var/log/maillog 與郵件相關(guān)的日志信息

          /var/log/cron 與定時任務(wù)相關(guān)的日志信息

          /var/log/spooler 與UUCP和news設(shè)備相關(guān)的日志信息

          /var/log/boot.log 守護(hù)進(jìn)程啟動和停止相關(guān)的日志消息

          一、cat命令:

          參數(shù):
          -n 或 --number 由 1 開始對所有輸出的行數(shù)編號
          -b 或 --number-nonblank 和 -n 相似,只不過對于空白行不編號
          -s 或 --squeeze-blank 當(dāng)遇到有連續(xù)兩行以上的空白行,就代換為一行的空白行
          -v 或 --show-nonprinting
          -E --show-ends 在每行結(jié)束處顯示 $
          -e --等價于-vE
          cat主要有三大功能:
          1. $ cat filename 一次顯示整個文件。
          2. $ cat > filename 從鍵盤創(chuàng)建一個文件。(只能創(chuàng)建新文件,不能編輯已有文件)
          3. $ cat filename1 filename2 > filename 將幾個文件合并為一個文件(如果原本file文件中有內(nèi)容,會被覆
             蓋掉) 蓋掉) 
           
          例:
          把 file1 的內(nèi)容加上行號后輸入到 file2 這個文件里  
          cat -n filename1 > filename2
          把 file1 和 file2 的內(nèi)容加上行號(空白行不加)之后將內(nèi)容追加到 file3 里
          cat -b filename1 filename2 >> filename3  
           
          把test.txt文件扔進(jìn)垃圾箱,賦空值test.txt
          cat /dev/null > /etc/test.txt   
          注意:>意思是創(chuàng)建,>>是追加。千萬不要弄混了。

          二、more命令:

          more 命令是一個基于vi編輯器文本過濾器,它以全屏幕的方式按頁顯示文本文件的內(nèi)容,支持vi中的關(guān)鍵字定位操作。
          該命令一次顯示一屏文本信息,滿屏后停下來,以百分比的形式,以上下翻頁,以上下行移動顯示查看日志并且在屏幕
          的底部給出一個提示信息,從開始至當(dāng)前己顯示的該文件的百分比:–More–(XX%)
           **按鍵                                                    **說明**
           按Space鍵:顯示文本的下一屏內(nèi)容。
           按B鍵:顯示上一屏內(nèi)容。
           按Enter鍵:只顯示文本的下一行內(nèi)容。
           按斜線符:接著輸入一個模式,可以在文本中尋找下一個相匹配的模式。
           按H鍵:顯示幫助屏,該屏上有相關(guān)的幫助信息。
           按Q鍵:退出more命令

          三、less命令:

          less 命令查看日志,和more命令類似,只不過less支持上下鍵前后翻閱文件。

          四、head命令:

          參數(shù):
          -q 隱藏文件名
          -v 顯示文件名
          -c 顯示字節(jié)數(shù)
          -n 顯示的行數(shù)
          從文本文件的頭部開始查看,head 命令用于查看一個文本文件的開頭部分。
          例:
          head filename 或 head -n 10 顯示文本文件 file 的前十行內(nèi)容,然后退出命令
          head -n 20 filename 顯示文本文件 file 的前二十行內(nèi)容
          head -n -10 filename 顯示文本文件除了最后10行的其他所有文本文件信息

          五、tail命令:

          tail 命令用于顯示文本文件的末尾內(nèi)容(默認(rèn)10行,相當(dāng)于增加參數(shù) -n 10),并且實時不斷有內(nèi)容被打印出來,
            若想中斷進(jìn)程,使用命令 Ctrl-C
          參數(shù):
          tail [ -f ] [ -c Number | -n Number | -m Number | -b Number | -k Number ] [ File ] 
          參數(shù)解釋:
          -f 該參數(shù)用于監(jiān)視File文件增長。
          -c Number 從 Number 字節(jié)位置讀取指定文件 
          -n Number 從 Number 行位置讀取指定文件。
          -m Number 從 Number 多字節(jié)字符位置讀取指定文件,比方你的文件假設(shè)包括中文字,假設(shè)指定-c參數(shù),可能導(dǎo)致
             截斷,但使用-m則會避免該問題。
          -b Number 從 Number 表示的512字節(jié)塊位置讀取指定文件。
          -k Number 從 Number 表示的1KB塊位置讀取指定文件。
          File 指定操作的目標(biāo)文件名稱 
          上述命令中,都涉及到number,假設(shè)不指定,默認(rèn)顯示10行。Number前面可使用正負(fù)號,表示該偏移從頂部還是從尾
            部開始計算。
          tail 可運行文件一般在/usr/bin/以下。
          tail -f filename 監(jiān)視filename文件的尾部內(nèi)容(默認(rèn)10行,相當(dāng)于增加參數(shù) -n 10)
          tail -100f filename 監(jiān)視filename文件的尾部內(nèi)容(默認(rèn)從底部往前100行,相當(dāng)于增加參數(shù) -n 100)
          tail -n 20 filename 顯示filename最后20行
          tail -r -n 10 filename 逆序顯示filename最后10行

          六、tac命令:

          tac (反向查看日志,會打開整個文件,倒序顯示,不常用)
          tac 是將 cat 反寫過來,所以他的功能就跟 cat 相反。
          cat 是由第一行到最后一行連續(xù)顯示在屏幕上,而 tac 則是由最后一行到第一行反向在螢?zāi)簧巷@示出來

          七、echo命令:

          echo 命令用來在標(biāo)準(zhǔn)輸出上顯示一段字符
          echo [ -n ] 字符串其中選項n表示輸出文字后不換行;字符串能加引號,也能不加引號
          echo "the echo command test!"
          echo "the echo command test!">filename 輸出內(nèi)容到文件
          用 echo 命令輸出加引號的字符串時,將字符串原樣輸出
          用 echo 命令輸出不加引號的字符串時,將字符串中的各個單詞作為字符串輸出,各字符串之間用一個空格分割

          八、grep命令:

          grep 同時滿足多個關(guān)鍵字和滿足任意關(guān)鍵字,是一種強大的文本搜索工具,它能使用正則表達(dá)式搜索文本,并把匹 
            配的行打印出來。grep全稱是Global Regular Expression Print,表示全局正則表達(dá)式版本,顯示完自動退
            出命令
          grep [options]  
          參數(shù):  
          [options]參數(shù):
          -c:只輸出匹配行的計數(shù)
          -I:不區(qū)分大 小寫(只適用于單字符)
          -h:查詢多文件時不顯示文件名
          -l:查詢多文件時只輸出包含匹配字符的文件名
          -n:顯示匹配行及 行號
          -s:不顯示不存在或無匹配文本的錯誤信息
          -v:顯示不包含匹配文本的所有行
          -A: 顯示匹配行及前面多少行, 如: -A3, 則表示顯示匹配行及前3行
          -B: 顯示匹配行及后面多少行, 如: -B3, 則表示顯示匹配行及后3行
          -C: 顯示匹配行前后多少行, 如: -C3, 則表示顯示批量行前后3行
          pattern正則表達(dá)式主要參數(shù):
          :忽略正則表達(dá)式中特殊字符的原有含義
          ^:匹配正則表達(dá)式的開始行
          $: 匹配正則表達(dá)式的結(jié)束行
          <:從匹配正則表達(dá) 式的行開始
          >:到匹配正則表達(dá)式的行結(jié)束
          [ ]:單個字符,如[A]即A符合要求 
          [ - ]:范圍,如[A-Z],即A、B、C一直到Z都符合要求 
          。:所有的單個字符
          - :有字符,長度可以為0

          grep -n "word" filename 查看文件包含條件的日志,全部顯示出來(單引號或者雙引號都可以,不區(qū)分)
          grep -E "word1|word2|word3" filename 滿足任意條件(word1、word2和word3之一)將匹配的內(nèi)容全部打
            印出來
          grep word1 filename | grep word2 |grep word3 必須同時滿足三個條件(word1、word2和word3)才匹配
            多管道,多次篩選
          使用正則表達(dá)式 -E 選項
          grep -E "[1-9]+" 或 egrep "[1-9]+"
          grep -A100 'word' filename 顯示匹配行往后100行
          grep -B100 'word' filename 顯示匹配行往前100行
          grep -C100 'word' filename 顯示匹配行往前往后100行

          九、sed命令:

          sed 本身是一個管道命令,主要是以行為單位進(jìn)行處理,可以將數(shù)據(jù)行進(jìn)行替換、刪除、新增、選取等特定工作
          參數(shù)
          -n∶使用安靜(silent)模式。在一般 sed 的用法中,所有來自 STDIN的資料一般都會被列出到螢?zāi)簧稀5绻?br style="outline: 0px; overflow-wrap: break-word !important;">  上 -n 參數(shù)后,則只有經(jīng)過sed 特殊處理的那一行(或者動作)才會被列出來。
          -p ∶列印,亦即將某個選擇的資料印出。通常 p 會與參數(shù) sed -n 一起運作~
          -s ∶取代,可以直接進(jìn)行取代的工作哩!通常這個 s 的動作可以搭配正規(guī)表示法!例如 1,20s/old/new/g

          sed -n '5,10p' filename 只查看文件的第5行到第10行
          sed -n '/2019-01-04 21:30:00/,/2019-01-04 22:30:30/p' filename 只查看文件包含時間段的區(qū)間內(nèi)容

          混合命令:

          tail -n +92表示查詢92行之后的日志
          tail filename -n 300 -f 查看底部即最新300條日志記錄,并實時刷新
          tail -f filename | grep -E 'word1|word2|word3' 實時打印出匹配規(guī)則的文件內(nèi)容(注意或符號前后最好
            不要有空格)
          cat -n filename |grep “地形” | more 得到關(guān)鍵日志的行號
          cat -n filename |tail -n +92|head -n 20
          grep 'nick' | tail filename -C 10 查看字符‘nick’前后10條日志記錄, 大寫C
          head -n 20 則表示在前面的查詢結(jié)果里再查前20條記錄

          附加:

          vi filename 查看或編輯文件
          查找文件內(nèi)容關(guān)鍵字方法:
          先 執(zhí)行命令>:vi      filename
          然后輸入>:   /查找字符串 
          按n查找下一個

          如查找nohup.out日志文件的error關(guān)鍵字:
          執(zhí)行命令:vi nohup.out
          輸入以下回車:/error
          按n查找下一個
          將實時日志打印到指定文件:

          將實時日志打印到文件newlog.log內(nèi),方便查找
          執(zhí)行命令:tail  -f nohup.out   >newlog.log
          備注:newlog.log文件可以不存在,命令執(zhí)行時會自動新建




          往期推薦









          這幾種全局ID生成方式,你知道哪幾種?

          高效率編碼小技巧,帶你飛!

          拋棄繁雜的 if 判斷,使用它試一試!

          如果保證多線程場景下的線程安全?-

          IDEA這么優(yōu)化后,代碼跑得嗖嗖快

          SpringBoot項目使用Redis實現(xiàn)接口冪等



          瀏覽 38
          點贊
          評論
          收藏
          分享

          手機(jī)掃一掃分享

          分享
          舉報
          評論
          圖片
          表情
          推薦
          點贊
          評論
          收藏
          分享

          手機(jī)掃一掃分享

          分享
          舉報
          <kbd id="afajh"><form id="afajh"></form></kbd>
          <strong id="afajh"><dl id="afajh"></dl></strong>
            <del id="afajh"><form id="afajh"></form></del>
                1. <th id="afajh"><progress id="afajh"></progress></th>
                  <b id="afajh"><abbr id="afajh"></abbr></b>
                  <th id="afajh"><progress id="afajh"></progress></th>
                  欧洲精品成人AV在线蜜芽 | 手机在线看A片 | 国产三级国产精品 | 激情五月婷婷丁香 | 玖玖视频在线资源一区二区三区四区 |