每当我做
tar -pczf file.tar.gz *
它会忽略任何.htaccess
个文件,我无法在该文件中看到如何包含它。
答案 0 :(得分:92)
shell正在将*
扩展到当前目录中以而不是以点开头的所有文件。这与ls
默认使用的规则相同(按照惯例,名称以点开头的文件在Unix中被视为“隐藏”)。请尝试改为:
tar -pczf file.tar.gz .
最后使用.
将收集当前目录中的所有文件,包括名称以点开头的文件。
答案 1 :(得分:29)
问题不在于tar
; shell不包含*
中的隐藏文件。做
tar -pczf file.tar.gz * .htaccess
下一次,也许这个问题可以发布在SuperUser上。
答案 2 :(得分:7)
如果您的任务允许您跳过一个目录级别并对整个目录进行tar操作就可以了,并且您不必记住任何特殊的内容以使其工作(我几乎总是忘记其他方式,并最终得到tgz缺少.htaccess文件)
tar -pczfv httpdocs.tar.gz httpdocs
答案 3 :(得分:1)
如果可以,为什么不使用:
tar -pczf file.tar.gz `find .`