10. cp (Копировать)

Команда cp — это стандартный инструмент для копирования файлов и каталогов в Linux. Ее базовый синтаксис: cp [ИСТОЧНИК] [НАЗНАЧЕНИЕ].

Базовое копирование файлов

Чтобы скопировать файл, вы указываете исходный файл и целевой каталог или путь.

cp mycoolfile /home/pete/Documents/cooldocs

В этом примере mycoolfile — это исходный файл, а /home/pete/Documents/cooldocs — целевой каталог. Вы также можете скопировать файл и присвоить ему новое имя в месте назначения.

cp mycoolfile /home/pete/Documents/mycoolfile_backup

Использование подстановочных знаков для массового копирования

Подстановочные знаки (wildcards) — это специальные символы, которые помогают выбирать несколько файлов на основе шаблонов, обеспечивая большую гибкость.

  • *: Соответствует любой последовательности символов.
  • ?: Соответствует любому одному символу.
  • []: Соответствует любому из символов, заключенных в скобки.

Например, чтобы скопировать все JPEG-изображения из текущего местоположения в каталог Pictures:

cp *.jpg /home/pete/Pictures

Рекурсивное копирование каталогов

Если вы попытаетесь скопировать каталог с помощью cp без каких-либо опций, вы получите ошибку. Чтобы скопировать каталог и все его содержимое, включая подкаталоги, необходимо использовать флаг -r (рекурсивный).

cp -r Pumpkin/ /home/pete/Documents

Эта команда копирует каталог Pumpkin и все, что находится внутри него, в ваш каталог Documents.

Обработка перезаписи файлов

По умолчанию cp перезапишет файл в месте назначения, если у него такое же имя. Чтобы предотвратить случайную потерю данных, используйте флаг -i (интерактивный), который запрашивает подтверждение перед перезаписью.

cp -i mycoolfile /home/pete/Pictures

И наоборот, если вы хотите принудительно перезаписать файл без каких-либо запросов, вы можете использовать флаг cp -f. Это полезно в сценариях, где взаимодействие с пользователем невозможно.

cp -f mycoolfile /home/pete/Pictures

Сохранение атрибутов файлов с помощью cp -p

При копировании файла его метаданные, такие как время изменения и владелец, обычно обновляются. Чтобы сохранить эти исходные атрибуты, флаг cp -p имеет решающее значение. Использование cp -p in linux гарантирует, что копия является точной репликой не только по содержимому, но и по метаданным.

Флаг cp -p flag особенно полезен для резервного копирования или при миграции файлов, когда сохранение временных меток имеет решающее значение.

cp -p mycoolfile /home/pete/backups/

Эта команда демонстрирует, как использовать linux cp -p для копирования mycoolfile с сохранением его режима, владельца и временных меток.

Войдите, чтобы сохранить ваш прогресс обучения

Вход

Упражнения

Практика ведет к совершенству! Вот несколько практических лабораторных работ для закрепления понимания копирования файлов и каталогов в Linux:

  1. Команда Linux cp: Копирование файлов - Практикуйте базовое использование, расширенные опции, такие как рекурсивное копирование, сохранение атрибутов и использование подстановочных знаков для эффективного копирования файлов и каталогов.
  2. Организация файлов и каталогов - Отработайте основные навыки управления файлами в Linux, используя команды cp, mv и rm для организации структуры проекта, перемещения файлов и очистки ненужных каталогов.

Эти лабораторные работы помогут вам применять концепции в реальных сценариях и обрести уверенность в копировании и управлении файлами в Linux.

Тест

Какой флаг необходимо указать для копирования каталога?