Автор: Рубрики: Общее Просмотрено: 135
Утилиты CP и MV. Примеры использования
11Мар2020

Работа с файлами рутинная работа любого пользователя на сервере. В системах Linux и Unix копирование, переименование, перемещение файлов является одной из самых популярных и востребованных задач.

утилиты ls

В этой статье детально рассмотрим две утилиты с помощью каких можно легко выполнять эти действия.

Начнем с cp (от англ. copy) – эта утилита командной строки, выполняет функцию копирования файлов и директорий в пределах одного текущего сервера. P.S. Если Вам нужно скопировать файлы между 2 серверами можно ознакомиться с нашими статьями посвященными этому вопросу  здесь (об SCP) и здесь (об Rsync).

Общий синтаксис утилиты очень простой и легок в использовании:

cp ключи исходный_каталог  каталог_назначения

Где:

  • исходный_каталог  файл или каталог, который нужно скопировать;
  • каталог_назначения  файл или каталог, куда нужно выполнить копирование; 
  • ключи (опции) параметры, которые указывают на дополнительные настройки касательно хода выполнения команды.

Пример, копируем  файл example1.txt в папку newdata. Ключ -v используем для более подробного вывода информации о состоянии копирования. При корректном вводе, на экран должно вывестись название файла и куда он скопировался.

утилита cp

Если нужно скопировать несколько файлов одновременно, просто перечисляем  через пробел (без запятой) файлы которые нужно скопировать:

cp ключи файл1 файл2 файл3  каталог_назначения

Пример, копируем два файла example1.txt и example2.txt в папку newdata.

команда cp

Перейдем к опциям утилиты cp  и их назначения, для каких целей используются.Здесь мы выделим часто использованные в работе ключи.

– u (–update) для копирования только файлов, которых нет в каталоге назначение и только измененных файлов (если эти файлы с этим название уже присутствуют  в каталоге назначения).

Пример, ранее на скрине выше мы копировали 2 файла в папку newdata, попробуем их скопировать снова (при условии что эти файлы не изменялись) и плюс файла которого нет в этой папке example3.txt.

копирование файлов утилитой cp

Как видим был скопирован только файл  example3.txt. Эта функция очень полезная при копировании целых каталогов.

– R для возможности копирования каталогов. 

Также часто используется вместе с ключом -r (–recursive)  для рекурсивного копирования ( копируются все подкаталоги и все файлы в этих подкаталогах).

Пример, рекурсивно копируем папку data в папку newdata. Скопирована будет папка и все что в ней.

ключи утилиты cp

Чтобы скопировать только файлы и подкаталоги, но не саму папку (скопировано будет только то  что в папке), используйте ключ -T:

ключ T утилиты cp

-p ключ для сохранения атрибуты исходного каталога или файла, такие как временные метки, права доступа, идентификатор владельца и группы файлов, расширенные атрибуты и т.д.

-i  (–interactive) выводит в терминал подтверждение пользователю перед перезаписью файла, который уже существует в каталоге назначения. Чтобы подтвердить просто вводим “y”, ввод другого любого символа отменит действие.

копирование файлов Linux

-v как и писалось выше для более подробного вывода информации касательно выполнения команды.

Пример, введем команду с и без ключа.

mnjkdvnj

Теперь перейдем к утилите  mv (от англ. move – перемещаться) – используется для перемещения и переименования файлов и каталогов. mv как и cp работает в пределах текущего сервера. Отличие в том что mv полностью транспортирует исходной файл в другое место, не оставляя за собою копию исходного файла.

Опишем синтаксис двух вариантов использования утилиты:

 перемещение файлов и каталогов

mv ключи исходный_каталог  каталог_назначения

  • исходный_каталог файл или каталог, который нужно переместить; 
  • каталог_назначения путь к месту или каталог, куда нужно переместить файл.

Пример, перенесем два файла article.txt и newfile.txt в папку data. Аналогично как и в cp просто перечисляем файлы без запятой. Ключ -v используем для предоставления информации об перемещении файлов.

утилита командной строки mv

Если Вы хотите перенести исходный файл в уже существующий файл назначения, Вам выведется сообщение с подтверждением об перезаписании файла назначения, как с ключом -i для cp.

command mv

 

 переименование файлов и каталогов

Чтобы использовать утилиту mv для переименования используем также очень простой синтаксис:

mv ключи file1 file2

Где:

  • file1 название файла или каталога, который хотите переименовать;
  • file2 новое название file1.

Пример, переименуем файл new.txt в new1.txt.

переименование файлов утилитой mv

Утилита mv имеет много опций аналогичных с утилитой cp. Но при работе с этой утилитой ключи используются  не так часто как для cp. Среди опций можно выделить: -v, -u, -i.

 

Возникли вопросы?Команда ГиперХост всегда готова проконсультировать и помочь перенести файлы клиентов на наши сервера.

136 раз(а) 2 Сегодня просмотрено раз(а)
  • Марина Семёнова

    Иногда мне кажется, что проще скопировать целый каталог и удалить оттуда всё ненужное, чем копировать несколько файлов. Такая вот я извращенка серверная. 😉

    • Семён Семёныч

      Сложно. Я когда сервер админил только с такими инструкциями и сидел. Даже распечатывал на бумажке некоторые, чтобы быстро можно было вспомнить. В память никак не откладывалось.