В чем разница между ` 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
,...) и имеет множество функций для экономии пропускной способности или времени (не нужно копировать все, если файлы одинаковые).