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
