Linux下tar、cp命令排除某個目錄或檔案
阿新 • • 發佈:2020-07-08
1.Linux下使用tar命令解壓/壓縮gz檔案很簡單,使用一行命令就可以搞定。
tar解壓gz檔案 tar zxvf filename.tar.gz
tar壓縮gz檔案 tar zcvf filename.tar.gz dirname
有時候,我們打包壓縮某一個目錄,而需要排除其中一個目錄或檔案。這時我們使用tar命令,增加--exclude
引數就能達到目的。
我們以Nginx為例,打包壓縮時我們要排除nginx下的logs目錄,命令如下:
tar zcvf filename.tar.gz --exclude=nginx/logs nginx
如果要排除多個目錄,增加--exclude
即可,如下命令排除nginx下的logs和conf兩個目錄及檔案temp.txt:
tar zcvf filename.tar.gz --exclude=nginx/logs --exclude=nginx/conf --exclude=nginx/temp.txt nginx
2.Linux下使用cp命令排除不需要的目錄或檔案比較麻煩,建議使用rsync
命令。
rsync命令和tar命令排除目錄相似也是使用--exclude
引數。
rsync命令 -a
引數表示archive模式,-v
表示詳細鏈模式輸出,-z
表示傳輸檔案時使用壓縮傳輸的模式。
注意:--exclude
後面的路徑不能為絕對路徑,必須為相對路徑才可以,否則出錯。
我們以Apache為例,拷貝時我們要排除apache下的logs和conf目錄,命令如下:
rsync -av --exclude=apache/logs --exclude=apache/conf apache backup