Команда cp в Linux: Все, что нужно знать для коп

3903b9cc 646a 4df9 95f9 f1e3befbf0e3 HTML

Команда cp, сокращение от слова «copy», — это основной инструмент для копирования файлов и папок в UNIX-подобных системах. Она обладает широким набором опций, которые позволяют копировать файлы и директории с различными условиями и параметрами.

Основы использования команды cp

Чтобы скопировать файл или папку, выполните следующую команду:

# Копируем файл
cp old_file new_file

# Копируем папку
cp -r old_dir new_dir

Если вам нужно скопировать файл в определенную директорию, добавьте слеш (/) в конце имени каталога:

# Копируем файл в каталог
cp old_file new_dir/

Копирование с помощью опции -t

Альтернативный способ копирования файла в директорию — использование опции -t, которая указывает, что файл-назначение является директорией:

# Копируем файл в каталог с использованием -t
cp -t new_dir old_file

Рекурсивное копирование директорий

Для копирования содержимого целой директории, включая все вложенные файлы и папки, используется опция -r:

# Рекурсивное копирование директории
cp -r old_dir new_dir

Если вы хотите скопировать одну директорию в другую, добавьте слеш в конце пути назначения:

# Копируем директорию в другую директорию
cp -r child_dir parent_dir/

Управление перезаписью файлов

Если файл с таким же именем уже существует в месте назначения, команда cp может предложить несколько вариантов действий:

  • Форсированная перезапись: Если вы хотите автоматически перезаписать уже существующий файл, используйте опцию -f:
# Форсируем перезапись уже существующего файла
cp -f old_file same_file
  • Интерактивная перезапись: Если вы хотите, чтобы система спрашивала вас перед перезаписью файла, используйте опцию -i:
# Спрашиваем, нужно ли перезаписать существующий файл
cp -i old_file same_file
  • Запрещение перезаписи: Если вы хотите избежать перезаписи уже существующего файла, используйте опцию -n:
# Запрещаем перезапись существующего файла
cp -n old_file same_file
  • Копирование только измененных файлов: Опция -u позволяет копировать файлы только в том случае, если они были изменены:
# Копируем только изменённый файл
cp -u old_file same_file

Дополнительные опции команды cp

Команда cp поддерживает множество других полезных опций:

  • --attributes-only: Копирует только атрибуты файла, без его содержимого.
  • -L: Копирует не символические ссылки, а файлы или папки, на которые они указывают.
  • -P: Не следует символическим ссылкам, а копирует их как ссылки.
  • -s: Создает символическую ссылку вместо копирования файла или папки.
  • -x: Ограничивает копирование рамками одной файловой системы.
  • -p: Сохраняет права доступа, временные метки и владельца при копировании.

Заключение

Команда cp — это мощный и гибкий инструмент для копирования файлов и директорий в UNIX-подобных системах. Она предоставляет разработчикам и системным администраторам широкий набор опций, позволяющих точно настроить процесс копирования в зависимости от требований задачи. Независимо от того, копируете ли вы одиночные файлы или целые директории, команда cp предложит вам оптимальные способы управления этим процессом.

Оцените статью