自鯖の欲しい情報
3 min read
k的に楽にプロセスのListenしているポートを確認し、手軽に使用ポートとサービスを出力したい
の続きのような記事。
こんにちは、無能です。
どうしてもかんたんなシステム情報が欲しい。
そして可読性があまりに低すぎるコマンドが出来上がったので、あとから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)
とても、ムズムズする。