Android

Команда cp в linux (копирование файлов)

Настя и сборник весёлых историй

Настя и сборник весёлых историй

Оглавление:

Anonim

При работе в системах Linux и Unix копирование файлов и каталогов является одной из самых распространенных задач, которые вы выполняете ежедневно.

cp - утилита командной строки для копирования файлов и каталогов в системах Unix и Linux., мы объясним, как использовать команду cp .

Как использовать команду cp

Общий синтаксис команды cp следующий:

cp SOURCE… DESTINATION

SOURCE может содержать один или несколько файлов или каталогов в качестве аргументов, а аргумент DESTINATION может быть одним файлом или каталогом.

  • Когда аргументы SOURCE и DESTINATION являются обоими файлами, команда cp копирует первый файл во второй. Если файл не существует, команда создает его. Когда SOURCE имеет несколько файлов или каталогов в качестве аргументов, аргумент DESTINATION должен быть каталогом. В этой ситуации файлы и каталоги SOURCE перемещаются в каталог DESTINATION аргументы SOURCE и DESTINATION являются обоими каталогами, команда cp копирует первый каталог во второй.

Для копирования файлов и каталогов у вас должны быть как минимум права на чтение исходного файла и права на запись в целевой каталог. В противном случае отображается ошибка «Отказано в доступе».

Копирование файлов с помощью команды cp

Самый простой сценарий использования cp - скопировать файл в текущем рабочем каталоге. Например, чтобы скопировать файл с именем file.txt в file_backup.txt вы file_backup.txt запустить следующую команду:

cp file file_backup

или

cp file{, _backup}

Чтобы скопировать файл в другой каталог, укажите абсолютный или относительный путь к каталогу назначения.

Если в качестве места назначения указано только имя каталога, то имя скопированного файла совпадает с именем исходного файла.

В следующем примере мы file.txt файл file.txt в file.txt /backup :

cp file.txt /backup

cp file.txt /backup/new_file.txt

По умолчанию, если целевой файл существует, он перезаписывается. Опция -n говорит cp не перезаписывать существующий файл.

Чтобы заставить cp запрашивать подтверждение, используйте опцию -i .

cp -i file.txt file_backup.txt

cp -u file.txt file_backup.txt

При копировании файла новый файл принадлежит пользователю, выполняющему команду. Используйте параметр -p чтобы сохранить режим файла, владельца и временные метки:

cp -p file.txt file_backup.txt

Еще одна полезная опция - это -v , которая указывает cp выводить подробный вывод:

cp -v file.txt file_backup.txt

'file.txt' -> 'file_backup.txt'

Копирование каталогов с помощью команды cp

Чтобы скопировать каталог, включая все его файлы и подкаталоги, используйте параметр -R или -r .

В следующем примере мы копируем каталог Pictures в Pictures_backup :

cp -R Pictures Pictures_backup

Приведенная выше команда создает каталог назначения и рекурсивно копирует все файлы и подкаталоги из источника в каталог назначения.

Если целевой каталог уже существует, сам исходный каталог и все его содержимое копируются в целевой каталог. Чтобы скопировать только файлы и подкаталоги, но не целевой каталог, используйте параметр -T :

cp -RT Pictures Pictures_backup

Другой способ скопировать только содержимое каталога, но не сам каталог, - использовать подстановочный знак ( * ). Недостаток следующей команды в том, что она не копирует скрытые файлы и каталоги (те, которые начинаются с точки . ):

cp -RT Pictures/* Pictures_backup/

Все параметры, которые мы использовали в предыдущем разделе при копировании файлов, также могут быть использованы при копировании каталогов. Основное отличие заключается в том, что при копировании каталогов. вам всегда нужно использовать опцию -R .

Копировать несколько файлов и каталогов

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

cp file.txt dir file1.txt dir1

При копировании нескольких файлов местом назначения должен быть каталог.

Вывод

Копирование файлов и каталогов с помощью команды cp - простая задача. Для получения информации обо всех доступных опциях cp введите man cp в своем терминале.

Для копирования файлов по сети используйте утилиты rsync и scp .

CP терминал