Как эмулировать поведение cp --update в Mac OS X? - PullRequest
11 голосов
/ 15 июля 2009

GNU / Linux версия cp имеет приятный флаг --update:

-u, - update копировать только в том случае, если файл SOURCE новее файла назначения или отсутствует файл назначения

В 1015 версии *1013* для Mac отсутствует этот флаг.

Каков наилучший способ получить поведение cp --update с помощью встроенных системных программ командной строки? Я хочу избежать установки каких-либо дополнительных инструментов (включая версию GNU cp).

Ответы [ 2 ]

17 голосов
/ 15 июля 2009

rsync имеет опцию -u / --update, которая работает так же, как GNU cp:

$ rsync -u src dest
4 голосов
/ 14 мая 2011

Также обратите внимание на другие опции rsync, которые, вероятно, вам действительно нужны:

    -l, --links                 copy symlinks as symlinks
    -H, --hard-links            preserve hard links
    -p, --perms                 preserve permissions
        --executability         preserve executability
    -o, --owner                 preserve owner (super-user only)
    -g, --group                 preserve group
        --devices               preserve device files (super-user only)
        --specials              preserve special files
    -D                          same as --devices --specials
    -t, --times                 preserve times

    -a, --archive
          This is equivalent to -rlptgoD. It is a quick way of saying you want recursion 
          and want to preserve almost everything (with -H being a  notable  omission).   The
          only exception to the above equivalence is when --files-from is specified, in which 
          case -r  is not implied.

          Note that -a does not preserve hardlinks, because finding multiply-linked files is
          expensive.  You must separately specify -H.
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...