壓縮與打包
壓縮
一、compress
用法:
[root@localhosttest]# compress -[rcv] 文件或目錄
參數:
-r:遞歸壓縮,將目錄下的子目錄或文件一起壓縮
-c:將壓縮數據輸出爲standardoutput (輸出到屏幕)
-v:顯示壓縮後文件的信息及壓縮率
例:將/etc/passwd複製到/tmp/test下壓縮
[root@localhost test]# cp /etc/passwd . [root@localhost test]# compress -v passwd passwd: -- replaced with passwd.Z Compression: 43.23%
注意:這裏passwd壓縮後被替換爲passwd.Z,並且顯示壓縮率,我們對比一下,壓縮前和壓縮後文件的大小
[root@localhost test]# ls -lh /etc/passwd/tmp/test/passwd* -rw-r--r--. 1 root root 1.5K Sep 21 14:07/etc/passwd
-rw-r--r--. 1 root root 860 Oct 6 06:09 /tmp/test/passwd.Z 壓縮後
解壓:
[root@localhosttest]# uncompress 壓縮文件名
例:
[root@localhost test]# uncompress passwd.Z [root@localhost test]# ls -l passwd* -rw-r--r--. 1 root root 1515 Oct 6 06:09 passwd
二、gzip
用法:
[root@localhosttest]# gzip –[cdtv#] 文件名
參數:
-c:將壓縮的文件輸出到屏幕上,可以重定向處理
-d:解壓
-t:可以用來檢驗壓縮文件的一致性,看文件是否有錯
-v:顯示源文件/壓縮文件的壓縮比信息
-#:壓縮等級;-1最快,壓縮比差;-9最慢,壓縮比高;-6最佳
例:將/etc/passwd複製到/tmp/test下,使用gzip壓縮
[root@localhost test]# gzip -v passwd [root@localhost test]# ls -lh passwd* -rw-r--r--. 1 root root 645 Oct 6 06:09 passwd.gz
注意:gzip壓縮也會覆蓋原文件
如果想保留源文件,則可以使用–c參數,將壓縮文件重定向爲其他文件
[root@localhost test]# gzip -9 -c passwd> passwdgz.gz [root@localhost test]# ls -l passwd* -rw-r--r--. 1 root root 1515 Oct 6 06:09 passwd -rw-r--r--. 1 root root 645 Oct 6 06:42 passwdgz.gz
這樣即可保留源文件
對比gzip和compress壓縮的效果
[root@localhost test]# ls -l /etc/passwd/tmp/test/passwd* -rw-r--r--. 1 root root 1515 Sep 21 14:07/etc/passwd 源文件 -rw-r--r--. 1 root root 645 Oct 6 06:09 /tmp/test/passwd.gz gzip壓縮 -rw-r--r--. 1 root root 860 Oct 6 06:37 /tmp/test/passwd.Z compress壓縮
解壓:
[root@localhosttest]# gzip -d passwd.gz
注意:解壓縮也會覆蓋壓縮文件並生成壓縮前的文件
查看gzip壓縮包:
[root@localhost test]# zcat passwdgz.gz
三、bzip2
用法:
[root@localhosttest]# bzip2 -[cdkzv#] 文件名
參數:
-c:將壓縮的文件輸出到屏幕上,可以重定向處理
-d:解壓
-k:保留原文件,不刪除原始文件
-v:顯示源文件/壓縮文件的壓縮比信息
-#:壓縮等級;-1最快,壓縮比差;-9最慢,壓縮比高;-6最佳
-z:壓縮
例:將/etc/passwd複製到/tmp/test下,使用bzip2壓縮
[root@localhost test]# bzip2 -z passwd [root@localhost test]# ls –l total 12 -rw-r--r--. 1 root root 675 Oct 6 06:09 passwd.bz2 -rw-r--r--. 1 root root 645 Oct 6 06:42 passwdgz.gz -rw-r--r--. 1 root root 860 Oct 6 06:37 passwd.Z
解壓:
[root@localhosttest]# bzip2 -d passwd.bz2
查看bzip2壓縮文件內容:
[root@localhosttest]# bzcat passwd.bz2
打包
一、tar
用法:
[root@localhosttest]# tar [-j|-z] [cv] [-f 新文件名] filename [root@localhost test]# tar [-j|-z] [tv] [-f 新文件名] [root@localhost test]# tar [-j|-z] [xv] [-f 新文件名] [-C 目錄]
參數:
-c:新建打包文件,可搭配-v來查看被打包的文件名
-t:查看打包後文件含哪些文件名,重點是文件名
-x:解包或解壓縮,可配合-C在指定目錄中解壓
-j:通過bzip2進行壓縮/解壓縮
-z:通過gzip進行壓縮/解壓縮
-v:在壓縮/解壓縮過程中,將正在處理的文件名顯示出來
-ffilename:後跟要被處理的文件名
-C目錄:指定解壓目錄
-p:保留備份數據的原本權限與屬性,常用於備份重要的配置文件
-P:保留絕對路徑,允許備份數據中有根目錄
--exclude=FILE:壓縮過程中,不要將FILE打包
例:將/etc/passwd、/etc/shadow、/etc/man.config複製到/tmp/test目錄下,分別使用gzip和bzip2格式打包壓縮
[root@localhost test]# cp /etc/passwd . [root@localhost test]# cp /etc/shadow . [root@localhost test]# cp /etc/man.config .
使用gzip打包壓縮
[root@localhost test]# tar -zpcv -ftest1.tar.gz /tmp/test/
使用bzip2打包壓縮
[root@localhost test]# tar -jpcv -ftest1.tar.bz2 /tmp/test/
查看兩種打包壓縮的區別
[root@localhost test]# ls -l /tmp/test1* -rw-r--r--. 1 root root 3209 Oct 6 08:03 /tmp/test1.tar.bz2 -rw-r--r--. 1 root root 3217 Oct 6 08:02 /tmp/test1.tar.gz
查看打包文件內容:
[root@localhost test]# tar -jtv -f/tmp/test1.tar.bz2 [root@localhost test]# tar -ztv -f/tmp/test1.tar.gz
解壓:
[root@localhost tmp]# tar -jxv -ftest1.tar.bz2 -C /tmp/test [root@localhost tmp]# tar -zxv -ftest1.tar.gz -C /tmp/test