Нужная информация с моего сервера
Я хочу легко проверять порт прослушивания процесса и удобно выводить используемый порт и сервис
Статья, похожая на продолжение.
Здравствуйте, я бездарь.
Мне очень нужна простая системная информация.
И поскольку получилась команда со слишком низкой читаемостью, я постараюсь сделать так, чтобы она автоматически определяла значение из возвращаемого значения 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 \",\"

sysctl -n hw.model Информация о CPUprintf “%.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 Информация о CPUawk ‘/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

Не здесь...
Похоже, это po/ja.po, но где сейчас управляется японская версия?

https://translationproject.org/domain/coreutils.html
Похоже, выше есть перевод, но df отсутствует.
Хм.
О файлах PO PO Files (GNU gettext utilities)
Очень раздражает.