linux cpio要复制目录结构和文件名吗?

时间:2014-11-11 07:02:54

标签: linux command-line data-transfer cpio

我想将目录结构从远程计算机复制到本地计算机。我也想要文件名,但不是文件的内容。

目前我在远程机器上做到了这一点:

find . -type d -print | cpio -oO dirs.cpio

然后将dirs.cpio文件复制到本地计算机,并在转到我想要复制结构的目录后运行命令:

cpio -iI dirs.cpio

因此,这会创建我想要的目录结构,包括子目录,但不会复制文件名。我想要目录结构和文件名,但他们的内容。

我怎样才能获得文件名?

1 个答案:

答案 0 :(得分:1)

没有cpio会更容易。来源:

find . -exec ls -Fd {} + > stuff

这使得一个文件列出了所有目录(感谢ls -F带有斜杠)和文件。

在目的地:

./makestuff < stuff

此脚本makestuff的位置:

while read name; do
  if [ "${name:${#name}-1}" = "/" ]; then
    mkdir -p "$name"
  else
    touch "$name"
  fi
done