Введение
В рамках этого испытания вы научитесь создавать простые shell-скрипты, предназначенные для обработки вывода системных команд. Это фундаментальный навык для автоматизации рутинных задач и извлечения специфической информации из инструментов командной строки. Вы узнаете, как перехватывать вывод команд, манипулировать данными и использовать обработанную информацию внутри вашего сценария. Данное задание поможет вам развить практические навыки программирования на Bash, необходимые для системного администрирования.
Создание скрипта для обработки вывода команды ls
На этом этапе вам предстоит создать shell-скрипт, который перехватывает вывод команды ls -l, извлекает из него конкретные данные (размер и имя файла) и отображает их в структурированном виде. Это упражнение демонстрирует принципы парсинга вывода команд — одну из самых частых задач в системном скриптинге.
Задачи
- Создать shell-скрипт, который сохраняет вывод команды
ls -l. - Извлечь размер файла и его имя из каждой строки вывода
ls -l. - Вывести полученную информацию в строго определенном формате.
Требования
Создайте скрипт в директории
~/project/scripts.Назовите файл скрипта
process_ls.sh.Скрипт должен начинаться с шебанга
#!/bin/bash.Скрипт должен сохранять результат выполнения
ls -lв переменную.Для каждого файла, перечисленного в выводе
ls -l, необходимо извлечь его размер и имя.Вывод данных должен соответствовать следующему шаблону:
File size: <file_size> bytes File name: <file_name>Замените
<file_size>на фактический размер файла в байтах, а<file_name>— на имя файла.
Пример
Предположим, в вашей директории есть файлы. При запуске скрипта результат должен выглядеть примерно так:
[labex@host ~]$ cd ~/project/scripts
[labex@host scripts]$ nano process_ls.sh
[labex@host scripts]$ chmod +x process_ls.sh
[labex@host scripts]$ ./process_ls.sh
File size: 1300 bytes
File name: process_ls.sh
[labex@host scripts]$
Конкретные размеры и имена файлов будут зависеть от содержимого вашей текущей рабочей директории.
Подсказки
- Для перехвата вывода команды в переменную используйте подстановку команд (например,
variable=$(command)). - Чтобы обработать вывод построчно, можно использовать цикл
while read. - Команда
ls -lвыводит подробную информацию. Вам могут понадобиться такие инструменты, какawkилиcut, чтобы извлечь конкретные столбцы (поля) из каждой строки. - Помните, что первая строка вывода
ls -lобычно начинается со слова "total" — её следует пропустить при обработке списка файлов. - Не забудьте наделить скрипт правами на исполнение с помощью
chmod +x.
Резюме
В этом испытании вы научились создавать shell-скрипты для обработки вывода команд. В частности, вы перехватили вывод ls -l, извлекли размеры и имена файлов и отобразили их в отформатированном виде. Это упражнение закрепило ключевые концепции написания скриптов: подстановку команд, циклы while read и обработку текста с помощью awk. Эти навыки критически важны для автоматизации задач, анализа лог-файлов и извлечения данных из различных консольных утилит, что является повседневной обязанностью системного администратора и важной частью экзамена RHCSA.



