我想知道OSX上的cp和ditto命令之间的确切区别是什么?
区分这两个命令的要点是什么?
答案 0 :(得分:4)
实际上,手册页中的标题描述了差异:
cp - 复制文件和目录
同上 - 复制目录层次结构,创建和提取档案
手册页的更多信息
cp [OPTION]... [-T] SOURCE DEST cp [OPTION]... SOURCE... DIRECTORY cp [OPTION]... -t DIRECTORY SOURCE...
将SOURCE复制到DEST,或将多个SOURCE复制到DIRECTORY。
ditto [-v] [-V] [-X] [<options>] src ... dst_directory. ditto [-v] [-V] [<options>] src_file dst_file ditto -c [-z | -j | -k] [-v] [-V] [-X] [<options>] src dst_archive ditto -x [-z | -j | -k] [-v] [-V] [<options>] src_archive ... dst_directory
在第一种形式中,同上复制一个或多个源文件或目录 到目的地目录。如果目标目录不存在 它将在复制第一个源之前创建。如果是目的地 目录已经存在,然后源目录与 以前的目的地内容。
在第二种形式中,同上将文件复制到提供的dst_file路径 - 名。
接下来的两种形式反映了ditto创建和提取ar-的能力 韭菜。这些存档可以是CPIO格式(首选unix) 内容)或PKZip(用于Windows兼容性)。 src_archive(和 dst_archive)可以是单个字符&#39; - &#39;,导致ditto读取 (写)从stdin(或分别到stdout)的归档数据。
ditto遵循作为参数提供的符号链接,但不遵循 遍历源或目标层次结构的任何链接。同上 覆盖目标中的现有文件,符号链接和设备 这些是从源复制的。生成的文件,链接和 设备将具有相同的模式,访问时间,修改时间,所有者, 和group作为复制它们的源项。管子,袜子 - ets和名称以.nfs或.afpDeleted开头的文件将是 忽略。同上不修改模式,所有者,组,扩展 属性,或目标中现有目录的ACL。档 和符号链接不能覆盖目录,反之亦然。
同上可以用来&#34;瘦&#34;复制期间的通用Mach-O二进制文件。 同上还可以根据BOM的内容有选择地复制文件 (&#34;物料清单&#34;)文件。同上保留文件硬链接(但不是 目录硬链接)存在于源目录和保留中 以超级用户身份运行时的setuid和setgid模式。
同上,将保留资源分叉和HFS元数据信息 复制,除非使用--norsrc指示。同样,同上 将保留扩展属性和访问控制列表(ACL),除非 传递--noextattr或--noacl。 DITTONORSRC可以设置在环境中 在命令行中作为--norsrc --noextattr --noacl的别名。