壓縮原理:把文檔中相同的字符串用特殊的算法提取出來,爲其打上一個特殊的標記,並用標記替換文檔中原有的字符。從而實現壓縮文件佔用空間大小的目的。
Linux中常用的壓縮軟件有以下幾種(只能壓縮文件,不支持目錄壓縮):
gzip:壓縮後默認不保留原文件
用法: gzip [option] filePath
-c:把壓縮後的內容輸出到標準輸出上,不生產壓縮後的文件,並且保留原文件
gzip -c filePath > filePath.gz
-#:設定壓縮級別,範圍是0-9,默認是6級別
-d:解壓縮
gzip -d filePath.gz
zcat:不解壓縮文件,查看文件裏面的內容
gunzip:解壓縮
bzip2: 壓縮後默認不保留原文件
用法: bzip2 [option] filePath
-k:保留原文件
-#:設定壓縮級別,範圍是0-9,默認是6級別
-d:解壓縮
bzip2 -d filePath.gz
bzcat:不解壓縮文件,查看文件裏面的內容
bunzip2:解壓縮
xz: 壓縮後默認不保留原文件
用法: xz [option] filePath
-k:保留原文件
-#:設定壓縮級別,範圍是0-9,默認是6級別
-d:解壓縮
xz -d filePath.gz
xzcat:不解壓縮文件,查看文件裏面的內容
unxz:解壓縮
由於gzip、bzip2、xz等工具不能壓縮目錄,因此有一個專門用來歸檔的命令tar。此命令可以對目錄進行歸檔,然後在根據給定的選項調用指定的壓縮工具對目錄進行歸檔壓縮,從而實現壓縮目錄的功能。
tar: 對文件或目錄進行歸檔並壓縮
用法:tar [option] DES_file SRC_file
-c:創建歸檔文件
tar -cf /tmp/httpd.tar /etc/httpd #對/etc/httpd目錄歸檔
-f:指定歸檔或者歸檔後壓縮的文件名或文件路徑。合併多個選項時,f必須放在最後面。
tar -cf /tmp/apache.tar /etc/apache
-z:調用gzip命令對歸檔後的文件壓縮
tar -zcf /tmp/apache.tar.gz /etc/apache
-t:不解壓縮歸檔查看歸檔壓縮文件中的內容
tar -tf /tmp/apache.tar.gz
-j:調用bzip2命令對歸檔後的文件壓縮
tar -jcf /tmp/apache.tar.bz2/etc/apache
-J:調用xf命令對歸檔後的文件壓縮
tar -Jcf /tmp/apache.tar.xz/etc/apache
-x:對歸檔後的或者歸檔並壓縮後的文件進行解壓縮歸檔(默認解壓縮歸檔在當前目錄下)
tar -xf /tmp/apache.tar.bz2
-C:指定解壓縮歸檔的目標路徑
tar -xf /tmp/apache.tar.xz -C /etc