1. 程式人生 > >壓縮與打包

壓縮與打包

壓縮 打包 gzip zcat bzip2 bzcat

壓縮與打包

打包壓縮的用途:

減少磁盤使用空間

方便備份目錄等多個文件

方便傳輸,減少帶寬

打包壓縮的技術:

簡單理解為把不完全滿的空間壓縮填滿

壓縮的命令: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]

~]# gzip -c messages > messages.gz

總用量 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/


本文出自 “完美式_開始” 博客,謝絕轉載!

壓縮與打包