前言
此為 Linux 相關的 5-7 篇,終於進入 Linux 後半部,寫到有點厭世 XD
lsof
全名為 List Open Files,列出當前被開啟的文件資訊
非常實用的監控、查詢、診斷工具
1
2
3
4
5
6
7
8
9
10
11
12
13
14lsof 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 查詢工具
1
2
3
4
5
6
7
8
9
10dig 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 雙向傳輸資料的工具
發現已經有許多不錯的文章可以參考
故省略 (威,又偷懶惹
僅寫下比較常用小技巧
1
2
3
4
5
6
7
8# 將 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
來看文件
1
2
3
4
5
6
7
8
9
10nc -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
1
2
3
4nice -n count command
# 範例
sudo nice -n 15 chromedriver
幾個常用參數說明:
設定優先權 (N 範圍是 -20 ~ 19): -n N
cpulimit
限制 CPU 使用量
備註: 需另外安裝 官方網站
1
2
3
4
5
6
7
8
9
10# 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
的應用
總整理
MacOS / Linux 指令 | 說明 | 範例 |
---|---|---|
lsof | 列出當前被開啟的文件資訊 | lsof ~/Documents/demo |
dig | domain 查詢工具 | dig www.google.com |
curl | 與 server 雙向傳輸資料的工具 | curl -vvv ifconfig.me |
nc | 處理 TCP/UDP 的工具 | nc -v www.google.com 80 |
nice | 設定程式執行的優先權 (範圍是 -20 ~ 19) | nice -n 19 htop |
cpulimit | 限制 CPU 使用量 | cpulimit -l 50 htop |
小結
發現這篇每個指令都可以寫成一篇,
網路搜尋能找到許多相關範例應用的教學文章,
由於本篇想以常用應用為主,其實是不想寫太長
更多的應用可以透過 man
或上網查詢
也歡迎在下方留言互相交流
鐵人賽文章連結:https://ithelp.ithome.com.tw/articles/10236845
medium 文章連結:https://link.medium.com/It3HtR6gM9
本文同步發布於 小菜的 Blog https://riverye.com/
備註:之後文章修改更新,以個人部落格為主