Зміст
Вступ
Копіювання файлів є досить важливим елементом при роботі з комп’ютерами. Ключовим інструментом в Linux системах є команда cp. В даній публікації ми розглянемо варіанти використання цієї команди, та наведемо декілька прикладів.
Синтаксис команди cp
Основний синтаксис для копіювання файлу за допомогою cp
команди як підказує нам справка по команді
cp --help
такий:
cp [OPTION]... SOURCE... DESTINATION
Опції команди cp
Опція | Опис |
---|---|
-a, –archive | залишає атрибути першого файлу незмінними |
-b, –backup | створить резервну копію кожного існуючого цільового файлу додавши суфікс ~ якщо не вказати суфікс за допомогою --suffix |
-f, –force | вказує, що цільовий файл має бути вилучений, якщо він не може бути відкритий для операції запису. Видалення файлу передує кожній операції копіювання. |
-i, –interactive | запитає, перш ніж перезаписати цільовий файл |
-l, –link | створить жорсткі посилання замість нових файлів |
-n, –no-clobber | якщо існує цільовий файл – не перезаписувати |
-R, -r, –recursive | копіює каталоги рекурсивно |
-S, –suffix= | укажіть спеціальний суфікс для файлу резервної копії. |
-t, –target-directory= | вкажіть цільовий каталог для вихідних файлів |
-u, –update | копіювання відбудеться лише тоді, коли вихідний файл є новішим ніж цільовий файл або коли файл призначення відсутній |
-v, –verbose | виведе інформацію про процес копіювання |
–help | виведе справку по команді |
–version | покаже інформацію про версію. |
Приклади використання команди cp
Перелічені вище параметри дозволяють налаштувати команду cp
відповідно до конкретного сценарію.
Копіювання декількох файлів до каталогу:
cp 1.txt 2.txt 2.txtbak bak_dir/

Примітка
Якщо цільовий каталог не існує,команда cp не може створити його та повідомить про помилку. Переконайтеся, що ви спочатку створили місце призначення за допомогою команди mkdir .
Використання символа (*
) як символа підстановки, якщо назви файлів відповідають шаблону
У наступному прикладі ми скопіюємо всі файли із розширення .txt
cp *.txt bak_dir/

Використання інтерактивної підказки під час перезапису файлу
В даному прикладі ми скористаємось командою із попереднього прикладу, добавивши опції -i та -v, щоб вивести інформацію про процес копіювання, і запит на перезапис, якщо файл існує в місці призначення.
cp -i -v *.txt bak_dir/

Створимо резервну копію файлу
Давайте до попередньої команди добавимо опцію -b та -S , щоб створити резервну комію із розширенням .bak
cp -i -v -b -S .bak *.txt bak_dir/

Додатковий спосіб створити резервну копію файла
Також ми можемо створити резервну копію файла 1.txt із розширенням .bak за допомогою наступної команти
cp 1.txt{,.bak}

Скопіюємо файл за допомогою параметра -f
У нас є два файли: 1.txt та 2.txt. Давайте скористаємось опцією -f. І подивимось на ресультат
cp -f 1.txt 2.txt

В даному прикладі ми мали два різних за вмістом і назвою файли, скориставшись опцією -f ми примусово перезаписали цільовий файл.
Рекурсивне копіювання структури каталогу
За допомогою цього параметра -R команда cp демонструє свою рекурсивну поведінку шляхом рекурсивного копіювання всієї структури каталогу.
cp -R bak_dir/ bak_dir2/

Висновок
В даній публікації ми розглянули команду cp, також розглянули які має опції дана команда, і на прикладах показали який буде результат виконання команди з тими чи іншими опціями