LFCS系列筆記之歸檔與壓縮

歸檔與壓縮

作為一個(gè)運(yùn)維人員,我們經(jīng)常需要備份文件,那么歸檔與壓縮的工具我們就不得不了解一些。

tar工具的使用

提到壓縮我們最先想到的就是tar了,先來(lái)看看語(yǔ)法

長(zhǎng)選項(xiàng) 簡(jiǎn)寫(xiě) 描述
-create c 創(chuàng)建tar歸檔文件
-append r 把要存檔的文件追加到歸檔文件的末尾
-list t 列出壓縮的文件內(nèi)容
-same-permissions p 保持原始的文件權(quán)限
-extract x 解壓
-exclude=pattern X 以PATTERN模式排除文件
-verbos v 列出讀取或者提取的文件名,與-list一起使用顯示長(zhǎng)信息
-directory C 指定目錄
-giz z 以gzip格式
-bzip2 j 通過(guò)bzip2壓縮歸檔

Gzip 是最古老的壓縮工具,壓縮率最小,bzip2 的壓縮率稍微高一點(diǎn)。另外,xz 是最新的壓縮工具,壓縮率最好。xz 具有最佳壓縮率的代價(jià)是:完成壓縮操作花費(fèi)最多時(shí)間,壓縮過(guò)程中占有較多系統(tǒng)資源。

實(shí)戰(zhàn)練習(xí):壓縮文件的時(shí)候某類(lèi)文件其實(shí)是不需要壓縮的,例如某些視頻文件。用一個(gè)shell腳本來(lái)完成文件中不包含mp4的文件的壓縮

#!bin/bash
DIR=$1
tar -X < (for i in $DIR/*;do file $i|grep -i mp4;if [ $? -eq 0 ];then echo $i;fi;done) -cjf backup.tar.bz2 $DIR/*

通過(guò)file來(lái)判斷文件類(lèi)型,$?判斷是否是mp4文件,是的把這個(gè)文件提交給tar -X排除這個(gè)文件。

dtrx壓縮工具

另外一個(gè)好用的工具,不用記住這么多的參數(shù),而且支持多種格式。

Paste_Image.png

安裝:Debian/Ubuntu等:

sudo apt-get install dtrx

CentOS/Fedora:

 wget http://brettcsmith.org/2007/dtrx/dtrx-7.1.tar.gz
tar -xf dtrx-7.1.tar.gz
cd dtrx-7.1
python setup.py install --prefix=/usr/local

使用方法非常簡(jiǎn)單直接dtrx filename好了。過(guò)多信息可以參考Dtrx – An Intelligent Archive Extraction

find命令搜索

find是非常強(qiáng)大的搜索工具,語(yǔ)法很簡(jiǎn)單,但是變化無(wú)窮,以下查找均在當(dāng)前目錄下進(jìn)行

用文件名稱(chēng)去查找

#查找當(dāng)前目錄以及下2層目錄中大于2M的文件:
find . -maxdepth 3 -type f -size +2M
#查找以php結(jié)尾的文件夾
find . -type d -name "*php" 
#找到一個(gè)文件并刪除
find . -type f -name filename -exec rm -f {} \
find . -type f -name filename |xargs rm -f
#找到空的文件夾
find . -type d -empty

按照文件權(quán)限去搜索

#  把所有權(quán)限為777的文件改為644
find . -type f -perm 0777 -print -exec chmod 644 {} \
#把權(quán)限為777的目錄改為755
find . -type d -perm 0777 -print -exec chmod 755 {} \

按照時(shí)間去查找

#查找30天內(nèi)訪問(wèn)atime(或者修改mtime)過(guò)的配置文件
find . -type f -iname "*.conf" -atime -30 -print
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

推薦閱讀更多精彩內(nèi)容