Answers:
从 man cp
--attributes-only不复制文件数据,仅复制属性
因此,如果您要复制其中的所有文件夹和文件 somedirectory
做 cp -R --attributes-only somedirectory destinationdirectory
很好,Ubuntu cp具有此功能,但是如果您发现自己没有使用该功能(cp例如,没有BSD风格,那么OS X也没有),则使用它非常容易find。这是两条线(出于可读性):
% cd original_dir
% find . -type d -exec mkdir -p ../copy_dir/{} \;
% find . -type f -exec touch ../copy_dir/{} \;
如果copy_dir已经存在,则可以跳过该-p参数,mkdir因为find它将自上而下遍历目录树。对于大型作业,您可以通过终止命令来节省大约一毫秒的时间,+而不是\;如果您find支持的话(可能的话)。
编辑:忽略了处理符号链接上面的命令,可与的第三轮被复制find(不终止这一带+):
% find . -type l -exec cp -R {} ../copy_dir/{} \;