Bsdadmin.ru

Записки администратора FreeBSD

Путь на сайте

Домашняя Mans FreeBSD по-русски cp - копирование файлов

cp - копирование файлов

НАЗВАНИЕ
     cp -- копировать файлы

СИНТАКСИС
     cp [-R [-H | -L | -P]] [-f | -i | -n] [-lpv] исходный_файл целевой_файл
     cp [-R [-H | -L | -P]] [-f | -i | -n] [-lpv] исходный_файл ...         целевой_каталог

  ОПИСАНИЕ
     В первой форме утилита cp копирует содержимое файла исходный_файл в
     целевой_файл.  Во второй форме содержимое каждого указанного файла копи-
     руется в целевой_каталог.  Имена самих файлов при этом не изменяются.
     Если cp обнаруживает попытку копирования файла самого в себя, копирование
     не производится.

     Имеются следующие опции:

     -H    Если указана опция -R, следовать символическим ссылкам, указанным в
           командной строке, но не следовать символическим ссылкам, встречаю-
           щимся в процессе обхода дерева каталогов.

     -L    Если указана опция -R, следовать всем символическим ссылкам.

     -P    Если указана опция -R, не следовать никаким символическим ссылкам.
           Это режим работы по умолчанию.

     -R    Если исходный_файл указывает на каталог, cp копирует этот каталог
           вместе со всем деревом файловой иерархии, которое он содержит.  Ес-
           ли исходный_файл оканчивается на /, копируется не сам каталог, а
           только его содержимое.  Эта опция также указывает на необходимость
           копирования символических ссылок, а не объектов, на которые они
           указывают, и заставляет cp создавать специальные файлы вместо того,
           чтобы копировать их, как обычные.  Создаваемые каталоги имеют те же
           права доступа, что и исходные каталоги, вне зависимости от действу-
           ющего для процесса значения umask.

           Обратите внимание, что cp копирует жёсткие ссылки как отдельные
           файлы.  Если вам нужно сохранять жёсткие ссылки, используйте
           tar(1), cpio(1) или pax(1).

     -f    Для каждого уже существующего целевого имени пути, удалять его и
           создавать новый файл, не требуя подтверждения операции, вне зависи-
           мости от его прав доступа.  (Опция -f отменяет действие любой из
           ранее указанных опций -i или -n.)

     -i    Заставляет cp выдавать запрос через стандартный файл ошибок перед
           копированием файла, которое бы вызвало перезапись существующего
           файла.  Если ответ, полученный со стандартного ввода, начинается
           символом `y' или `Y', будет предпринята попытка копирования.
           (Опция -i отменяет действие любой из ранее заданных опций -f или
           -n.)

     -l    Создавать жёсткие ссылки на обычные файлы в иерархии вместо того,
           чтобы их копировать.

     -n    Не перезаписывать существующие файлы.  (Опция -n отменяет действие
           любой из предшествующих опций -f или -i.)

     -p    Заставляет cp сохранять следующие атрибуты каждого исходного файла
           в создаваемой копии: время модификации, время доступа, флаги файла,
           режим доступа, идентификаторы пользователя и группы, насколько это
           позволено правами доступа.

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

           Если исходный файл имеет установленный бит set-user-ID и значение
           идентификатора пользователя не может быть сохранено, бит set-user-
           ID в атрибутах копии не сохраняется.  Если исходный файл имеет
           установленный бит set-group-ID и значение идентификатора группы не
           может быть сохранено, бит set-group-ID в атрибутах копии не сохра-
           няется.  Если исходный файл имеет установленные биты set-user-ID и
           set-group-ID и значение либо идентификатора пользователя, либо
           идентификатора группы не может быть сохранено, ни один из битов
           set-user-ID и set-group-ID в атрибутах копии не сохраняется.

     -v    Выводить больше информации, показывая файлы по мере их копирования.

     Для каждого уже существующего целевого файла, его содержимое перезаписы-
     вается, если позволяют права.  Его режим доступа и идентификаторы пользо-
     вателя и группы не изменяются, если не задана опция -p.

     Во второй синтаксической форме целевой_каталог должен существовать, если
     только не был указан единственный исходный_файл, являющийся каталогом, и
     опция -R.

     Если целевой файл не существует, используются права исходного файла,
     изменённые в соответствии со значением umask (см. csh(1)).  Если исходный
     файл имеет установленный бит set-user-ID, этот бит сбрасывается, если
     только исходный файл и файл назначения не принадлежат одному владельцу.
     Если исходный файл имеет установленный бит set-user-ID, этот бит сбрасы-
     вается, если только исходный файл и файл назначения не принадлежат одной
     группе, а пользователь является членом этой группы.  Если установлены оба
     бита, и set-user-ID, и set-group-ID, должны быть соблюдены оба вышеупомя-
     нутых условия, в противном случае оба этих бита сбрасываются.

     Для создания или перезаписи файлов требуются соответствующие права
     доступа.

     Утилита cp всегда следует символическим ссылкам, если только не указана
     опция -R (в этом случае она по умолчанию символическим ссылкам не сле-
     дует).  Опции -H или -L (совместно с опцией -R) приводят к тому, что cp
     будет следовать символическим ссылкам, как описано выше.  Опции -H, -L и
     -P игнорируются, если не указана опция -R.  Кроме этого, эти опции отме-
     няют друг друга, и действия команды определяются той опцией, которая была
     указана последней.

     Если cp получает сигнал SIGINFO (см. аргумент status для stty(1)), на
     стандартный вывод будут выведены имена текущего исходного и целевого фай-
     лов, а также прогресс копирования в процентах.

СТАТУС ЗАВЕРШЕНИЯ
     Утилита cp возвращает 0 в случае успешного завершения и >0 в случае воз-
     никновения ошибки.

СОВМЕСТИМОСТЬ
     Старые версии cp имели опцию -r.  Данная реализация поддерживает эту
     опцию, однако её поведение отличается от исторического.  Использование
     этой опции настоятельно не рекомендуется, так как её поведение зависит от
     конкретной реализации.  Во FreeBSD, -r является синонимом для -RL и рабо-
     тает так же, если это не переопределено другими флагами.  Реализация -r в
     старых версиях отличалась тем, что при воссоздании иерархии файлов специ-
     альные файлы копировались как обычные.

     Опции -v и -n являются нестандартными и их использование в командных сце-
     нариях не рекомендуется.

СМОТРИ ТАКЖЕ
     mv(1), rcp(1), umask(2), fts(3), symlink(7)

СТАНДАРТЫ
     Предполагается, что утилита cp совместима со стандартом IEEE Std 1003.2
     (``POSIX.2'').

ИСТОРИЯ
     Команда cp появилась в Version 1 AT&T UNIX.