В чем разница между ` cp ` и` rsync `?

Они кажутся мне похожими. Я хочу знать, как их использовать. Какая разница в структуре?

2 ответа

Будучи кратким (небольшая книга может быть написана по теме), может быть, полезно подумать так:

  • cp предназначен для дублирования и по умолчанию только гарантирует, что файлы имеют уникальные полные пути
  • rsync предназначен для синхронизации содержимого и использует размер и временную метку файлов, чтобы решить, должны ли они быть заменены. У него гораздо больше опций и возможностей, чем cp

Используя их различные опции, вы можете использовать любой из них для многих задач, например cp -u может заменить только файлы, которые являются более новыми, как rsync используется, чтобы сделать.

Но есть некоторые задачи, в которых одно имеет преимущество перед другим

Вы могли бы также использовать cp когда вы хотите сделать локальный дубликат файла или каталога. Например, вы хотите отредактировать важный файл, поэтому сначала сделайте резервную копию:

cp .bashrc bashrc-bak

Изготовление rsync сделать это потребует еще трех нажатий клавиш, так зачем беспокоиться? Если вы хотите дублировать каталог

cp -r ~/Desktop/cakes ~/Recipes/cakes

служит вам хорошо. Зачем печатать rsync -a? Ну, вы могли бы, так как его -v подробный вариант дает более интересный и полезный вывод.

Однако предположим, что вы обновляете резервную копию некоторого каталога в вашей системе на флэш-диске. Каталог уже существует на флэш-накопителе, и вы просто хотите синхронизировать файлы, чтобы в нем была самая последняя версия ваших материалов. rsync намного быстрее чем cp для этого, потому что он проверит размеры файлов и временные метки, чтобы увидеть, какие из них нужно обновить, и вы можете добавить больше уточнений. Вы даже можете сделать контрольную сумму вместо "быстрой проверки" по умолчанию, хотя это займет больше времени.

Вы также можете использовать rsync копировать или синхронизировать файлы на удаленной машине, или make запускается как демон. смиренный cp не могу делать такие модные вещи.

Чтобы узнать параметры и синтаксис ("структура"?) (Что очень похоже) прочитайте man а также info страницы и практика!

cp это простой инструмент, который был здесь с тех пор, и он используется для простого копирования из одного места в другое в вашей локальной файловой системе. Это делает только слепое копирование и может попросить перезаписать файлы.

На другой стороне, rsync это сложный инструмент для синхронизации двух каталогов / файлов, не обязательно в одной файловой системе (вы можете rsync над ssh, ftp,...) и имеет множество функций для экономии пропускной способности или времени (не нужно копировать все, если файлы одинаковые).

Другие вопросы по тегам