有没有办法复制带有文件但不带有内容的目录结构。我的意思是我想要完全相同的目录和文件名,但保留它们为空白。我有一些用某种编程语言编写的示例应用程序,我想用自己的风格重写它们,但保留它们在文件中的组织方式。
如能得到任何帮助我将非常感激。
答案1
从man cp
--attributes-only 不复制文件数据,只复制属性
因此,如果您想复制somedirectory
做 cp -R --attributes-only somedirectory destinationdirectory
答案2
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/{} \;