線上問題排查命令----Shell篇
1.跟蹤線上日誌定時重新整理最新內容 tail -fn 200 $log 2.尋找指定字串 #只顯示匹配行 grep $String $file #匹配字串所在行的上下n行 grep -C n $String $file #匹配字串的行數有多少 grep $String $file | wc -l #匹配字串高亮顯示 grep --color $String $file #使用正則 grep -E $String $file 3.截取logman列印的Sevice調用時間 # 海志大神提供 grep $String service.log |awk -F'class' '{print $1}' # 楊沐大神提供 grep $String service.log |awk -F'[()]' '{print $4}' 4.查看服務連接埠 netstat -anp | grep java lsof -i:8080 5.查看進程中的部分資訊 ps -ef | grep java ps aux | grep java 6.查看JVM進程 jps # 附帶jvm參數資訊 jps -v # 只顯示id jps -q #輸出main method的參數 jps -m #輸出完全的包名,應用主類名,jar的完全路徑 jps -l 7.查看檔案 ls # 查看所有檔案 ls -a # 列出檔案許可權 ls -al # 顯示檔案大小並將其按時間排序 ll -thr 8.遠程複製檔案 # 複製遠程伺服器的檔案到本地 scp root@host:/dir/file.f /home/ # 複製本地的檔案到遠程伺服器 scp /home/file.f root@host:/dir/ 9.儲存情況查看 # 查看 free -m # 記憶體大小 free -m |grep "Mem" | awk '{print $2}' 10.查看多台叢集伺服器配置 # 查看 polysh 'dx-hotel-goods<01-04> hotel-goods<01>' 11.觀察系統進程狀況 # 查看top資訊 top # 系統已耗用時間和平均負載 uptime # 每5秒重新整理一次,最右側有CPU的佔用率的資料 vmstat 5 > https://linux.cn/thread-12037-1-1.html12.查看磁碟io # 查看 iostat # 基本資料 iostat -d -k 1 10 13.查看磁碟使用方式 # 查看 df -h 14.尋找檔案 # 尋找 find path -name "*.conf" -print 15.較基本的幾個命令 娛樂用~ #看誰線上。 w who #查看登入日誌。 last #所有帳號的登入日誌。 lastlog # 增加使用者 adduser xxx #修改密碼: sudo passwd xxx #關機 shutdown -h now #現在立即重啟 shutdown -r now #切掉電源重啟(需root許可權),建議不要使用。 reboot #登出命令 logout #查看規則 sudo iptables -L # 查看日期 date 16.檔案目錄類 # 建立目錄 mkdir 目錄名 # 刪除空目錄 rmdir 目錄名 #無條件刪除子目錄(不建議使用rm 命令 使用mv 代替) rm -rf 目錄名 # 改變目前的目錄 cd 目錄名 (進入使用者home目錄:cd ~;進入上一級目錄:cd -) # 查看自己所在目錄 pwd # 查看目前的目錄大小 du #顯示目錄檔案清單 ls -l (-a:增加顯示隱含目錄) 其中:藍:目錄;綠:可執行檔;紅:壓縮檔;淺藍:連結檔案;灰:其他檔案;紅底白字:錯誤的連結檔案 # 瀏覽檔案 more 檔案名稱.txt less 檔案名稱.txt #複製檔案 cp 源檔案 目標檔案 (-r:包含目錄) 17.殺掉進程 # kill 進程 kill[參數][pid] HUP 1 終端斷線 INT 2 中斷(同 Ctrl + C) QUIT 3 退出(同 Ctrl + \) TERM 15 終止 KILL 9 強制終止 CONT 18 繼續(與STOP相反, fg/bg命令) STOP 19 暫停(同 Ctrl + Z)