6

У меня есть MacbookPro Lion, и я попытался заархивировать свои файлы, которые пытались скопировать и перезаписать, если источник новее, чем место назначения. Я попробовал следующую команду

cp -u source destination

но он говорит, -у это незаконно. Я также не нашел --update или -u в man cp .

Не могли бы вы помочь, что я могу сделать в этой ситуации?

[У меня вопрос перенесен сюда из SO, поэтому не стесняйтесь отвечать на него еще раз. Я надеюсь, что это правильный способ борьбы с этим]

3 ответа3

4

Вероятно, самым простым решением было бы использовать rsync. Это приложение резервного копирования, которое может делать то, что делает cp -u (и многое, многое другое).

Основное использование будет что-то вроде:

rsync -u source destination

Тем не менее, вы действительно должны проверить страницу человека , потому что есть много полезных опций.

3

Вы можете использовать условие -nt :

[[ source/$file -nt destination/$file ]] && cp source/$file destination/$file

Просто запустите это для всех файлов (через цикл или через find).

2

Я установил GNU Coreutils с MacPorts от

sudo ports install coreutils findutils 

findutils не нужны, но они также предложили установить его.

Я следовал за идеей от Кита Томпсона, (слава!). Это отлично работает, теперь "продвинутая" команда копирования:

/opt/local/libexec/gnubin/cp

У него нет справочной страницы, но есть длинная справка в мужском стиле с параметром --help .

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .