Копіювання файлів і папок в системах unix

Можливе використання наступних опцій:

Зверніть увагу, що 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 зберігати такі атрибути кожного вихідного файлу в створюваної копії: час модифікації, час доступу, прапори файлу, режим доступу, ідентифікатори користувача і групи, наскільки це дозволено правами доступу.

Якщо значення ідентифікаторів користувача і групи не можуть бути збережені, не виводиться ніякого повідомлення про помилку, і повертається програмою значення статусу завершення не змінюється.

Якщо вихідний файл має встановлений SUID біт і значення ідентифікатора користувача не може бути збережено, SUID біт в атрибутах скопійованого файлу не зберігається. Якщо вихідний файл має встановлений біт SGID і значення ідентифікатора групи не може бути збережено, біт SGID в атрибутах копії не зберігається. Якщо вихідний файл має встановлені біти SUID і SGID і значення або ідентифікатора користувача, або ідентифікатора групи не може бути збережено, жоден з бітів SUID і SGID в атрибутах копії не зберігається. -v Виводити більше інформації, показуючи файли в міру їх копіювання.

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

У другій синтаксичної формі целевой_каталог повинен існувати, якщо тільки не було вказано єдиний ісходний_файл. є каталогом, і опція -R.

Якщо цільовий файл не існує, використовуються права доступу вихідного файлу, змінені відповідно до значення umask (див. Csh (1)). Якщо вихідний файл має встановлений біт SUID, цей біт скидається, якщо тільки вихідний файл і файл призначення не належать одному власнику. Якщо вихідний файл має встановлений біт set-user-ID, цей біт скидається, якщо тільки вихідний файл і файл призначення не належать одній групі, а користувач є членом цієї групи. Якщо встановлені обидва бита, і SUID, і SGID, повинні бути дотримані обидва вищезазначених умови, в іншому випадку обидва цих біта скидаються.

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

Якщо 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 '').

Схожі статті