我想创建一个目录结构的 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
滚动浏览页面,具体取决于您想在一个步骤中滚动多少。f
b
d
u
j
k
“但在某些情况下,文档已经有几十年的历史了!”是的,确实如此……您使用的工具也是如此。它们经受住了时间的考验。真的,如果您遇到问题,手册页应该始终是您的首选。
输入man tar
后得到/exclude
:
--exclude=PATTERN
exclude files, given as a PATTERN