linux 備份、壓縮、加密

tar -cvf - /home | tar -xvf -

說明:把/home 拷貝到當前目錄下,管道前半句把/home打包放到標準輸出流中,後半句是把輸入流-裏的內容解包到當前目錄。linux

 

tar是Linux常見的一種歸檔文件(原生不包括壓縮功能)算法

gzip是gnu/Linux的一種壓縮文件工具,算法是基於 DEFLATE,文件是gz,能夠和tar組合。windows

zip是一種規範開放的壓縮文件,算法不定,但主要是用 DEFLATE
rar的算法專有,但發行時附送解碼器容許解碼器再開發,編碼器專有
7zip和zip差很少,算法不定,主要用bzip2和lzma,並且徹底開源。
zip和7z更像是壓縮容器,由於算法不是格式固定,容許支持其餘壓縮算法

大小與區別
tar是無壓縮的,比壓縮效率,gz的算法最原始,因此較低,其次zip,接着rar,7z兩個主要算法基本上略優於rar,基本不相上下。安全

在Linux裏面,tar通常和其餘沒有文件管理的壓縮算法文件結合使用,用tar打包整個文件目錄結構成一個文件,再用gz,bzip等壓縮算法壓縮成一次。也是Linux常見的壓縮歸檔的處理方法。網絡


zip相對比較老,格式規範可知,因此積累了各類加解壓實現,有較好的兼容性,不過現有文件格式相對而言比較落後,還有會有文件名亂碼問題(由於文件名是用非Unicode編碼)

rar和7z就新些,所用算法壓縮效率也好不少,兼容性不及zip,不過rar的編碼器有專利,但能夠不製做編碼器的狀況使用或者再開發發行版的解碼器(因此其餘壓縮管理工具能夠調用rar的解碼器來解壓rar,但不能加壓,百度雲的在線解壓rar多是使用或者再開發過unrar文件),7z的文件和管理程序都是開源的,文件格式也比較好(支持Unicode文件名),兩個主要壓縮算法的性能都很好,只是差什麼時候能普及而取代zip而已。app

壓縮率bzip2 > gzip > zip工具

zip的通用性較好,而如今windows下軟件winrar,7zip等對tar.gz的支持也很是好。推薦用tar.gz,bzip2要耗費更多的cpu性能

gzip能夠極大的加速網站.有時壓縮比率高達80%,近來測試了一下,最少都有40%以上,仍是至關不錯的.在Apache2以後的版本,模塊名不叫gzip,而叫mod_deflate測試

在網絡傳輸、設備之間轉存、複製大文件等時,因爲網絡不穩定等因素可能形成數據不一致,這就須要校驗文件的完整性。網站

md5sum命令用於生成和校驗文件的md5值。它會逐位對文件的內容進行校驗。是文件的內容,與文件名無關,也就是文件內容相同,其md5值相同。md5值是一個128位的二進制數據,轉換成16進制則是32(128/4)位的進制值。md5校驗,有很小的機率不一樣的文件生成的md5可能相同。比md5更安全的校驗算法還有SHA*系列的。

-b 以二進制模式讀入文件內容

-t 以文本模式讀入文件內容

-c 根據已生成的md5值,對現存文件進行校驗

--status 校驗完成後,不生成錯誤或正確的提示信息,能夠經過命令的返回值來判斷。

對同內容不一樣名的文件進行md5,md5值同樣,

-b、-t雖然是不一樣的讀入模式,可是在進行求md5的時候,是同樣的,由於是逐位校驗的。

md5sum值逐位校驗,因此文件越大,校驗時間越長。 ————————————————

【tar option】tar --help

-c, --create            create a new archive創建壓縮檔案
-x, --extract, --get    extract files from an archive解壓
-t, --list              list the contents of an archive查看內容
-r, --append            append files to the end of an archive向壓縮歸檔文件末尾追加文件
-u, --update            only append files newer than copy in archive更新原壓縮包中的文件

這五個是獨立的命令,壓縮解壓都要用到其中一個,能夠和別的命令連用但只能用其中一個。下面的參數是根據須要在壓縮或解壓檔案時可選的。

-z:有gzip屬性的
-j:有bz2屬性的
-Z:有compress屬性的
-v:顯示全部過程
-O:將文件解開到標準輸出

下面的參數-f是必須的

-f: 使用檔案名字,切記,這個參數是最後一個參數,後面只能接檔案名。

--exclude=PATTERN        exclude files, given as a PATTERN

 

tar -czvf proftpd.tar.gz /home/proftpd --exclude *.log
#壓縮/home/proftpd目錄下文件(除去.log文件)到proftpd.tar.gz

 

壓縮

tar -cvf jpg.tar *.jpg //將目錄裏全部jpg文件打包成tar.jpg 

tar -czf jpg.tar.gz *.jpg   //將目錄裏全部jpg文件打包成jpg.tar後,而且將其用gzip壓縮,生成一個gzip壓縮過的包,命名爲jpg.tar.gz

 tar -cjf jpg.tar.bz2 *.jpg //將目錄裏全部jpg文件打包成jpg.tar後,而且將其用bzip2壓縮,生成一個bzip2壓縮過的包,命名爲jpg.tar.bz2

tar -cZf jpg.tar.Z *.jpg   //將目錄裏全部jpg文件打包成jpg.tar後,而且將其用compress壓縮,生成一個umcompress壓縮過的包,命名爲jpg.tar.Z

rar a jpg.rar *.jpg //rar格式的壓縮,須要先下載rar for linux

zip jpg.zip *.jpg //zip格式的壓縮,須要先下載zip for linux

解壓

tar -xvf file.tar //解壓 tar包

tar -xzvf file.tar.gz //解壓tar.gz

tar -xjvf file.tar.bz2   //解壓 tar.bz2

tar -xZvf file.tar.Z   //解壓tar.Z

unrar e file.rar //解壓rar

unzip file.zip //解壓zip

總結

一、*.tar 用 tar -xvf 解壓

二、*.gz 用 gzip -d或者gunzip 解壓

三、*.tar.gz和*.tgz 用 tar -xzf 解壓

四、*.bz2 用 bzip2 -d或者用bunzip2 解壓

五、*.tar.bz2用tar -xjf 解壓

六、*.Z 用 uncompress 解壓

七、*.tar.Z 用tar -xZf 解壓

八、*.rar 用 unrar e解壓

九、*.zip 用 unzip 解壓

相關文章
相關標籤/搜索