[Mac] iftop 安裝失敗與解決方式
測試 Rclone 伺服器端傳輸時發覺 macOS 並無 iftop 指令,習慣性地用 brew 安裝了。
問題描述
安裝 iftop
brew install iftop
安裝完成後提示 iftop 這個指令需要用 root 權限執行:
iftop requires root privileges so you will need to run `sudo iftop`.
You should be certain that you trust any software you grant root privileges.
執行錯誤
然而使用 sudo iftop 之後卻出現 command not found 的錯誤:
sudo iftop
# sudo: iftop: command not found
問題原因
Homebrew 將 iftop 安裝在 /usr/local/sbin 目錄下,但該目錄不在系統的 PATH 環境變數中,導致即使使用 sudo 也無法找到指令。
解決方式
方法一:修改系統 PATH(推薦)
編輯系統 PATH 設定檔:
sudo vim /etc/paths
在檔案中加入 /usr/local/sbin:
/usr/local/bin
/usr/local/sbin
/usr/bin
/bin
/usr/sbin
/sbin
存檔後重啟終端機,即可正常使用 iftop。
方法二:使用完整路徑
直接使用完整路徑執行:
sudo /usr/local/sbin/iftop
方法三:建立 alias
在 ~/.zshrc 或 ~/.bashrc 中加入:
alias iftop='sudo /usr/local/sbin/iftop'
iftop 基本使用
常用參數
# 監控特定網路介面
sudo iftop -i en0
# 不顯示 DNS 解析
sudo iftop -n
# 顯示連接埠號碼
sudo iftop -P
# 組合使用
sudo iftop -i en0 -nP
互動式快捷鍵
h- 顯示說明n- 切換 DNS 解析s- 切換來源主機顯示d- 切換目的主機顯示p- 切換連接埠顯示q- 退出
替代工具
如果不想修改系統 PATH,也可以考慮使用其他網路監控工具:
- nettop - macOS 內建工具
- bmon - 頻寬監控工具
- vnstat - 網路流量統計
# 安裝替代工具
brew install bmon vnstat