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