Команда cp в Linux

Linux 命令大全Справочник команд Linux

Команда cp в Linux (полное английское название: copy file) в основном используется для копирования файлов или каталогов.

С помощью команды cp пользователи могут копировать файлы или каталоги из одного места в другое и при необходимости сохранять атрибуты исходных файлов (такие как права доступа, временные метки и т. д.).

Синтаксис

cp [options] source dest
или 
cp [选项] 源文件 目标文件

Здесь source (исходный файл) обозначает путь к копируемому файлу или каталогу, а dest (целевой файл) — путь к скопированному файлу или каталогу.

Описание опций:

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

  • -i: Интерактивный режим; запрашивает у пользователя подтверждение перед перезаписью.

  • -f: Принудительно копировать; перезаписывать целевой файл без запроса.

  • -v: Отображать подробный процесс копирования (verbose).

  • -p: Сохранять исходные атрибуты файла (такие как права доступа, временные метки и т. д.).

  • -a: Архивный режим, эквивалентный-dpR, который сохраняет все атрибуты файлов и рекурсивно копирует каталоги.

  • -u: Копировать только тогда, когда исходный файл новее файла назначения (режим обновления).

  • -l: Создавать жёсткие ссылки вместо копирования файлов.

  • -s: Создавать символические ссылки (мягкие ссылки) вместо копирования файлов.

Примеры

1. Скопировать файл в каталог назначения

cp file.txt /path/to/destination/

Скопируйте file.txt в каталог /path/to/destination/.

2. Скопировать файл и переименовать его

cp file.txt /path/to/destination/newfile.txt

Скопируйте file.txt в каталог /path/to/destination/ и переименуйте его в newfile.txt.

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

cp -r /path/to/source_dir /path/to/destination/

Рекурсивно скопируйте каталог source_dir и его содержимое в каталог назначения.

4. Скопировать в интерактивном режиме

cp -i file.txt /path/to/destination/

Если файл с тем же именем уже существует в месте назначения, пользователю будет предложено подтвердить, перезаписывать ли его.

5. Сохранить атрибуты файла

cp -p file.txt /path/to/destination/

Копировать файл и сохранять его исходные атрибуты (такие как права доступа, временные метки и т. д.).

6. Копировать только более новые файлы

cp -u file.txt /path/to/destination/

Копировать только если file.txt новее, чем файл назначения.

7. Отображать процесс копирования

cp -v file.txt /path/to/destination/

Отображать подробную информацию о копировании.

8. Создавать жёсткие ссылки или символические ссылки

cp -l file.txt /path/to/destination/  # 创建硬链接
cp -s file.txt /path/to/destination/  # 创建符号链接

9. Копировать несколько файлов в каталог

cp file1.txt file2.txt /path/to/destination/

Копировать несколько файлов в каталог назначения.

10. Копировать с использованием подстановочных знаков

cp *.txt /path/to/destination/

Копировать все файлы .txt в каталог назначения.

11. Объединить с командой find для копирования определённых файлов

find /path/to/source -name "*.log" -exec cp {} /path/to/destination/ \;

Найти и скопировать все файлы .log в каталог назначения.

Выше приведены лишь некоторые распространённые способы использования команды cp. Вы можете выполнить командуman cp, чтобы просмотреть дополнительные параметры и способы использования.

Примечания

  1. Если путь назначения является каталогом,cpисходный файл или каталог будет скопирован в этот каталог.

  2. Если путь назначения является именем файла,cpисходный файл будет скопирован и переименован в имя файла назначения.

  3. При копировании каталога необходимо использовать-rили-Rопцию, иначе будет выдана ошибка.

  4. Если файл назначения уже существует, по умолчаниюcpон будет перезаписан (если не-iиспользуется опция).

Linux 命令大全Справочник команд Linux

Другие расширения