歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
Linux教程網 >> Linux基礎 >> Linux教程 >> Linux tar 如何在壓縮之後刪除原文件及相關拓展用法

Linux tar 如何在壓縮之後刪除原文件及相關拓展用法

日期:2017/2/28 15:58:10   编辑:Linux教程

在平時的Linux維護工作中,tar命令應該經是會常用到。我們常常用這個命令來歸檔壓縮文件,如何壓縮之後刪除原文件呢?

假設我們壓縮文件文件aaa.log 為aaa.log.tar.gz ,歸檔壓縮之後,並刪除文件aaa.log。請參閱下面的命令:

[plain]
  1. tar -zcvf aaa.log.tar.gz aaa.log --remove-files

可以看出,主要是使用了--remove-files 這個命令參數選項。

能不能拓展下:解壓 aaa.log.tar.gz之後,並刪除 aaa.log.tar.gz?我看了一遍又一遍幫助,一直沒有發現合適的命令參數選項。不過,完全可以通過一種變通的方法來實現:

[plain]
  1. tar -zxvf aaa.txt.tar.gz && rm -rf aaa.txt.tar.gz

對於上面兩種應用,是不是可以進一步拓展出以下兩種比較有實際意義的應用:

1、遍歷壓縮歸檔日志文件:

[plain]
  1. find . -name "*.log" -type f -exec tar -zcvf {}.tar.gz {} --remove-files > /dev/null \;

2、遍歷解壓tar.gz文件,並刪除tar.gz文件

[plain]
  1. find . -name "*.tar.gz" -type f -exec tar -zxvf {} \; -exec rm -rf {} \; > /dev/null
關於find命令的使用,可以參閱:find命令用法小結 http://www.linuxidc.com/Linux/2011-12/49641.htm
Copyright © Linux教程網 All Rights Reserved