我的自架伺服器所需資訊
想要輕鬆地檢查進程正在監聽的端口,並方便地輸出使用的端口和服務
這是一篇類似於續篇的文章。
大家好,我是無能。
我就是想要簡單的系統資訊。
然後,由於產生了一個可讀性極低的命令,所以之後我會嘗試讓它從which的返回值自動判斷...
這樣連接管道,完全沒有可讀性,所以要將它們分解。
如果直接用這種單行命令,會被很多人罵,所以不行。
但是,CLI 總是會被弄髒,這難道是history的魔力嗎____
當命令很長時
set -o vi
使用vi模式操作會很幸福。在沒有方向鍵的情況下,在設定鍵盤映射之前也有效。
FreeBSD
echo -e "`sysctl -n hw.model`\n`printf "%.2f GB\n" $(echo "scale=2; $(sysctl -n hw.realmem) / 1024 / 1024 / 1024" | bc)`\n\n`df -h`\n" && lsof -i -P -n | grep "LISTEN" | awk '{print $1 "," $3 "," $9 "/" $8}' | sort | uniq | column -t -s ","

sysctl -n hw.model CPU資訊
printf “%.2f GB\n” $(echo “scale=2; $(sysctl -n hw.realmem) / 1024 / 1024 / 1024” | bc) 記憶體
df -h 磁碟
lsof * 監聽端口
GNU/Linux
echo -e "`grep "model name" /proc/cpuinfo | head -1`\n`awk '/MemTotal/ { printf "%.2f GB\n", $2 / 1024 / 1024 }' /proc/meminfo`\n\n`df -h`\n" && lsof -i -P -n | grep "LISTEN" | awk '{print $1 "," $3 "," $9 "/" $8}' | sort | uniq | column -t -s ","

grep “model name” /proc/cpuinfo | head -1 CPU資訊
awk ‘/MemTotal/ { printf “%.2f GB\n”, $2 / 1024 / 1024 }’ /proc/meminfo 記憶體
df -h 磁碟
lsof * 監聽端口
接下來,雖然使用&&將控制權傳遞給下一個命令,但必須將所有內容格式化,使其與column命令對齊,以便於閱讀。
實際上,雖然是作為測試以單行命令執行的,但之後在程式碼中會將其改為每個命令都能獨立執行的形式。
在未打碼的 ThinkPad X1 上的執行結果
$ echo -e "`grep "model name" /proc/cpuinfo | head -1`\n`awk '/MemTotal/ { printf "%.2f GB\n", $2 / 1024 / 1024 }' /proc/meminfo`\n\n`df -h`\n" && lsof -i -P -n -l | grep "LISTEN" | awk '{print $1 "," $3 "," $9 "/" $8}' | sort | uniq | column -t -s ","
model name : Intel(R) Core(TM) i7-3667U CPU @ 2.00GHz
7.47 GB
檔案系統 大小 已用 可用 已用% 掛載點
dev 10M 0 10M 0% /dev
run 3.8G 2.4M 3.8G 1% /run
/dev/sda1 234G 144G 79G 65% /
shm 3.8G 101M 3.7G 3% /dev/shm
tmpfs 3.8G 30M 3.8G 1% /tmp
tmpfs 765M 24K 765M 1% /run/user/1000
container 0 127.0.0.1:46445/TCP
cupsd 0 127.0.0.1:631/TCP
cupsd 0 [::1]:631/TCP
pulseaudi 1000 *:42787/TCP
pulseaudi 1000 *:45763/TCP
pulseaudi 1000 *:4713/TCP
sshd 0 *:22/TCP
我注意到df的日文輸出在檔案系統處停止,當$LANG是ja_JP.UTF-8時,查看coreutils的df.c

不是這裡...
看來是po/ja.po,但日文版現在在哪裡管理呢?

https://translationproject.org/domain/coreutils.html
上面似乎有翻譯,但df不存在。
嗯...
關於 PO 檔案 PO Files (GNU gettext utilities)
這讓人很煩躁。