Команда cp в 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, чтобы просмотреть дополнительные параметры и способы использования.
Примечания
Если путь назначения является каталогом,
cpисходный файл или каталог будет скопирован в этот каталог.Если путь назначения является именем файла,
cpисходный файл будет скопирован и переименован в имя файла назначения.При копировании каталога необходимо использовать
-rили-Rопцию, иначе будет выдана ошибка.Если файл назначения уже существует, по умолчанию
cpон будет перезаписан (если не-iиспользуется опция).
Справочник команд Linux