Утиліти CP і MV. Приклади використання.
Робота з файлами - рутинна робота будь-якого користувача на сервері. У системах Linux і Unix копіювання, перейменування, переміщення файлів є одним з найпопулярніших і затребуваних завдань.
У цій статті детально розглянемо дві утиліти, за допомогою яких можна легко виконувати ці дії.
Улитіта cp
Почнемо з cp (від англ. copy) - ця утиліта командного рядка виконує функцію копіювання файлів і директорій в межах одного поточного сервера. P.S. Якщо вам потрібно скопіювати файли між 2 серверами, можна ознайомитися з нашими статтями, присвяченими цьому питанню тут (про SCP) і тут (про Rsync).
Загальний синтаксис утиліти дуже простий і легкий у використанні:
cp опції вихідний_каталог каталог_назначения
Де:
- вихідний каталог - файл або каталог, який потрібно скопіювати;
- каталог назначения - місце (файл або каталог), куди потрібно виконати копіювання;
- ключі (опції) - параметри, які вказують на додаткові налаштування щодо ходу виконання команди.
Приклад 1, копіюємо файл example1.txt в папку newdata. Ключ -v використовуємо для більш докладного виведення інформації про стан копіювання. При коректному введенні, на екран має вивестися назва файлу, і куди він скопіювався.
Якщо потрібно скопіювати кілька файлів одночасно, просто перераховуємо через пробіл (без коми) файли, які потрібно скопіювати:
cp ключи файл1 файл2 файл3 каталог_назначения
Приклад 2, копіюємо два файли example1.txt і example2.txt в папку newdata.
Перейдемо до опцій утиліти cp і їх призначення, для яких цілей використовується. Тут ми виділимо часто використовувані в роботі ключі.
- u (-update) - для копіювання тільки файлів, яких немає в каталозі призначення і тільки змінених файлів (якщо ці файли з цими назвами вже присутні в каталозі призначення).
Приклад 3, раніше на скрині вище ми копіювали 2 файли в папку newdata, спробуємо їх скопіювати знову (за умови, що ці файли не змінювалися) і додатково файл example3.txt , якого немає ще в цій папці.
Як бачимо, був скопійований лише файл example3.txt. Ця функція дуже корисна при копіюванні цілих каталогів.
- R - для можливості копіювання каталогів.
Також часто використовується разом з ключем -r (-recursive) - для рекурсивного копіювання (копіюються всі підкаталоги і всі файли в цих підкаталогах).
Приклад 4, рекурсивно копіюємо папку data в папку newdata. Скопійована буде папка і все що в ній.
Щоб скопіювати тільки файли і підкаталоги, але не саму папку (скопійовано буде тільки те, що в папці), використовуйте ключ -T:
-p - ключ для збереження атрибутів вихідного каталогу або файлу, такі як тимчасові мітки, права доступу, ідентифікатор власника і групи файлів, а також розширені атрибути і т.д.
-i (-interactive) - виводить в термінал підтвердження користувачеві перед перезаписом файлу, який вже існує в каталозі призначення. Щоб підтвердити, просто вводимо "y", введення іншого будь-якого символу скасує дію.
Приклад 5, введемо команду з і без ключа.
-v - як і писалося вище, для більш докладного виведення інформації щодо виконання команди.
Утиліта mv
Тепер перейдемо до утиліти mv (від англ. move - переміщатися) - використовується для переміщення і перейменування файлів і каталогів. mv, як і cp, працює в межах поточного сервера. Відмінність в тому, що mv повністю транспортує вихідні файл в інше місце, не залишаючи за собою копії вихідного файлу на відмінну від cp.
Наведемо синтаксис двох варіантів використання утиліти:
- переміщення файлів і каталогів
mv ключи вихідний_каталог каталог_назначения
- вихідний каталог - файл або каталог, який потрібно перемістити;
- каталог назначения - шлях до місця або сам каталог, куди потрібно перемістити файл.
Приклад 6, перенесемо два файли article.txt і newfile.txt в папку data. Аналогічно, як і в cp просто перераховуємо файли без коми. Ключ -v використовуємо для надання інформації про статус переміщення файлів.
Якщо ви хочете перенести вихідний файл в уже існуючий файл призначення, вам виведеться повідомлення з підтвердженням про перезапис файлу призначення, як з ключем -i для cp.
- перейменування файлів і каталогів
Щоб використовувати утиліту mv для перейменування, використовуємо також дуже простий синтаксис:
mv ключи file1 file2
Де:
- file1 - назва файлу або каталогу, який хочете перейменувати;
- file2 - нова назва file1.
Приклад 7, перейменуємо файл new.txt в new1.txt.
Утиліта mv має багато опцій аналогічних з утилітою cp. Під час роботи з міцними утилітами ключі використовують не так часто, як для cp. Серед опцій можна виделювати: -v, -u, -i.
Виникли питання? Команда ГіперХост завжди готова проконсультувати і допомогти перенести файли клієнтів на наш сервер.