壓縮及歸檔工具

常用的有這些:

compress/uncompress: .Z

gzip/gunzip: .gz

bzip2/bunzip2: .bz2

xz/unxz: .xz

zip/unzip

tar, cpio

現在分別介紹他們的用法:

1、gzip/gunzip/zcat  .gz

             

gzip [OPTION]… FILE …  默認壓縮/解壓縮完之后刪除原文件 

-d: 解壓縮,相當于gunzip

-c: 將結果輸出至標準輸出,將不會操作原文件,壓縮以后保留原文件 

-#:1-9,指定壓縮比;比例越大,壓縮后的文件越小,消耗的時間越長

-r:壓縮目錄,它會對目錄中的每一個文件都進行壓縮,并且把原文件都刪除

zcat:自動調用gunzip命令,解壓至臨時文件中,并使用zcat打開查看;不展開的前提下,查看文本文件內容; 

zcat messages.gz  

     zcat messages.gz | less 分頁看

[root@localhost ~]# cp /var/log/messages ./
[root@localhost ~]# cp /etc/rc.d/init.d/functions ./
[root@localhost ~]# ll messages functions
-rw-r--r--. 1 root root   13948 Sep 16 16:36 functions
-rw-------. 1 root root 1274157 Sep 16 16:35 messages
[root@localhost ~]# ll -h messages functions
-rw-r--r--. 1 root root  14K Sep 16 16:36 functions
-rw-------. 1 root root 1.3M Sep 16 16:35 messages
[root@localhost ~]# gzip messages
[root@localhost ~]# ll -h
total 7.8M
-rw-------.  1 root root 1.5K Aug  9 23:56 anaconda-ks.cfg
drwxr-xr-x.  2 root root    6 Aug 10 00:01 Desktop
drwxr-xr-x.  2 root root    6 Aug 10 00:01 Documents
drwxr-xr-x.  2 root root    6 Aug 10 00:01 Downloads
-rw-r--r--.  1 root root  14K Sep 16 16:36 functions
-rw-------.  1 root root 1.5K Aug 10 00:00 initial-setup-ks.cfg
-rw-------.  1 root root  96K Sep 16 16:35 messages.gz    #只有壓縮后的文件,原文件已被刪除
drwxr-xr-x.  2 root root    6 Aug 10 00:01 Music
drwxr-xr-x.  2 root root   39 Aug  9 23:55 openscap_data
drwxr-xr-x. 10 1000 1000 4.0K Aug 17 04:45 phpMyAdmin-4.0.10.17-all-languages
-rw-r--r--.  1 root root 7.7M Sep 11 19:05 phpMyAdmin-4.0.10.17-all-languages.tar.gz
drwxr-xr-x.  2 root root    6 Aug 10 00:01 Pictures
drwxr-xr-x.  2 root root    6 Aug 10 00:01 Public
drwxr-xr-x.  2 root root    6 Aug 10 00:01 Templates
drwxr-xr-x.  2 root root    6 Aug 10 00:01 Videos
[root@localhost ~]#

2、bzip2/bunzip2/bzcat  .bz2

bzip2 [OPTION]… FILE … 

默認壓縮/解壓縮完之后刪除原文件;只能壓縮文件,不能壓縮目錄;

    

-k: keep, 保留原文件,不需要重定向  

-d:解壓縮

-#:1-9,壓縮比,默認為6; 壓縮比更大,效率更高

bzcat:不顯式展開的前提下查看文本文件內容;

[root@localhost ~]# bzip2 messages
[root@localhost ~]# ll -h
total 280K
-rw-------.  1 root root 1.5K Aug  9 23:56 anaconda-ks.cfg
drwxr-xr-x.  2 root root    6 Aug 10 00:01 Desktop
drwxr-xr-x.  2 root root    6 Aug 10 00:01 Documents
drwxr-xr-x.  2 root root    6 Aug 10 00:01 Downloads
-rw-r--r--.  1 root root  14K Sep 16 16:36 functions
-rw-------.  1 root root 1.5K Aug 10 00:00 initial-setup-ks.cfg
-rw-r--r--.  1 root root  92K Sep 16 16:51 messages.2.gz
-rw-------.  1 root root  62K Sep 16 16:35 messages.bz2   #壓縮,已經有massages.bz2文件,默認壓縮比更大
-rw-r--r--.  1 root root  96K Sep 16 16:47 messages.gz
drwxr-xr-x.  2 root root    6 Aug 10 00:01 Music
drwxr-xr-x.  2 root root   39 Aug  9 23:55 openscap_data
drwxr-xr-x. 10 1000 1000 4.0K Aug 17 04:45 phpMyAdmin-4.0.10.17-all-languages
drwxr-xr-x.  2 root root    6 Aug 10 00:01 Pictures
drwxr-xr-x.  2 root root    6 Aug 10 00:01 Public
drwxr-xr-x.  2 root root    6 Aug 10 00:01 Templates
drwxr-xr-x.  2 root root    6 Aug 10 00:01 Videos
[root@localhost ~]#
[root@localhost ~]# bzip2 -d messages.bz2
[root@localhost ~]# ll -h
total 1.5M
-rw-------.  1 root root 1.5K Aug  9 23:56 anaconda-ks.cfg
drwxr-xr-x.  2 root root    6 Aug 10 00:01 Desktop
drwxr-xr-x.  2 root root    6 Aug 10 00:01 Documents
drwxr-xr-x.  2 root root    6 Aug 10 00:01 Downloads
-rw-r--r--.  1 root root  14K Sep 16 16:36 functions
-rw-------.  1 root root 1.5K Aug 10 00:00 initial-setup-ks.cfg
-rw-------.  1 root root 1.3M Sep 16 16:35 messages   #解壓縮,默認也會刪除原文件
-rw-r--r--.  1 root root  92K Sep 16 16:51 messages.2.gz
-rw-r--r--.  1 root root  96K Sep 16 16:47 messages.gz
drwxr-xr-x.  2 root root    6 Aug 10 00:01 Music
drwxr-xr-x.  2 root root   39 Aug  9 23:55 openscap_data
drwxr-xr-x. 10 1000 1000 4.0K Aug 17 04:45 phpMyAdmin-4.0.10.17-all-languages
drwxr-xr-x.  2 root root    6 Aug 10 00:01 Pictures
drwxr-xr-x.  2 root root    6 Aug 10 00:01 Public
drwxr-xr-x.  2 root root    6 Aug 10 00:01 Templates
drwxr-xr-x.  2 root root    6 Aug 10 00:01 Videos
[root@localhost ~]#

3、xz/unxz/xzcat  .xz

xz [OPTION]… FILE …   

-k: keep, 保留原文件

-d:解壓縮

-#:1-9,壓縮比,默認為6; 壓縮比更大 

xzcat: 不顯式展開的前提下查看文本文件內容;

[root@localhost ~]# xz -k messages
[root@localhost ~]# ll -h
total 1.6M
-rw-------.  1 root root 1.5K Aug  9 23:56 anaconda-ks.cfg
drwxr-xr-x.  2 root root    6 Aug 10 00:01 Desktop
drwxr-xr-x.  2 root root    6 Aug 10 00:01 Documents
drwxr-xr-x.  2 root root    6 Aug 10 00:01 Downloads
-rw-r--r--.  1 root root  14K Sep 16 16:36 functions
-rw-------.  1 root root 1.5K Aug 10 00:00 initial-setup-ks.cfg
-rw-------.  1 root root 1.3M Sep 16 16:35 messages
-rw-r--r--.  1 root root  92K Sep 16 16:51 messages.2.gz
-rw-------.  1 root root  62K Sep 16 16:35 messages.bz2
-rw-r--r--.  1 root root  96K Sep 16 16:47 messages.gz
-rw-------.  1 root root  57K Sep 16 16:35 messages.xz   #壓縮,壓縮比更大
drwxr-xr-x.  2 root root    6 Aug 10 00:01 Music
drwxr-xr-x.  2 root root   39 Aug  9 23:55 openscap_data
drwxr-xr-x. 10 1000 1000 4.0K Aug 17 04:45 phpMyAdmin-4.0.10.17-all-languages
drwxr-xr-x.  2 root root    6 Aug 10 00:01 Pictures
drwxr-xr-x.  2 root root    6 Aug 10 00:01 Public
drwxr-xr-x.  2 root root    6 Aug 10 00:01 Templates
drwxr-xr-x.  2 root root    6 Aug 10 00:01 Videos
[root@localhost ~]#

4、zip  .zip   

    要想壓縮目錄,應該把目錄打包成單個文件,再壓縮,而打包其實就是歸檔;

    zip是集歸檔、壓縮為一體的工具。

    要指明壓縮后的文件名:zip name 目錄; 不會刪除原文件

zip pam.d.zip pam.d/  #壓縮目錄
ll -h
mv pam.d pam.d.orig   #改名,因為解壓縮后的文件也會叫pam.d
unzip pam.d.zip   #展開
ll
cd pam.d
ll  #沒有文件,因此我們在歸檔時要指明哪些文件

rm -rf pam.d pam.d.zip  
zip pam.d.zip pam.d.orig/*     #*指明所有文件
ll -h    #pam.d.zip有大小了
du -sh pam.d.orig/  #可以看到原文件pam.d.orig的大小,184k

mv pam.d.orig pam.d.orig.2   #展開,不管歸檔后叫什么名,展開后還是歸檔前的那個名
ll
uzip pam.d.zip
ll  #展開仍然為pam.d.orig

5、tar   .tar   

tar [OPTION]…  用的非常多,歸檔工具

(1) 創建歸檔

tar cf /PATH/TO/SOMEFILE.tar FILE…  

(2) 查看歸檔文件中的文件列表  不打開的前提下查看文件

tar tf /PATH/TO/SOMEFILE.tar

(3) 展開歸檔

tar xf /PATH/TO/SOMEFILE.tar

tar xf /PATH/TO/SOMEFILE.tar -C /PATH/TO/DIR   默認展開在當前目錄,-C 保存到指定目錄

  結合壓縮工具實現歸檔并壓縮,創建時使用

-j: bzip2,  -z: gzip,  -J: xz

mv pam.d.org.2 pam.d 改名
tar -cf pam.d.tar pam.d/  歸檔
ll -h   可以看到pam.d.tar 為60k,不指名所有文件也能歸檔

展開到指明目錄:
mkdir /tmp/test
tar xf pam.d.tar -C /tmp/test/
ls /tmp/test   
ls /tmp/test/pam.d   #pam.d下所有文件也在
xz pam.d.tar  刪除原文件,只保留壓縮文件
ll   

tar Jxf pam.d.tar.xz   #展開歸檔 ‘既歸檔又壓縮’的文件
ll -h   #pam.d又在了,而tar不會刪除原文件,不管是歸檔、展開歸檔

tar Jtf pam.d.tar.xz  #查看歸檔前的文件列表
rm pam.d.tar.xz

tar -Jcf pam.d.tar.xz pam.d  #一次完成,既歸檔,又壓縮
ll -h

原創文章,作者:mississippi,如若轉載,請注明出處:http://www.www58058.com/47020

(0)
mississippimississippi
上一篇 2016-09-19 13:48
下一篇 2016-09-19 13:48

相關推薦

  • 設計模式(八)裝飾器模式Decorator(結構型)

    1. 概述        若你從事過面向對象開發,實現給一個類或對象增加行為,使用繼承機制,這是所有面向對象語言的一個基本特性。如果已經存在的一個類缺少某些方法,或者須要給方法添加更多的功能(魅力),你也許會僅僅繼承這個類來產生一個新類—這建立在額外的代碼上。       通過繼…

    Linux干貨 2015-07-03
  • C++的std::string的“讀時也拷貝”技術!

    C++的std::string的讀時也拷貝技術! 嘿嘿,你沒有看錯,我也沒有寫錯,是讀時也拷貝技術。什么?我的錯,你之前聽說寫過時才拷貝,嗯,不錯的確有這門技術,英文是Copy On Write,簡寫就是COW,非?!!?!那么我們就來看看這個’?!夹g的效果吧。 我們先編寫一段程序 #include <string> #include…

    Linux干貨 2015-04-03
  • PXE自動化安裝系統

    PXE自動化安裝的流程: 開機自檢 > 加載ROM中的bios代碼 > 檢查設備啟動順序,由于PXE自動安裝是基于網卡作引導的,所以,會選擇網卡 > 網卡中會有PXE的模塊,從dhcp服務器獲取ip地址 掩碼 網關 dns 重要的是tftp服務器的地址 從tftp服務器需要獲取的bootloder的文件名的信息 > 從tftp中加載p…

    Linux干貨 2015-08-11
  • 設計模式 ( 二十 ) 訪問者模式Visitor(對象行為型)

    特此說明:對訪問者模式理解不是特別透徹,若有誤,請指正,謝謝! 1.概述 在軟件開發過程中,對于系統中的某些對象,它們存儲在同一個集合collection中,且具有不同的類型,而且對于該集合中的對象,可以接受一類稱為訪問者的對象來訪問,而且不同的訪問者其訪問方式有所不同。 例子1:顧客在超市中將選擇的商品,如蘋果、圖書等放在購物車中,然后到收銀員處付款。在購…

    Linux干貨 2015-04-07
  • Memcached命令

    Memcache 的命令行用法: 1、啟動Memcache 常用參數    memcached 1.4.3      -p <num>      設置端口號(默認不設置為: 11211)      -U <num> &nbsp…

    Linux干貨 2015-05-18
  • httpd服務歸納:httpd基本配置(https原理以及配置 )

    一 https介紹以及實現機制   1. https協議:      在傳統的http協議中,文檔是明文傳送的,網頁涉及敏感信息是,將變得很不安全。為了保證敏感信息的安全,httpd結合加密庫openssl或openssh 產生了https 協議。這就好比兩個黑社會團伙交易,都怕出事被抓,…

    Linux干貨 2015-05-23
欧美性久久久久