2009-10-25 60 views

回答

27

問題不是tar;該外殼不包含*中的隱藏文件。做

tar -pczf file.tar.gz * .htaccess 

而下一次,也許這個問題可能會發布在超級用戶。

78

shell正在將*擴展爲當前目錄中的所有文件,其中不是以點開頭。這與ls默認使用的規則相同(按照慣例,在Unix中將名稱以點開頭的文件視爲「隱藏」)。嘗試改爲:

​​

末使用.將收集在當前目錄下的所有文件,包括那些名字開始與一個點。

+2

你* *也可以*和*一起填充,如下所示:「tar -pczf file.tar.gz *。*」 – 2009-10-25 23:17:31

+8

請注意'.'將一個名爲'.'的最上層文件夾添加到tar文件中。 – 2012-06-19 15:20:51

+0

我猜訣竅是使用。代替 *。 – 2013-05-30 13:48:14

3

如果你的任務允許你跳轉到一個目錄級別並且tar整個目錄,那麼它工作得很好,你不必記住任何特殊的東西使它工作(我幾乎總是忘記另一種方式,並最終用TGZ是缺少.htaccess文件)

tar -pczfv httpdocs.tar.gz httpdocs 
+0

啊,那麼優雅:) – 2017-10-25 10:02:49

1

如果可以的話,爲什麼不使用:

tar -pczf file.tar.gz `find .`