我的服务器所需信息
的后续文章。
大家好,我是无能。
我真的想要简单的系统信息。
由于最终的命令可读性太差,所以之后我会尝试根据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)
这让人很烦躁。