假設我們壓縮檔案檔案 aaa.log 為 aaa.log.tar.gz ,歸檔壓縮之後,並刪除檔案 aaa.log 。請參閲下面的命令:
tar -zcvf aaa.log.tar.gz aaa.log –remove-files
可以看出,主要是使用了–remove-files 這個命令引數選項。
能不能拓展下:解壓 aaa.log.tar.gz 之後,並刪除 aaa.log.tar.gz?我看了一遍又一遍幫助,一直沒有發現合適的命令引數選項。不過,完全可以通過一種變通的方法來實現:
tar -zxvf aaa.txt.tar.gz && rm -rf aaa.txt.tar.gz
對於上面兩種應用,是不是可以進一步拓展出以下兩種比較有實際意義的應用:
1 、遍歷壓縮歸檔日誌檔案:
find . -name “*.log” -type f -exec tar -zcvf {}.tar.gz {} –remove-files > /dev/null ;
2 、遍歷解壓 tar.gz 檔案,並刪除 tar.gz 檔案
find . -name “*.tar.gz” -type f -exec tar -zxvf {} ; -exec rm -rf {} ; > /dev/null