我的自架伺服器所需資訊

4 min

language: ja bn en es hi pt ru zh-cn zh-tw

想要輕鬆地檢查進程正在監聽的端口,並方便地輸出使用的端口和服務
這是一篇類似於續篇的文章。

大家好,我是無能。
我就是想要簡單的系統資訊。
然後,由於產生了一個可讀性極低的命令,所以之後我會嘗試讓它從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 ","

Image

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 ","

Image

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的日文輸出在檔案系統處停止,當$LANGja_JP.UTF-8時,查看coreutilsdf.c
Image
不是這裡...
看來是po/ja.po,但日文版現在在哪裡管理呢?
Image
https://translationproject.org/domain/coreutils.html
上面似乎有翻譯,但df不存在。
嗯...

關於 PO 檔案 PO Files (GNU gettext utilities)

這讓人很煩躁。

Related Posts