Они - главным образом то же, в котором они оба сделают копию дерева каталогов. Они отличаются по своей обработке метаданных.
tar cf - … | tar xf - …
маршалы все данные через формат tar. Это означает любые метаданные, которые не могут быть представлены в формате tar, потерян. Существует несколько вариантов формата tar, так точно, что потеряно, будет зависеть от реализации tar. Вот несколько ограничений текущего tar GNU (некоторые из них могут быть преодолены путем переключения на другой формат tar):
cp -RT
не сохраняет много метаданных. В частности, это не сохранит времена файла и владение. С другой стороны, с CP GNU, cp -a
сохранит в значительной степени все метаданные (я не смог дать сбой они, кроме, возможно, на временах доступа каталога в угловых случаях и подвторых метках времени в некоторых операционных системах).
cp
скопирует символ символом. Используя поддержку каналов ядра, мы могли скопировать блок файлов блоком. Причина я использовал tar в прошлом, была для сетевых передач как следующее:
tar czv ListOfFiles | ssh remote.box.com tar xz -C /home/user/PathToCopy
Дополнительную информацию см. в этой ссылке.
с копией tar Вы можете:
tar обработает больше вещей соответственно, таких как редкие файлы, полномочия и ссылки.
Вы cp
команда не сохранит метки времени, необходимо добавить -p
переключатель. -d
будет также необходим для сохранения символьных ссылок.