将/root/data/目录下的文件全部打包,如何做?
数据:
解答:
# ①
[root@ianLinux ~]# find ./data/ -type f|xargs tar zcvf tarTest1.tar.gz
# ② (其实是错误的)
[root@ianLinux ~]# find ./data/ -type f -exec tar zcvf tarTest2.tar.gz {} \;
# ③
[root@ianLinux ~]# tar zcvf tarTest3.tar.gz `find ./data/ -type f`
①
②
③
可以看出②的打包结果是错误的。
-exec②方法是对每一个文件打包一次,并且覆盖。
①③是将找到的结果一次打包。
本文介绍了在Linux环境下如何使用find和tar命令将指定目录下的所有文件进行打包的方法。通过三种不同的命令组合方式对比,帮助读者理解正确的打包操作及避免常见错误。

被折叠的 条评论
为什么被折叠?



