Командная строка: cp
cp - копируем файлы и папки
Команда cp
является сокращением от слова copy
, она нужна для копирования файлов и папок.
Для того чтобы скопировать файл или папку из источника в приемник нужно выполнить следующее действие:
# копируем файл
cp old_file new_file
# копируем папку
cp old_cat new_cat
Чтобы скопировать в файл в определенную папку для каталога-приемника в конце следует добавить слеш:
# копируем файл в каталог
cp old_file new_cat/
Так же для копирования файла в директорию в качестве альтернативы можно использовать опцию -t
- в этом случае файл-приемник будет интерпретирован как директория, файл-источник будет скопирован в эту директорию:
# копируем файл в каталог
cp -t old_file new_cat
Для рекурсивного копирования директории со всем ее содержимым следует использовать опцию -r
:
# копируем директорию со всем ее содержимым (создается новая директория - new_cat)
cp -r old_cat new_cat
для рекурсивного копирования директории в другую директорию нужно использовать слеш в конце директории-приемника:
# копируем директорию со всем ее содержимым в другую директорию
cp -r child_cat parent_cat/
Если есть вероятность существования папки или файла с таким же названием можно форсировать процесс и перезаписать уже существующий файл без дополнительных уведомлений:
# форсируем перезапись уже существующего файлы
cp -f old_file same_file
Но, с помощью опции -i
можно и спросить - нужно перезаписывать уже существующий файл:
# спрашиваем, нужно ли перезапись уже существующего файлы
cp -i old_file same_file
Кроме того, опция -n
запрещает перезапись уже существующего файла:
# запрещаем перезапись уже существующего файлы
cp -n old_file same_file
Опция -u
позволит скопировать файл, только если он был изменен:
# копируем только измененный файл
cp -n old_file same_file
В целом, команда cp
имеет достаточно большое количество опций, определяющих, какой именно результат будет получен:
-
--attributes-only
- запрещаем копирование содержимого файла, копируем только флаги доступа и владельца, -
-f
,--force
- перезаписываем уже существующий файл, -
-i
,--interactive
- спрашиваем, нужно ли перезаписывать существующий файл, -
-L
- копируем не символические ссылки, а файлы или папки, на которые они указывают, -
-n
- запрещаем перезапись уже существующего файла, -
-P
- не следуем символическим ссылкам, -
-r
- копируем директорию рекурсивно, -
-s
- не выполняем копирование файла или папки, а создаем символическую ссылку, -
-u
- копируем файл, только если он был изменён, -
-x
- не выходим за пределы существующей файловой системы, -
-p
- сохраняем владельца, временные метки и флаги доступа при копировании, -
-t
- указываем, что файл-приемник является директорией и копируем файл-источник в эту директорию.
Спасибо за внимание.