Jump to content

КП (Unix)

(Перенаправлено из Cp (команда EFI) )
КП
Оригинальный автор(ы) AT&T Bell Laboratories
Разработчик(и) Различные с открытым исходным кодом и коммерческие разработчики разработчики
Первоначальный выпуск 3 ноября 1971 г .; 52 года назад ( 1971-11-03 )
Написано в План 9: С
Операционная система Unix , Unix-подобные , Plan 9 , Inferno , KolibriOS
Платформа Кросс-платформенный
Тип Команда
Лицензия основные утилиты : GPLv3
План 9: МОЯ лицензия

В вычислениях , cp команда в различных Unix и Unix-подобных операционных системах для копирования файлов и каталогов . Команда имеет три основных режима работы, выраженных типами аргументов, предоставляемых программе для копирования файла в другой файл, одного или нескольких файлов в каталог или для копирования целых каталогов в другой каталог. [1]

Утилита также принимает различные флаги опций командной строки для детализации выполняемых операций. Двумя основными спецификациями являются POSIX cp и GNU cp . GNU cp имеет множество дополнительных опций по сравнению с версией POSIX. [2]

Команда также доступна в оболочке EFI . [3]

cp был частью Unix версии 1 . [4] Версия cp пакет GNU coreutils был написан Торбьёрном Гранлундом, Дэвидом Маккензи и Джимом Мейерингом. [5]

Режимы работы

[ редактировать ]

cp имеет три основных режима работы. Эти режимы определяются на основе типа и количества аргументов, предоставляемых программе при вызове.

  • Когда программа имеет два аргумента пути к файлам, программа копирует содержимое первого файла во второй файл, при необходимости создавая второй файл.
  • Если программа имеет один или несколько аргументов, указывающих путь к файлам, а за ними следует аргумент пути к каталогу, то программа копирует каждый исходный файл в целевой каталог, создавая любые еще не существующие файлы.
  • Когда аргументами программы являются имена путей к двум каталогам, cp копирует все файлы из исходного каталога в целевой каталог, создавая любые необходимые файлы или каталоги. Для этого режима работы требуется дополнительный флаг опции, обычно r , для указания рекурсивного копирования каталогов. Если каталог назначения уже существует, источник копируется в пункт назначения, а если пункт назначения не существует, создается новый каталог.

Использование

[ редактировать ]

Копирование файла в другой файл:

cp [-fHip][--] sourcefile targetfile

Копирование файла(ов) в каталог

cp [-fHip] [--] sourcefile... targetdirectory

Копирование каталога в каталог (необходимо использовать -r или -R)

cp -r|-R [-fHip] [--]  sourcedirectory... targetdirectory

Флаги опций

[ редактировать ]
  • -f (force) – указывает удаление целевого файла, если его невозможно открыть для операций записи. Удаление предшествует любому копированию, выполняемому cp команда.
  • -H (разыменование) – делает cp команда следует по символическим ссылкам (символическим ссылкам), чтобы в месте назначения был целевой файл, а не символическая ссылка на цель.
  • -i (интерактивный) – запрашивает имя файла, который необходимо перезаписать. Это происходит, если параметр TargetDirectory или TargetFile содержит файл с тем же именем, что и файл, указанный в параметре SourceFile или SourceDirectory . Если кто-то войдет y (или локальный эквивалент y), cp команда продолжается. Любой другой ответ препятствует cp команда от перезаписи файла.
  • -n (без затирания ) – предотвращает случайную перезапись любых файлов.
  • -p (заповедник) – -p Флаг сохраняет следующие характеристики каждого исходного пути в соответствующем целевом объекте: время последней модификации данных и время последнего доступа , право собственности (только если у него есть разрешения на это) и биты разрешения файла.
  • -R или -r (рекурсивный) – рекурсивно копировать каталоги.

Создание копии файла в текущем каталоге:

cp prog.c prog.bak

Это скопирует prog.c в prog.bak. Если файл prog.bak еще не существует, команда cp создает его. Если он существует, команда cp заменяет его содержимое содержимым файла prog.c.

Скопируйте два файла из текущего каталога в другой каталог:

cp jones smith /home/nick/clients

При этом файлы jones копируются в /home/nick/clients/jones, а файлы smith — в /home/nick/clients/smith.

Скопируйте файл в новый файл и сохраните дату, время и список управления доступом изменения, связанные с исходным файлом:

cp -p smith smith.jr

Это скопирует файл smith в файл smith.jr. Вместо создания файла с текущей отметкой даты и времени система присваивает файлу smith.jr ту же дату и время, что и файлу smith. Файл smith.jr также наследует защиту контроля доступа файла smith.

Скопируйте каталог, включая все его файлы и подкаталоги, в другой каталог:

cp -R /home/nick/clients /home/nick/customers

При этом каталог « клиенты» , включая все его файлы, подкаталоги и файлы в этих подкаталогах, копируется в каталог « клиенты/клиенты» . Некоторые системы Unix ведут себя в этом режиме по-разному, в зависимости от завершения путей к каталогам. С использованием cp -R /home/nick/clients/ /home/nick/customers в системе GNU он ведет себя так, как ожидалось; однако в системе BSD он копирует все содержимое каталога «клиенты», а не сам каталог «клиенты » . То же самое происходит как в системах GNU, так и в BSD, если путь к исходному каталогу заканчивается на . или .. (с косой чертой или без нее).

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

[ редактировать ]
  • cpio – копировать всю структуру каталогов из одного места в другое
  • tar — создать архив файлов
  • link — системный вызов для создания ссылки на файл или каталог.
  • ln – создать ссылку на файл или каталог
  • mv – переместить файл или каталог
  • rm – удалить файл или каталог
  • unlink – системный вызов для удаления файла или каталога
  • chmod – изменить режим (он же разрешения) для файла или каталога
  • chown – изменить владельца файла или каталога
  • chgrp – изменить группу в файле или каталоге
  • uucp — копирование из unix в unix
  • scp – безопасное копирование через SSH
  • прогресс, [6] [7] Инструмент Linux для отображения прогресса cp, mv, dd.

См. также

[ редактировать ]
  1. ^ «Cp(1) — страница руководства Linux» .
  2. ^ «GNU Coreutils: вызов cp» . ГНУ .
  3. ^ «Оболочки EFI и сценарии» . Интел . Проверено 25 сентября 2013 г.
  4. ^ Макилрой, доктор медицины (1987). Читатель Research Unix: аннотированные выдержки из Руководства программиста, 1971–1986 (PDF) (Технический отчет). CSTR. Лаборатории Белла. 139.
  5. ^ «Cp(1): Копировать файлы/каталоги — справочная страница Linux» .
  6. ^ «Прогресс(1) — справочная страница Linux» .
  7. ^ «Прогресс — средство просмотра прогресса Coreutils» . Гитхаб . 14 ноября 2021 г.
[ редактировать ]
Arc.Ask3.Ru: конец переведенного документа.
Arc.Ask3.Ru
Номер скриншота №: 0be20796feae2a15ab71a7f2e5a46b60__1702002480
URL1:https://arc.ask3.ru/arc/aa/0b/60/0be20796feae2a15ab71a7f2e5a46b60.html
Заголовок, (Title) документа по адресу, URL1:
cp (Unix) - Wikipedia
Данный printscreen веб страницы (снимок веб страницы, скриншот веб страницы), визуально-программная копия документа расположенного по адресу URL1 и сохраненная в файл, имеет: квалифицированную, усовершенствованную (подтверждены: метки времени, валидность сертификата), открепленную ЭЦП (приложена к данному файлу), что может быть использовано для подтверждения содержания и факта существования документа в этот момент времени. Права на данный скриншот принадлежат администрации Ask3.ru, использование в качестве доказательства только с письменного разрешения правообладателя скриншота. Администрация Ask3.ru не несет ответственности за информацию размещенную на данном скриншоте. Права на прочие зарегистрированные элементы любого права, изображенные на снимках принадлежат их владельцам. Качество перевода предоставляется как есть. Любые претензии, иски не могут быть предъявлены. Если вы не согласны с любым пунктом перечисленным выше, вы не можете использовать данный сайт и информация размещенную на нем (сайте/странице), немедленно покиньте данный сайт. В случае нарушения любого пункта перечисленного выше, штраф 55! (Пятьдесят пять факториал, Денежную единицу (имеющую самостоятельную стоимость) можете выбрать самостоятельно, выплаичвается товарами в течение 7 дней с момента нарушения.)