Вопрос или проблема
Я использовал команды, такие как:
- Windows Powershell > netstat -ano | findstr “:22”
- Linux Bash Terminal > ss -tuln -p | head -n 1 && ss -tuln -p | grep “:22”
Мне нужна простая однострочная команда (не сложная многострочная команда) для каждой ОС, чтобы показать заголовки столбцов (Протокол, Локальный IP, Зарубежный IP, Состояние, Имя процесса, PID, Путь) для поиска по определенному шаблону.
Ответ или решение
Для выполнения задачи по отображению заголовков колонок (Протокол, Локальный IP, Удаленный IP, Состояние, Имя процесса, PID, Путь) при поиске по конкретным паттернам в Windows и Linux, можно использовать следующие команды:
Windows
Для Windows можно улучшить вашу команду, добавив заголовки столбцов и отфильтровав информацию по порту 22, следующим образом:
powershell -Command "Write-Host 'Protocol LocalIP ForeignIP State ProcessName PID Path'; netstat -ano | findstr ':22'"
В этом примере команда Write-Host
позволяет вывести заголовки колонок перед выводом результатов команд netstat
. Это простой однострочный подход, который сохраняет чистоту и ясность вывода.
Linux
Для Linux можно использовать команду ss
, связывая заголовки с выводом следующим образом:
(ss -tulnp | awk 'BEGIN {print "Protocol LocalIP ForeignIP State ProcessName PID Path"}; {print $1, $5, $6, $7, $8, $9, $10}' | grep ':22')
Здесь awk
используется для добавления заголовков, а также для обработки вывода команды ss
, чтобы задать нужное количество колонок и их содержимое. Этот подход также позволяет выполнить поиск по порту 22.
Итог
Обе команды выполняют поставленную задачу, вводя читаемые заголовки для упрощенной интерпретации, сохраняя простоту и лаконичность конструкций. Важно помнить, что такой подход помогает не только в автоматизации проверки сетевого состояния, но и в удобном анализе процессов, использующих определенные порты.
Использование предложенных команд будет полезным для системных администраторов и специалистов в области IT, обеспечивая оперативный доступ к важной информации о сетевых соединениях.