Linux系統查看日志常用方法


1.linux 查看日志常用命令

vim cloudbackup.log   比如說進入這個日志后按“/”號后面輸入查詢的關鍵字按enter進行搜索,按大寫n搜索上一個關鍵字,小寫n是下一個

tail:

-n 是顯示行號;相當於nl命令;例子如下:
tail -100f cloudbackup.log  實時監控100行日志

tail -n 100 cloudbackup.log查詢日志尾部最后100行的日志;

tail -n +10 test.log 查詢10行之后的所有日志;

  • 查看日志后 50 行,並顯示出行號
  • cat -n cloudbackup.log | tail -n 1000

  • cat -n cloudbackup.log | head -n 30  查看日志前30行

  • cat -n cloudbackup.log | grep 'getMoreFile' -A 10   查詢這個日志的關鍵字getMoreFile后10行日志並帶有行號

  • cat -n cloudbackup.log | grep 'getMoreFile' -B 10 查詢這個日志的關鍵字getMoreFile前  10行日志並帶有行號

  • cat -n cloudbackup.log | grep 'getMoreFile' -C 10 查詢這個日志的關鍵字getMoreFile前后  10行日志並帶有行號

  •  

     說明:
    -A 表示關鍵字之后,After
    -B 表示關鍵字之前,Before
    -C 表示關鍵字前后,Context

  • 1、nohup和&的區別

      & : 指在后台運行

      nohup : nohup運行命令可以使命令永久的執行下去,和用戶終端沒有關系,例如我們斷開SSH連接都不會影響他的運行,注意了nohup沒有后台運行的意思;&才是后台運行,

      

      &是指在后台運行,但當用戶退出(掛起)的時候,命令自動也跟着退出

      nohup可以使用Ctrl+C結束掉,而&使用Ctrl+C則結束不掉,nohup不受終端關閉,用戶退出影響,而&則受終端關閉,用戶退出影響

    結合起來用就是

    nohup COMMAND &   這樣就能使命令永久的在后台執行
  • Linux PATH環境變量及作用  在講解 PATH 環境變量之前,首先介紹一下 which 命令,它用於查找某個命令所在的絕對路徑。例如:
  • [root@localhost ~]# which rm
    /bin/rm
    [root@localhost ~]# which rmdir
    /bin/rmdir
    [root@localhost ~]# which ls
    alias ls='ls --color=auto'
    /bin/ls

  • 注意,ls 是一個相對特殊的命令,它使用 alias 命令做了別名,也就是說,我們常用的 ls 實際上執行的是 ls --color=auto。

    通過使用 which 命令,可以查找各個外部命令(和 Shell 內置命令相對)所在的絕對路徑。學到這里,讀者是否有這樣一個疑問,為什么前面在使用 rm、rmdir、ls 等命令時,無論當前位於哪個目錄,都可以直接使用,而無需指明命令的執行文件所在的位置(絕對路徑)呢?其實,這是 PATH 環境變量在起作用。

    首先,執行如下命令

  • [root@localhost ~]# echo $PATH
    /usr/local/sbin:/usr/sbin:/sbin:/usr/local/bin:/usr/bin:/bin:/root/bin
  • 這里的 echo 命令用來輸出 PATH 環境變量的值(這里的 $ 是 PATH 的前綴符號),PATH 環境變量的內容是由一堆目錄組成的,各目錄之間用冒號“:”隔開。當執行某個命令時,Linux 會依照 PATH 中包含的目錄依次搜尋該命令的可執行文件,一旦找到,即正常執行;反之,則提示無法找到該命令。

    如果在 PATH 包含的目錄中,有多個目錄都包含某命令的可執行文件,那么會執行先搜索到的可執行文件。

    從執行結果中可以看到,/bin 目錄已經包含在 PATH 環境變量中,因此在使用類似 rm、rmdir、ls等命令時,即便直接使用其命令名,Linux 也可以找到該命令。

    為了印證以上觀點,下面舉個反例,如果我們將 ls 命令移動到 /root 目錄下,由於 PATH 環境變量中沒有包含此目錄,所有當直接使用 ls 命令名執行時,Linux 將無法找到此命令的可執行文件,並提示 No such file or directory,示例命令如下:

  • [root@localhost ~]# mv /bin/ls /root
    [root@localhost ~]# ls
    bash: /bin/ls: No such file or directory
  • 此時,如果仍想使用 ls 命令,有 2 種方法,一種是直接將 /root 添加到 PATH 環境變量中,例如:
  • [root@localhost ~]# PATH=$PATH:/root
    [root@localhost ~]# echo $PATH
    /usr/local/sbin:/usr/sbin:/usr/local/bin:/usr/bin:/bin:/root/bin:/root
    [root@localhost ~]# ls
    Desktop Downloads Music post-install Public Videos
    Documents ls Pictures post-install.org Templates

  • 注意,這種方式只是臨時有效,一旦退出下次再登陸的時候,$PATH 就恢復成了默認值。

  • 另一種方法是以絕對路徑的方式使用此命令,例如

  • [root@localhost ~]# /root/ls
    Desktop    Downloads    Music    post-install     Public    Videos
    Documents  ls           Pictures post-install.org Templates
  • 為了不影響系統的正常使用,強烈建議大家將移動后的 ls 文件還原,命令如下:
  • [root@localhost ~]# mv /root/ls /bin
     

     


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2026 CODEPRJ.COM