Linux tar 如何在壓縮之後刪除原檔案

2021-09-19 09:20:13 字數 1249 閱讀 8318

假設我們壓縮檔案檔案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           

假設我們壓縮檔案檔案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           

Linux tar 壓縮命令

tar命令詳解 格式 tar 選項 檔案目錄列表 功能 對檔案目錄進行打包備份 選項 c 建立新的歸檔檔案 r 向歸檔檔案末尾追加檔案 x 從歸檔檔案中解出檔案 o 將檔案解開到標準輸出 v 處理過程中輸出相關資訊 f 對普通檔案操作 z 呼叫gzip來壓縮歸檔檔案,與 x聯用時呼叫gzip完成解壓...

linux tar壓縮解壓

目錄 1 tar壓縮解壓 2 tar選項 3 tar包管理 4 排除某些項 壓縮 tar cvf tar 原始檔位址 tar包,60k tar czvf tar.gz 原始檔位址 tar.gz包,2.9k tar cjvf tar.bz2 原始檔位址 tar.bz2包,4.5k 解壓縮 tar xv...

linux tar壓縮解壓命令

tar 選項.file 部分引數含義 a 追加 tar 檔案至歸檔 c 建立乙個壓縮檔案的引數指令 create 的意思 x 解開乙個壓縮檔案的引數指令!t 檢視 tarfile 裡面的檔案!特別注意,在引數的下達中,c x t 僅能存在乙個!不可同時存在!因為不可能同時壓縮與解壓縮。z 具有 gz...