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/{} \;