В рамках данной статьи будет представлен обзор синтаксиса и опций команды cp
, используемой для копирования файлов и директорий в операционной системе Linux. Команда cp
является одной из базовых команд, применяемых пользователями для выполнения операций по управлению файлами и каталогами.
Синтаксис команды cp
Синтаксическая структура команды cp
выглядит следующим образом:
cp [опции] исходный_файл целевой_файл
или
cp [опции] исходные_файлы целевая_директория
Где:
– [опции]
– это набор параметров, определяющих поведение команды;
– исходный_файл
или исходные_файлы
– один или несколько файлов/каталогов, подлежащих копированию;
– целевой_файл
или целевая_директория
– файл или директорию, куда будут скопированы исходные файлы.
Основные опции команды cp
1. -a
, --archive
: режим архивации, при котором сохраняются все атрибуты файла (владельцы, права доступа, временные метки).
2. -b
, --backup
: создание резервной копии существующего файла перед его заменой.
3. -f
, --force
: принудительное перезапись существующих файлов назначения.
4. -i
, --interactive
: запрос подтверждения перед перезаписью существующего файла.
5. -l
, --link
: вместо копирования создавать жесткую ссылку на исходный файл.
6. -n
, --no-clobber
: не переписывать существующие файлы назначения.
7. -p
, --preserve
: сохранение атрибутов файла (права доступа, временная метка последнего изменения).
8. -r
, --recursive
: рекурсивное копирование всех подкаталогов и содержимого исходного каталога.
9. -s
, --symbolic-link
: вместо копирования создавать символическую ссылку на исходный файл.
10. -u
, --update
: копировать только те файлы, которые новее или отсутствуют в целевой директории.
11. -v
, --verbose
: подробный вывод информации о процессе копирования.
12. -x
, --one-file-system
: не пересекать границы файловой системы.
13. -R
, --recursive
: то же самое, что и -r
.
14. -H
: следовать символическим ссылкам, указанным как аргументы команды.
15. -L
: следовать всем символическим ссылкам.
16. -P
: никогда не следовать символическим ссылкам.
17. -d
: эквивалентен комбинации -P -r
.
18. -t
, --target-directory=DIRECTORY
: указать целевую директорию для копируемых файлов.
19. -S
, --suffix=SUFFIX
: использовать указанное расширение для резервных копий.
20. -T
, --no-target-directory
: трактовать последний аргумент как имя файла, а не как директорию.
21. -Z
, --context=CONTEXT
: установить контекст безопасности SELinux для целевого файла.
22. --help
: вывести справку по команде.
23. --version
: показать версию программы.
Примеры использования команды cp
Простое копирование одного файла:
cp file.txt /home/user/
Рекурсивное копирование всего содержимого каталога:
cp -r directory/ /home/user/new_directory/
Архивное копирование с сохранением атрибутов:
cp -a source_dir/ destination_dir/
Запрос подтверждения перед перезаписью:
cp -i old_file new_file
Создание символической ссылки вместо копирования:
cp -s original_file link_name