我想将目录结构从远程机器复制到本地机器。我也想要文件名,但不需要文件的内容。
目前我在远程机器上做了这个:
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/