cp

Матеріал з Вікіпедії — вільної енциклопедії.
Перейти до: навігація, пошук

cp — команда Unix, призначена для копіювання файлів з одного каталога в інші (можливо, з іншою файловою системою). Початковий файл залишається незмінним, ім'я створеного файлу може бути таким самим, як у початкового, або змінитися.

Цей документ описує системну команду cp стандарту POSIX, в системах Linux вона має додаткові опції.

Використання[ред.ред. код]

Копіювати один файл в інший

cp [ -f ] [ -H ] [ -i ] [ -p ][ -- ] SourceFile TargetFile

Копіювати файл(и) в іншу теку

cp [ -f ] [ -H ] [ -i ] [ -p ] [ -r | -R ] [ -- ] SourceFile … TargetDirectory

Копіювати одну директорію(-ії) в іншу

cp [ -f ] [ -H ] [ -i ] [ -p ] [ -- ] { -r | -R } SourceDirectory … TargetDirectory

Опції[ред.ред. код]

-f (від англ. force) — вказує, що цільовий файл має бути вилучений, якщо він не може бути відкритий для операції запису. Видалення файлу передує кожній операції копіювання команди cp.

-P — команда cp копіює символьні зв'язки. За замовчанням команда копіює файли, на які вказують символьні зв'язки.

-i (від англ. interactive) — виводить підказку для підтвердження кожної операції перезапису. Це трапляється, коли цільовий файл або тека містять файл або теку, що перелічений в списку копіювання. Якщо ви відповісте y (англ. yes — так) або місцевим варіантом y, команда cp здіюснить перезапис. Будь-яка інша відповідь вбереже цільовий файл від перезапису командою cp.

-p (від англ. preserve) — продублює наступні характеристики кожного файла, що копіюється, у відповідному цільовому файлі або директорії:

  • час останньої модифікації і час останнього доступу.
  • ID користувача і групи (якщо є права на це)
  • біти дозволів файла і біти SUID та SGID.

-R (від англ. recursive) — копіює теки включно з усім їхнім змістом

Приклади[ред.ред. код]

Команда робить з файла prog.c резервну копію prog.bak в тій же теці. Якщо файла prog.bak не існує, він створюється командою, якщо він існує, то перезаписується

 cp prog.c prog.bak

Файл jones копіюється в /home/nick/clients/jones

 cp jones /home/nick/clients

Щоб скопіювати файл зі збереженням дати і часу модифікації і прав доступа, дайте команду

 cp -p smith smith.jr

Коріювання всіх файлів теки /home/janet/clients/ до теки /home/nick/customers/:

 cp /home/janet/clients/* /home/nick/customers

Щоб скопіювати всі файли і піддиректорії в нову директорію, наберіть

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

Копіюємо три файли в теку:

 cp jones lewis smith /home/nick/clients

Щоб скопіювати всі програми на C з підкаталогу programs в поточну директорію, використовуємо маски:

 cp programs/*.c .

Пов'язані команди[ред.ред. код]

  • cpio — копіювання цілої структури директорій з одного місця в інше
  • tar — створення архіву файлів
  • linkсистемний виклик на створення зв'язку на файл чи теку
  • ln — створення зв'язку на файл чи теку
  • mv — переміщення файла чи теки
  • rm — видалення файла чи теки
  • unlinkсистемний виклик для вилучення system файла чи теки
  • chmod — зміна прав доступа файла чи теки
  • chown — зміна власника файла чи теки
  • chgrp — зміна групи файла чи теки
  • uucp — копіювання з unix на unix
  • scp — безпечне копіювання через SSH

Дивись також[ред.ред. код]