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

Цей документ описує системну команду cp [Архівовано 31 жовтня 2006 у Wayback Machine.] стандарту 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_(Unix) — створення зв'язку на файл чи теку
  • mv — переміщення файлу чи теки
  • rm — видалення файлу чи теки
  • unlinkсистемний виклик для вилучення system файлу чи теки
  • chmod — зміна прав доступу файлу чи теки
  • chown — зміна власника файлу чи теки
  • chgrp — зміна групи файлу чи теки
  • uucp — копіювання з unix на unix
  • scp — безпечне копіювання через SSH

Див. також ред.