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

标签 linux command-line data-transfer cpio

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

目前我在远程机器上做了这个:

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

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

cpio -iI dirs.cpio

所以这创建了我想要的目录结构,包括子目录,但不复制文件名。我想要目录结构和文件名,但它们的内容。

我怎样才能得到文件名呢??

最佳答案

没有 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

关于linux cpio复制目录结构和文件名?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26859383/

相关文章:

linux - grep url 模式匹配

linux - 哪个实用程序产生 "Poky (Yocto Project Reference Distro) 2.6.1 (none)/dev/console"

command-line - 如何从带有VS Code的提示中打开文件并转到特定的行号?

javascript - 如何将数据从父页面传递到弹出窗口?

encryption - 根据文件请求在 2 个服务器之间进行数据加密

.net - 持续传输来自合作伙伴的数据

PHP exec 没有按预期运行我的脚本

linux - 读取 VirtualBox 使用的端口的原始 USB 数据

c - 打印出当前工作目录

visual-studio-2008 - 运行MSBuild,尊重已卸载的项目