В рамках данной статьи будет представлен обзор синтаксиса и опций команды 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





