Введение
В этом проекте вы научитесь копировать файлы размером более 10 КБ из директории /etc в директорию /tmp/etc, сохраняя структуру директорий. Это полезный навык для управления и организации файлов в системе Linux.
🎯 Задачи
В этом проекте вы научитесь:
- Создавать скрипт для копирования файлов в зависимости от размера
- Использовать команду
findдля поиска файлов, соответствующих определенным критериям - Сохранять структуру директорий при копировании файлов
- Запускать скрипт с повышенными привилегиями с использованием
sudo
🏆 Достижения
После завершения этого проекта вы сможете:
- Автоматизировать процесс копирования файлов в зависимости от размера
- Сохранять структуру директорий при копировании файлов
- Эффективно использовать команду
findдля поиска файлов, соответствующих определенным критериям - Запускать скрипты с повышенными привилегиями для доступа к защищенным файлам и директориям
Создайте скрипт копирования
В этом шаге вы создадите скрипт, который скопирует файлы размером более 10 КБ из директории /etc в директорию /tmp/etc.
- Откройте файл
copy.shв директории/home/labex/projectс использованием текстового редактора. - Добавьте в файл следующий код:
#!/bin/zsh
## Этот скрипт копирует файлы размером более 10 КБ из исходной директории в целевую директорию.
## Определите исходную директорию и целевую директорию
source_dir="/etc"
target_dir="/tmp"
## Создайте целевую директорию, если она не существует
mkdir -p "$target_dir"
## Используйте команду find для поиска файлов размером более 10 КБ и скопируйте их в целевую директорию
find "$source_dir" -type f -size +10k -exec cp --parents --dereference "{}" "$target_dir" \;
echo "Копирование файлов завершено."
- Сохраните файл.
В этом шаге вы создали скрипт copy.sh, который скопирует файлы размером более 10 КБ из директории /etc в директорию /tmp/etc, сохраняя структуру директорий.
Запустите скрипт копирования
В этом шаге вы запустите скрипт copy.sh для копирования файлов.
- Откройте терминал и перейдите в директорию
/home/labex/project. - Запустите скрипт с использованием следующей команды:
sudo sh copy.sh
Это запустит скрипт с повышенными привилегиями, позволяя скопировать файлы, к которым у пользователя labex может не быть доступа.
- Подождите, пока скрипт завершится. Когда скрипт закончится, вы должны увидеть сообщение "Копирование файлов завершено".
В этом шаге вы запустили скрипт copy.sh для копирования файлов размером более 10 КБ из директории /etc в директорию /tmp/etc.
Проверьте скопированные файлы
В этом шаге вы проверите, были ли файлы скопированы правильно.
- Откройте файловый менеджер и перейдите в директорию
/tmp/etc. - Просмотрите структуру директории и скопированные файлы. Вы должны увидеть, что структура директорий сохранена, и скопированы только файлы размером более 10 КБ.
- Вы также можете использовать команду
ls -lв терминале, чтобы вывести список файлов и их размеров в директории/tmp/etc.
В этом шаге вы проверили, что файлы были скопированы правильно из директории /etc в директорию /tmp/etc.
Поздравляем! Вы успешно завершили проект по копированию файлов размером более 10 КБ из директории /etc в директорию /tmp/etc, сохраняя структуру директорий.
Резюме
Поздравляем! Вы завершили этот проект. Вы можете практиковаться в более многих лабораторных работах в LabEx, чтобы улучшить свои навыки.



