在打包 tar 文件的時候,怎樣排除文件和目錄
一種方法,是將不需要打包的文件移動到另外一個目錄中,然后再將剩下的文件打包為 tar 文件。但這是一種很費力的方法。 其實,我們在使用 tar 命令的時候,可以使用 --exclude 選項來排除不需要打包的文件,如下所示:
另外,這不是唯一的方法。下面我們來詳細了解下。
方法1:使用 --exclude 選項
這個方法就是我們上面提到的。為了便于演示,我們首先創(chuàng)建一系列文件,如下圖所示:
使用 --exclude 選項的方式,我們上文中也提到了:
比如,我們要創(chuàng)建一個名為 IHateC 的 tar 文件,但是要排除掉當前路徑下的 HelloWorld.c 文件,如下代碼所示:
我們將上述命令中用到的選項分別說明一下:
- z:使用 gzip 壓縮存檔中的文件;
- c:負責創(chuàng)建新的存檔文件;
- f:允許用戶指定新的存檔文件的名稱;
- v:(verbose)顯示創(chuàng)建歸檔文件中所屬的文件和目錄的列表。
最后的點 . 表示使用當前的目錄。 要檢查 tar 文件中的內(nèi)容,可以使用 tar 命令的 -tf 選項:
上述方法可以排除掉單個文件,下面我們看看如何
排除掉多個文件和目錄。
排除多個文件和目錄 要排除多個文件和目錄,可以使用多個 --exclude。比如,我們將要排除文件 ??Bash.sh?? 和 子目錄 Sub-Directory-1,使用如下命令:
但是如果要排除的文件很多,那么這個命令會變得很長。。。如果它們的擴展名相同的話,那就容易多了。
按擴展名排除文件
我們可以使用通配符,根據(jù)文件的擴展名來排除文件。比如,我想要在創(chuàng)建 tar 文件的時候,排除掉所有的 mp3 文件,那么可以使用如下命令:
方法2:使用文本文件排除文件和目錄
我們可以創(chuàng)建一個文本文件,其內(nèi)容列明要排除的文件和目錄的名稱。比如,下面我創(chuàng)建了一個名為 exclude.txt 的文本文件,并在其中寫了三個文件的名稱,如下所示:
所以現(xiàn)在我只需要使用該文本文件來排除文件:
上面就是我們介紹的關于如何排除文件進行 tar 文件打包的方法,歡迎討論。