Отправляет email-рассылки с помощью сервиса Sendsay
  Все выпуски  

Сообщество системных администраторов Litl-Admin.ru Решение для квеста #3. Анализ уровня выполнения.


Ссылка на материал

Итак, пришла пора опубликовать решение квеста 3 по анализу уровня выполнения Linux. Приславших правильный ответ было не очень много (меньше 1), поэтому чемпионом становится … чемпионом становится… Пока никто!

Ладно, вернемся к нашей задачке.

Имеется файл etc.tar.gz, в который запакована структура каталога /etc какой-либо машины.

Нужно набрать такую команду (понятное дело, что серию команд ;) ), чтобы на экран выдалась цифра, показывающая уровень выполнения системы по умолчанию (той системы), при этом без создания временных файлов.

Квесты админа

Квесты админа

Итак, решение:

Для Debian:

$ zcat etc.tar.gz | grep -a "initdefault" | cut -d":" -f 2

Для Ubuntu:

$ zcat etc.tar.gz | grep -a "env DEFAULT_RUNLEVEL=" | cut -d"=" -f 2

Немного объясню.

zcat выводит содержимое файла (аналогично cat), дальше мы фильтруем вывод нашим любимым (не всеми) grep-ом. Кстати, отличная программка для фильтра текстов. Ну и наконец, как нам из выделенной строки (а grep фильтрует именно строки), получить нужное значение — тут на помощь приходит утилита cut, которая вырезает нужный нам фрагмент. Параметром к ней выступает разделитель: -d и номер столбца -f.

То есть, если мы, например, имеем файл значений, разделенных символом » » (пробел), и нам нужно вытащить 3-е слово оттуда, то будет:

$ cut -d" " -f 3

Всё очень просто.

Разумеется, решить эту задачку можно множеством способов, может даже более изящных и красивых, но это на ваше усмотрение! Всем удачи, увидимся в следующих квестах!



В избранное