DevOps 高效 shell 命令

1.查看指定進程的top信息

你們都知道用top來查看系統實時指標,在 Linux 服務器上,若是想查看特定進程的top實時信息(以 node 進程爲例),能夠使用這樣的命令:node

top -p `pgrep node | paste -sd ','` 

2.查看系統當前使用的端口

sudo lsof -i4TCP | grep -i listenlinux

或者使用sudo netstat -plntnginx

3.查看大文件日誌信息

less +F xx-loggit

ctrl+c+v能夠使用vim打開當前查看的日誌文件
再按F能夠回到監控日誌變化狀態web

5.查看磁盤使用空間

df -hapache

6.查看特定目錄使用的磁盤空間

du -sh /some/pathjson

想查看某個目錄下全部文件大小,能夠使用命令du -sh /some/path/*vim

7.移動當前目錄下的特定文件到其餘目錄

cp -rv `find . -name '*.json' -d 1 | grep -v package` archive 

移動當面目錄下除了package.json之外的其餘全部.json文件到archive目錄服務器

8.查看系統當前開放的端口

nc -z localhost 20-65535 netstat -tulpn 

netstat命令的-tulpn選項只適合 linux 機器,mac 系統上不可用
驗證某個進程ls -l /proc/$pid/exe
查看當前運行的進程所在的文件目錄pwdx $PID網絡

9.驗證系統服務是否正常

curl -v localhost:80/ 

或者使用nc -vt 127.0.0.1 80而後輸入請求內容

10.查看當前進程打開的文件

這個命令能夠方便的查看好比apache或者nginx進程當前使用的日誌文件時哪一個

sudo lsof -p xxpid

其實更簡單的查看當前nginx配置文件的方式爲:nginx -Vhttpd -V

11.更加了解你的 web server

查看 apache 當前加載的模塊:

apachectl -M 

12.查看哪一個進程佔用了某個端口

例如查看哪些進程在使用 80 端口:

lsof -i :80 

具體命令格式爲:

lsof -i :portNumber lsof -i tcp:portNumber lsof -i udp:portNumber 

13.統計本機當前網絡鏈接狀態

netstat -nat |grep 202.54.1.10 | awk '{print $6}' | sort | uniq -c | sort -n 

檢查到哪一個 IP 的請求最多(能夠檢查是否有 DDOS 攻擊)

netstat -atun | awk '{print $5}' | cut -d: -f1 | sed -e '/^$/d' |sort | uniq -c | sort -n 

14.快速打開本地全部修改過的 git 倉庫文件

vim -p `git diff --name-only | tr '\n' ' '`
相關文章
相關標籤/搜索