Введение в Bash

Основные команды

Содержание курса

Разбор команды cp

Что такое cp?

cp (от английского copy) — это команда для копирования файлов и каталогов. Она позволяет создавать резервные копии файлов, дублировать каталоги и организовывать данные в файловой системе.

Основной синтаксис

cp [опции] источник назначение
  • источник — файл или каталог, который необходимо скопировать.
  • назначение — путь, куда копируется источник. Это может быть либо новый файл, либо каталог.

Основные опции cp

  • -r или -R
    Рекурсивное копирование. Используется для копирования каталогов вместе с их содержимым (подкаталогами и файлами).

    cp -r папка_источник папка_назначение
  • -a
    Режим архива. Эквивалентно набору опций -dR --preserve=all. Копирует каталоги рекурсивно, сохраняет символьные ссылки, права доступа, временные метки и другие атрибуты файлов.

    cp -a исходник/ копия/
  • -v
    Режим подробного вывода (verbose). При выполнении команды выводятся сообщения о каждом копируемом файле.

    cp -v file1.txt /backup/
  • -i
    Интерактивный режим. Перед перезаписью существующего файла запрашивает подтверждение у пользователя.
    Пример:

    cp -i source.txt destination.txt
  • -u
    Копирование только в том случае, если источник новее или файл назначения отсутствует. Полезно для обновления резервных копий.
    Пример:

    cp -u file.txt /backup/

Примеры использования

Пример 1: Копирование одного файла

cp document.txt document_backup.txt

Эта команда создаст копию файла document.txt с именем document_backup.txt в текущем каталоге.

Пример 2: Копирование файла в другой каталог

cp report.pdf /home/user/backup/ 

Команда скопирует report.pdf в каталог /home/user/backup/. Если в каталоге уже есть файл с таким именем, он будет перезаписан (если не используется интерактивный режим).

Пример 3: Рекурсивное копирование каталога

cp -r projects/ projects_backup/

Опция -r позволяет скопировать весь каталог projects вместе с его подкаталогами и файлами в новый каталог projects_backup.

Пример 4: Копирование с сохранением атрибутов

cp -a my_folder/ my_folder_copy/

Опция -a (archive) копирует каталог my_folder вместе с правами доступа, временными метками и символьными ссылками, создавая полную "архивную" копию.

Пример 5: Копирование с запросом подтверждения

cp -i config.conf /etc/config.conf

Если файл /etc/config.conf существует, команда спросит у пользователя, действительно ли он хочет его перезаписать.

Практическое применение

  • Резервное копирование:
    Используйте cp для создания резервных копий важных файлов или каталогов перед внесением изменений.

  • Развертывание файлов:
    При автоматизации установки приложений часто требуется скопировать конфигурационные файлы или данные из одного места в другое.

  • Обновление данных:
    Опция -u удобна для синхронизации файлов: копировать только новые или изменённые файлы в целевой каталог.

Советы и особенности

  • Проверяйте пути:
    Перед копированием всегда убеждайтесь, что указаны корректные пути источника и назначения, чтобы не перезаписать важные данные случайно.

  • Используйте интерактивный режим (-i):
    Это особенно полезно при копировании файлов в системные каталоги, чтобы избежать непреднамеренной перезаписи.

  • Права доступа:
    Если вы копируете файлы между различными пользователями или системами, сохранение атрибутов с помощью -a поможет избежать проблем с правами доступа и временными метками.

Начать заново?

Помощник начнёт новый диалог по этой задаче. Текущая переписка останется в истории до конца срока хранения.

О переписке

Можно приложить до трёх фото PNG, JPEG или WebP по 5 МБ.

Переписка и фото хранятся 90 дней после последнего принятого сообщения. Преподаватель получит доступ к диалогу, когда вы попросите его помочь.

Проверка решения остаётся отдельным действием.