壓縮與打包
壓縮與打包
打包壓縮的用途:
減少磁盤使用空間
方便備份目錄等多個文件
方便傳輸,減少帶寬
打包壓縮的技術:
簡單理解為把不完全滿的空間壓縮填滿
壓縮的命令:gzip、zcat、bzip2、bzcat、xz
gzip [-cdtv#] 文件名
-c 將壓縮的數據輸出到屏幕上,可通過數據流重定向來處理。(實現保存原文件和壓縮文件)
-d 解壓縮
-t 用來檢驗一個壓縮文件的一致性,看看文件有無錯誤
-v 顯示壓縮比等信息
-# 壓縮比等級,-1最快,但效果差,-9最慢。默認為-6
zcat 文件名.gz :查看壓縮內容
練習:將messages復制到/root下,並以gzip壓縮
[[email protected] ~]# cp /var/log/messages ./
[[email protected] ~]# gzip messages
[[email protected] ~]# ls
messages.gz
解壓縮:
[[email protected] ~]# gzip -d messages.gz
[[email protected] ~]# ls -l
總用量 280
-rw------- 1 root root 283413 5月 17 01:34 messages
壓縮並保留原文件
[[email protected]
總用量 320
-rw------- 1 root root 283413 5月 17 01:34 messages
-rw-r--r-- 1 root root 38697 5月 17 01:56 messages.gz
查看壓縮內容:
[[email protected] ~]# zcat messages.gz | less
bzip2 [-cdkzv#] 文件名
-c 將壓縮的數據輸出到屏幕上
-d 解壓縮
-k 保留原文件
-z 壓縮
-v 顯示壓縮比等信息
-# 壓縮比等級,-1最快,但效果差,-9最慢。默認為-6
bzcat 文件名.bz2 :查看壓縮內容
練習:將man.config復制到/root下,並以bzip2壓縮
[[email protected] ~]# cp /etc/man.config ./
[[email protected] ~]# bzip2 man.config
[[email protected] ~]# ls
man.config.bz2
查看壓縮內容
[[email protected] ~]# bzcat man.config.bz2 | less
解壓縮:
[[email protected] ~]# bzip2 -d man.config.bz2
[[email protected] ~]# ls
man.config
壓縮並保留原文件
[[email protected] ~]# bzip2 -k man.config
[[email protected] ~]# ls
man.config man.config.bz2
打包的命令:
tar [-j|-z] [cv] [-f 壓縮文件名] filename
tar [-j|-z] [xv] [-f 壓縮文件名] [-C 目錄]
tar [-j|-z] [tv] [-f 壓縮文件名]
-c 創建歸檔
-x 展開歸檔
-t 不展開而直接查看被歸檔的文件
-v 顯示詳細信息
-z 使用gzip壓縮
-j 使用bz2壓縮
-J 使用xz壓縮
-f filename 後接要處理的文件名
-C 目錄 解壓時,要指定的目錄
-p 保留備份數據的原本權限屬性,常用於備份(-c)重要的配置文件
-P 保留絕對路徑,即允許備份數據中含有根目錄存在
--exclude=FILE 在壓縮過程中,不要將FILE打包
常用組合: tar jcvf filename.bz2 filename
tar zcvf filename.bz2 filename
tar jxvf filename.bz2
tar zxvf filename.bz2
練習:
分別以bz2和gz打包備份/etc目錄,並除去profile文件
[[email protected] ~]# tar jcvf etc.tar.bz2 /etc --exclude=profile
[[email protected] ~]# tar zcvf etc.tar.gz /etc --exclude=profile
解壓etc.tar.bz2到/tmp下
[[email protected] ~]# tar jxvf etc.tar.bz2 -C /tmp/
本文出自 “完美式_開始” 博客,謝絕轉載!
壓縮與打包