打包整个目录结构并忽略特定文件类型

打包整个目录结构并忽略特定文件类型

我想创建一个目录结构的 tarball。我知道我可以通过执行 来打包整个目录,tar czvf testdir或者使用 打包目录中的所有文件tar czvf testdir/*。但我想要做的是排除目录中任何地方出现的特定扩展名的所有文件。例如,我想打包同一目录结构中的所有文件,但忽略所有.pyc文件。

这可能吗?

答案1

是的,这是可能的,而且很简单。

正如 Hastur 提到的,您想要的命令是:

tar --exclude='*.pyc' czvf testdir.tgz testdir

我想补充一点,如果您对在 Linux(或 Mac OS X)上使用的任何终端命令有疑问,最好的起点是查看官方文档。输入man tar,您就会找到它。您可以通过输入/searchterm(和查找下一个匹配项)来搜索手册页(手册页),并且您可以使用和、和或和n滚动浏览页面,具体取决于您想在一个步骤中滚动多少。fbdujk

“但在某些情况下,文档已经有几十年的历史了!”是的,确实如此……您使用的工具也是如此。它们经受住了时间的考验。真的,如果您遇到问题,手册页应该始终是您的首选。

输入man tar后得到/exclude

--exclude=PATTERN
       exclude files, given as a PATTERN

相关内容