ИТ Блог. Администрирование серверов на основе Linux (Ubuntu, Debian, CentOS, openSUSE)

Как создать удобочитаемый результат с помощью команд Linux

Как создать удобочитаемый результат с помощью команд Linux

Интерфейс командной строки намного более «плотный» по сравнению с эквивалентными GUI в Windows. С помощью одной инструкции вы можете получить экран, полный данных, с колонками, расчетами и цветами. Большинство команд имеют дополнительные опции, которые позволяют вам изменять свой вывод, чтобы получить точную информацию, которую вы ищете.

К сожалению, эта сила приходит с потерей удобства. Например, многие полезные команды, такие как netstat, генерируют свой вывод в серии столбцов без фиксированной ширины, что затрудняет анализ по стандартам удобочитаемости человека. Даже простые команды, такие как перечисление содержимого каталога, могут содержать дополнительную информацию, чтобы запутать вас.

В этой статье мы покажем вам, как сделать три вещи:

  1. Выберите отображение только определенных столбцов вывода
  2. Сохраните параметры цвета для определенных команд
  3. Сделайте столбцы аккуратными

1. Выбор отображения на определенных столбцах

Простая команда ls имеет опции для отображения намного большего количества данных, чем просто имя файла и каталога. Например, эта команда:

ls -l

 

Параметр «-l» содержит список столбцов для каждой записи, таких как разрешения, кто владеет им, время создания и т. д., Как показано здесь:

Как создать удобочитаемый результат с помощью команд Linux

Полезно, поскольку этих данных может быть слишком много. К счастью, Linux имеет систему «конвейеров» вывода команд другим и используя их, мы можем выбрать, какие столбцы отображать с помощью команды «awk».

Предположим, что на скриншоте здесь мы хотим отобразить только последний столбец – имя файла или папки. Мы делаем это так:

ls -l | awk '{print $ 9}'

 

Это генерирует следующий результат:

Как создать удобочитаемый результат с помощью команд Linux

Ключ здесь – это часть команды, которая гласит:

awk '{print $ 9}'

 

Которая отображает только столбец номер 9. Мы берем вывод из «ls -l» и «pipe» его на awk. Если мы хотим, мы можем отображать столбцы 1 и 9 следующим образом:

ls -l | awk '{print $ 1, $ 9}'

 

Возможно, вы думаете, что это слишком много усилий, чтобы набирать все вышеперечисленное каждый раз, когда вы хотите напечатать несколько столбцов. Вы даже можете это забыть! И вы здесь правы. Вот почему вы можете просто создать собственную собственную команду, чтобы автоматически запускать ее с ключевым словом по вашему выбору!

2. Сохранение цветовой информации для ls

Поскольку ls является общей командой, вы, вероятно, будете использовать ее с awk. Возможно, вы заметили в предыдущих примерах, что вывод awk уничтожает информацию о цвете ls. Это нехорошо, потому что многие из нас полагаются на цветовое кодирование, чтобы быстро различать папки, каталоги и файлы.

С помощью ls мы можем сохранить эту информацию, используя опцию «-color = always». Итак, наша команда awk выше:

ls -l --color = always | awk '{print $ 9}'

 

Эта команда выдает следующее:

Как создать удобочитаемый результат с помощью команд Linux

 

Правильно?

 

3. Отображение столбцов переменной ширины в таблице

Команда «ls» очень услужлива. Его вывод является аккуратным, и каждый столбец имеет определенную ширину. Но что, если у вас есть файл, в котором столбцы не выравниваются? Например, возьмите этот файл:

cat animal-count

Как создать удобочитаемый результат с помощью команд Linux

 

Поскольку каждое имя животного имеет разную ширину, следующий столбец начинается каждый раз в другом месте. В длинном списке вывод может стать нечитабельным. Команды, такие как netstat, невозможно расшифровать.

Как и раньше, у нас есть команда под названием «column», в которую мы можем подключить вывод, чтобы он отображал данные в таблице. Вот:

cat animal-count | column -t

 

Параметр «-t» указывает таблицу. Мы получаем следующий результат:

Как создать удобочитаемый результат с помощью команд Linux

 

Это гораздо легче читать. Мы часто используем «column» при разборе вывода команд с большим количеством столбцов данных и переменной ширины. Это особенно полезно для файлов журналов, иногда содержащих тысячи строк кода.

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

Exit mobile version