lsof
全名為 List Open Files,列出當前被開啟的文件資訊
非常實用的監控、查詢、診斷工具
lsof path
lsof -u username
lsof +d path
lsof +D path
lsof -p PID
lsof -i :port# 範例
lsof ~/Documents/demo
lsof -u root
lsof +d ~/Documents/demo
lsof +D ~/Documents/demo
lsof -p 9527
lsof -i :80
幾個常用參數說明:
列出指定使用者打開的文件訊息: -u username
列出目錄下被開啟的文件訊息: +d path
列出目錄下被開啟的文件訊息 (含底下的目錄): +D path
列出指定 PID 所開啟的文件訊息: -p PID
列出指定 port 的連線訊息: -i :port
dig
domain 查詢工具
dig domain
dig -x target# 範例
dig www.google.com
dig -x 8.8.8.8
dig -x riverye.com# 將輸出結果存成檔案
dig www.google.com > info.log
幾個常用參數說明:
反解析: -x target
追蹤網域經過哪些節點: +trace domain
curl
與 server 雙向傳輸資料的工具
發現已經有許多不錯的文章可以參考
故省略 (威,又偷懶惹
僅寫下比較常用小技巧
# 將 https://riverye.com 查詢結果儲存成 riverye.html 檔案
curl https://riverye.com > ~/Documents/demo/riverye.html# -vvv 為顯示詳細資訊
curl -vvv ifconfig.me# 查詢電腦的 IP
curl ifconfig.me
參考資料
nc
全名為 netcat,處理 TCP/UDP 的工具
非常實用,可以做許多事情,像是通訊埠掃描、簡易聊天室、檔案傳輸等
備註: 對於不熟悉的指令,皆可透過 man
來看文件
nc -l port
nc ip_address port
nc -w timeout_in_seconds ipaddress port
nc -v -z ip_address port# 範例
nc -l localhost 8888
nc localhost 8888
nc -w 10 localhost 9527
nc -n -v -z 192.168.1.1 80-100
幾個常用參數說明:
監聽模式: -l
設定 Timeout (單位: sec): -w timeout_in_seconds
不進行 DNS 查詢: -n
顯示掃描訊息: -v
只掃描無資料傳輸: -z
簡易聊天室
傳送檔案
參考資料
nice
設定程式執行的優先權 (範圍是 -20 ~ 19)
-20 為最高優先權
19 為最低優先權
備註: 輸入小於 0 ,要有 root 權限,如果範圍超過 19,則會做為 19
nice -n count command# 範例
sudo nice -n 15 chromedriver
幾個常用參數說明:
設定優先權 (N 範圍是 -20 ~ 19): -n N
cpulimit
限制 CPU 使用量
備註: 需另外安裝 官方網站
# MacOS、Linux 原生不支援這指令# MacOS 安裝指令
brew install cpulimit# 限制 CPU 使用上限為 70%
cpulimit -l 70 command# 範例
cpulimit -l 70 rg 'hello'
幾個常用參數說明:
限制 CPU 上限 (必填,N 範圍是 0 ~ 400): -l N
or --limit=N
顯示控制統計: -v
or --verbose
(謎之聲,未來會有文章分享 nice
和 cpulimit
的應用
總整理
小結
發現這篇每個指令都可以寫成一篇,
網路搜尋能找到許多相關範例應用的教學文章,
由於本篇想以常用應用為主,其實是不想寫太長
更多的應用可以透過 man
或上網查詢
也歡迎在下方留言互相交流
鐵人賽文章連結:https://ithelp.ithome.com.tw/articles/10236845
medium 文章連結:https://link.medium.com/It3HtR6gM9
本文同步發布於 小菜的 Blog https://riverye.com/
備註:之後文章修改更新,以個人部落格為主