默认情况下,tar打包当前目录是不会包含隐藏文件的,但奇葩的是,他会包含当前目录子目录下的隐藏文件。
bm6j80:~/aaa$ find .
.
./aa
./aa/.cc
./.bb
bm6j80:~/aaa$ tar cvf ../test.tar ./* .[!.]*
./aa/
./aa/.cc
.bb
bm6j80:~/aaa$ tar cvf ../test1.tar ./*
./aa/
./aa/.cc
bm6j80:~$ tar cvf aaa.tar aaa/
aaa/
aaa/aa/
aaa/aa/.cc
aaa/.bb
之前一直都是打包某个目录,还真没怎么用打包当前目录下所有文件及子文件的方法,才发现还有这个问题。
要打包隐藏文件需要添加.[!]* 这样当前路径下的隐藏文件也会打包进去。