不含文件内容的存档目录结构

不含文件内容的存档目录结构

我想创建一个存档,捕获目录的整个结构,包括子目录和文件。最好保留文件属性,例如修改时间。存档不应包含任何内容但是文件。

换句话说,我试图实现的效果与我创建目录的精确副本、将其中所有文件的大小修剪为零、然后使用 将其存档相同tar

我查看了各种tar选项,但似乎不支持我需要的。我以为会有类似的东西,但--use-compress-program=true不幸的是,那个应用于整个档案,而不是单个文件。我也没有发现任何相关的rsync选项。

有没有办法用 unix 工具创建这样的档案?

答案1

乍一看(没有文件/目录的日期):

find data -type d -exec echo mkdir -p {} \;  | ( cd tmp7 ; bash )
find data -type f -exec echo touch {} \; | ( cd tmp7 ; bash )

在哪里

  • 数据是你的来源
  • tmp7 你的目的地

答案2

这个问题有点老了,我的回答不符合“使用 Unix 工具”的标准,但值得一提的是,Windows 同步工具 Robocopy 只需一个简单的 /CREATE 开关就可以做到这一点(它会从源到目标创建整个文件树,文件长度为 0,但保留所有时间戳,如果还使用了 /DCOPY:T 开关,则保留目录的时间戳)。这是一个 Windows 工具可以轻松完成一些技巧的例子,而这显然无法通过 Linux/Unix 系统上的简单方法实现。

相关内容