Нужная информация с моего сервера

5 min

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

Я хочу легко проверять порт прослушивания процесса и удобно выводить используемый порт и сервис
Статья, похожая на продолжение.

Здравствуйте, я бездарь.
Мне очень нужна простая системная информация.
И поскольку получилась команда со слишком низкой читаемостью, я постараюсь сделать так, чтобы она автоматически определяла значение из возвращаемого значения which позже...

Такой способ связывания пайпов совершенно нечитаем, поэтому я разберу их по отдельности.
Если делать это обычной однострочной командой, многие разозлятся, так что это плохо.
Но, возможно, это магия history, что CLI часто загрязняется____

Когда это долго

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 останавливался на ファイルシス, и когда $LANG был ja_JP.UTF-8, посмотрев на df.c в coreutils
Image
Не здесь...
Похоже, это po/ja.po, но где сейчас управляется японская версия?
Image
https://translationproject.org/domain/coreutils.html
Похоже, выше есть перевод, но df отсутствует.
Хм.

О файлах PO PO Files (GNU gettext utilities)

Очень раздражает.

Related Posts