📝 Задания для закрепления

К оглавлению урока

⚡ Задания коротко

  1. Найти все .log файлы в /var/log командой find
  2. Найти файлы > 1МБ, изменённые за последние 7 дней в /home
  3. Обновить базу locate и найти файл passwd
  4. Написать цикл for, выводящий числа 1..10
  5. Написать цикл while, выводящий числа 1..5
  6. Разобрать практический скрипт из лекции

Задание 1: Поиск с find по критериям

Выполните следующие поиски командой find:

  1. Найдите все .log файлы в каталоге /var/log
  2. Найдите все обычные файлы в /tmp
  3. Найдите файлы в /home размером больше 1 МБ, изменённые за последние 7 дней
  4. Найдите все файлы с расширением .txt в текущей директории и подавите ошибки
  5. Найдите все файлы в /root и скопируйте их в /tmp/backup командой -exec cp

→ Посмотреть решения

Задание 2: Команда locate

  1. Обновите базу данных locate командой sudo updatedb
  2. Найдите файл passwd командой locate
  3. Найдите все .conf файлы с помощью locate
  4. Найдите файлы в директории /etc с расширением .txt используя флаг -r

→ Посмотреть решения

Задание 3: Цикл for

  1. Напишите цикл for, который выведет числа от 1 до 10
  2. Измените цикл: выводить не число, а строку "Iteration: N"
  3. Напишите цикл, который перечислит все .txt файлы в текущей директории

→ Посмотреть решения

Задание 4: Цикл while

  1. Напишите цикл while, который выведет числа от 1 до 5
  2. Напишите бесконечный цикл с выводом "Alive" каждые 2 секунды (остановить Ctrl+C)

→ Посмотреть решения

Задание 5: Разобрать скрипт из лекции

Дан скрипт (из лекции). Ответьте на вопросы:

#!/bin/bash
DATE=`date '+%d-%m-%y'`
for i in {1..5}
do
    date +'%H-%M-%S' > File-$i.txt
    sleep 5
done
mkdir -p $DATE
cp File*.txt $DATE
for FILE in $DATE/*
do
    cat $FILE
done
  1. Что хранится в переменной DATE?
  2. Что делает первый цикл for?
  3. Зачем нужна команда sleep 5?
  4. Что делает второй цикл for?
  5. Почему mkdir -p, а не просто mkdir?

→ Посмотреть решения