Answers:
仅当您正在复制(而不是移动)文件夹时,合并选项才会显示。option将新文件夹拖到旧文件夹的位置时,请确保按住。另外,使用⌘+ c复制新文件夹,并使用⌘+ v粘贴在旧文件夹上,可以让您选择合并文件。
rsync
代替
这是rsync的经典用例:
rsync -av /source-path/source-dir /destination-path
rsync只会将新文件和更改过的文件复制到新位置。
重要的是要理解源参数后面的斜杠是如何起作用的。如果后面有斜杠,那么/ source-path / source-dir的内容将被复制到destination-path。如果没有尾部斜杠,那么source-dir本身将被复制到目标,并且其内容将在目标层次结构中再向下一层。
因此,如果要将一条路径复制到另一条路径,请在结尾加上斜杠,如下所示:
rsync -av /sourcepath/sourcedir/ /duplicatpath/sourcedir/
更新
首先,首先安装coreutils。运行brew install coreutils
。如果尚未brew
安装,请切换回Windows!
检查cp --version
输出版本cp (GNU coreutils) 8。^^
然后您将拥有正确的cp
版本,并且该-u
标记将起作用。
检查cp
命令。使用man cp
并阅读选项。您可以执行以下操作:
cp -r -u ~/source ~/destination
-R,-r,-recursive:递归复制目录
-u,-update:仅当SOURCE文件比目标文件新或缺少目标文件时才复制
-p与--preserve = mode,ownership相同,timestamps
-v --verbose:解释正在做什么
因此,如果您要从“ 下载” /“音乐”文件夹中复制文件以说“ 音乐/新”文件夹,则可以执行以下操作:
这将合并这两个文件夹的内容,并且如果存在两个具有相同名称和路径的文件,它将保留基于时间戳的最新消息。
cp -ruvp ~/Downloads/music/* ~/Music/new/
brew install coreutils
获取正确的cp
版本。
不知道为什么默认的Lion Merge按钮对我不显示。但是我最终使用ditto
。在这里找到:https : //superuser.com/a/221599/102789