diff --git a/SerovAA/Dockerfile b/SerovAA/Dockerfile new file mode 100644 index 0000000..5a74b41 --- /dev/null +++ b/SerovAA/Dockerfile @@ -0,0 +1,11 @@ +FROM ubuntu:22.04 + +# Установка пакетов +RUN apt update && apt install -y wget + +#Копируем скрипт script.sh и выполняем +COPY script.sh /script.sh +RUN chmod +x /script.sh + +# Запускаем bash и script +CMD ["/bin/bash", "/script.sh"] diff --git a/SerovAA/README.md b/SerovAA/README.md new file mode 100644 index 0000000..1d4d037 --- /dev/null +++ b/SerovAA/README.md @@ -0,0 +1,32 @@ +# Отчёт по лабораторной работе: Знакомство с Docker и базовыми командами Linux + +**Название работы:** Знакомство с Docker и базовыми командами Linux +**Цель работы:** Познакомиться с Docker, изучить базовые команды Linux. +**Выполнил:** Серов А.А. + +## Выполненные действия + +1. Запущен контейнер на базе Ubuntu. +2. Подключение к контейнеру, установка bash (при необходимости). +3. Создан файл `ФамилияИО.txt` в домашнем каталоге. +4. Выведен текущий день недели с помощью `date`. +5. Выведена информация о файле `/bin/bash`: + - Тип файла: исполняемый, ELF 64-bit. +6. Скачан текст "Alice's Adventures in Wonderland" по ссылке. +7. Подсчитано количество слов в файле `alice.txt`. +8. Выведены первые 19 и последние 17 строк. +9. Созданы каталоги `test1`…`test40`. +10. Удалены каталоги, заканчивающиеся на 3 и 7. +11. Список оставшихся каталогов сохранён в `test.txt`. +12. Подсчитано количество строк в `test.txt`. +13. В каталогах с номерами, кратными 5, создан файл `date.txt` с датой. +14. В каталогах с номерами, кратными 10, в `date.txt` добавлено текущее время. + +## Выводы + +В ходе работы я научился: +- запускать Docker-контейнеры и подключаться к ним; +- выполнять базовые команды Linux для работы с файлами и каталогами; +- автоматизировать последовательность команд с помощью скрипта и Dockerfile. + +Все действия успешно выполнены, результаты сохранены. diff --git a/SerovAA/script.sh b/SerovAA/script.sh new file mode 100644 index 0000000..5986584 --- /dev/null +++ b/SerovAA/script.sh @@ -0,0 +1,40 @@ +#!/bin/bash + +cd ~ +touch SerovAA.txt + +echo "День недели: $(date +%A)" + +echo "Информация о /bin/bash:" +ls -l /bin/bash +file /bin/bash + +wget http://www.lib.ru/CARROLL/alice.txt -O alice.txt + +echo "Количество слов в alice.txt: $(wc -w < alice.txt)" + +echo "Первые 19 строк:" +head -n 19 alice.txt + +echo "Последние 17 строк:" +tail -n 17 alice.txt + +mkdir test{1..40} +rmdir test*3 test*7 2>/dev/null || true + +ls -d test* > test.txt +echo "Количество строк в test.txt: $(wc -l < test.txt)" + +for i in {5..40..5}; do + if [ -d test$i ]; then + date +%Y-%m-%d > test$i/date.txt + fi +done + +for i in {10..40..10}; do + if [ -d test$i ]; then + date +%T >> test$i/date.txt + fi +done + +tail -f /dev/null