задания
Задание 1
Текст задания: создайте папку test. В папке test создайте файл test.txt.
Предполагаемый результат: создана папка test при помощи утилиты mkdir, создан файл test.txt при помощи утилиты touch.
Скрипт:
if [ -f test/test.txt ]; then
let result++
rm -Rf test
fi
Задание 2
Текст задание: установите DNS сервер, в качестве сервера используйте пакет bind9. Проверьте что служба запущена без ошибок.
Предполагаемый результат: расскоментирована строчка сетевого репозитория в файле source. list. При помощи утилиты apt установлен пакет bind9. При помощи команды service status проверен статус DNS сервера.
Скрипт:
prog=bind9
I=`dpkg -s $prog `
if [ -n "$I" ]
then
let result++
#apt remove bind9 -y
fi
Задание 3
Текст задания: завершите процесс тест.
Предполагаемый результат: при помощи команды ps найден id нужного процесса, командой kill процесс завершен.
Скрипт:
[ "$(pidof sleep)" ] && let result++ && killall sleep
Задание 4
Текст задания: разархивируйте файл test.tar и заархивируйте его в формате test.tar.gz. В итоге должны быть два файла test.txt и test.tar.gz.
Предполагаемый результат: использована команда tar для архивирования и разархивирования.
Скрипт:
archive=test.tar.gz
filearchive=archive.txt
if [ -f $archive ] && [ -f $filearchive ]; then
let result++
fi
Задание 5
Текст задание: Добавьте нового пользователя test
Предполагаемый результат: использована команда useradd для добавления пользователя.
Скрипт:
user=test
getent passwd $user >/dev/null && let result++
Задание 6
Текст задание: определите время запуска системы. Результат запишите в файл time.txt. в папку res. Пример записи в файл: Время запуска системы: 2023-03-12 16:36:45
Предполагаемый результат: использована команда uptime для определения времени запуска. Для записи в файл использована утилита echo.
Скрипт:
cat << EOF > test6
Время запуска системы: $(uptime -s)
EOF
diff -b -E time test6 && let result++
echo -n > test6
Задание 7
Текст задание: в папке res находиться скрипт hello.sh. Скрипт выводит сообщение 'hello' в терминал. Сделайте скрипт исполняемым и запустите его.
Предполагаемый результат: использована команда chmod.
Скрипт:
if [ "$(stat -L -c "%a" hello.sh)" -eq 775 ]
then
let result++
chmod 664 hello.sh
fi
Задание 8
Текст задание: в папке res находятся два файла, list1.txt и list2.txt. Найдите различие в этих файлах. Различия запишите в list3.txt.
Предполагаемый результат: использована команда diff и утилита echo.
Скрипт:
if grep -q "невероятный" test8; then
let result++
echo -n > test8
fi
Задание 9
Текст задание: в папке res находятся 3 файла. file1.txt, file2.txt, file3.txt. Удалите файл наибольшего размера.
Предполагаемый результат: использована команда du или all.
Скрипт:
if [ -f file1 ] && [ -f file2 ] && [ ! -f file3 ]; then
let result++
cp file_backup file3
fi
Задание 10
Текст задание: в открывшемся текстовом редакторе. Напишите bash-скрипт, который определяет общее количество свободной памяти в разделе подкачки. Пример вывода скрипта свободно памяти в разделе подкачки: 998396.
Предполагаемый результат: в процессе написания скрипта использована команда free.
Скрипт:
chmod +x test10.sh
./test10.sh >> script
cat << EOF > scripttest
Всего доступно оперативной памяти: $(free -h |grep -q Mem|awk '{print $2}' )
EOF
diff -b -E script scripttest && let result++
echo -n > script
echo -n > scripttest
echo -n > test10.sh
Задание 11
Текст задание: выполните команду для отслеживания маршрута до веб-ресурса ya.ru. Результат запишите в файл path.txt в папку res.
Предполагаемый результат: использована команда traceroute и утилита echo.
Скрипт:
traceroute ya.ru >> pathtest
diff -b -E path pathtest && let result++
echo -n > pathtest
Задание 12
Текст задание: Добавьте скрипт run.sh в автозагрузку. Скрипт должен запускаться каждый день.
Предполагаемый результат: использован планировщик задач chrontab.
Скрипт:
diff -b -E chron chrontest && let result++
Задание 13
Текст задание: в файл net.txt в папку res запишите основные сетевые параметры системы. Название Ethernet интерфейса, IP-адресс, MAC-адресс, DNS-сервер, Маршрут по умолчанию (default gw) Каждый параметр должен начинаться с новой строки.
Предполагаемый результат: использована команда ip и утилита echo.
Скрипт:
int=$(ifconfig |awk '{print $1}'|sed -n '1p')
ip=$(ifconfig |grep inet|awk '{print $2}'|sed -n '1p')
mac=$(ifconfig |grep ether|awk '{print $2}'|sed -n '1p')
echo $int >> inettest
echo $ip >> inettest
echo $mac >> inettes
diff -b -E inet inettest && let result++
echo -n > inettest
echo -n > inet
Задание 14
Текст задание: установите утилиту hcxtools с помощью терминала. Используйте официальный гитхаб: https://github.com/ZerBea/hcxtools.git.
Предполагаемый результат: использована утилита git, make.
Скрипт:
eth2=$(ip -br link show |grep eth2|awk '{print $1}'|sed -n '1p')
if [[ $eth2 = "eth2" ]];
then
let result++
ip del eth2
fi
Задание 15
Текст задание: при попытке запустить DHCP-сервер isc-dhcp-server, появляется ошибка: Not configured to listen on any interfaces! Перед вами открыт файл с конфигурацией DHCP-сервера, измените файл таким образом чтобы избежать ошибки. После того как файл будет сконфигурирован
Сохраните файл и закройте его.
Предполагаемый результат: использована утилита ip.
Скрипт:
diff -b -E dhcp dhcptest && let result++