壓縮、解壓縮及歸檔工具

壓縮、解壓縮及歸檔工具

縮文件的基本原理是查找文件內的重復字節,并建立一個相同字節的"詞典"文件,并用一個代碼表示,比如在文件里有幾處有一個相同的詞"中華人民共和國"用一個代碼表示并寫入"詞典"文件,這樣就可以達到縮小文件的目的。         ———–百度百科

壓縮就是拿時間換空間。            ————————-  馬哥

命令行工具

compress/uncompress: .Z
gzip/gunzip: .gz
bzip2/bunzip2: .bz2
xz/unxz: .xz
zip/unzip
tar
cpio

compress/uncompress

語法: compress [-選項] [-b maxbits] [file …]

-d: 解壓縮,相當于uncompress

-c: 結果輸出至標準輸出,不刪除原文件

-v: 顯示詳情
uncompress 解壓縮
zcat file.Z >file

現在已經基本不用了

gzip / gunzip

語法: gzip [OPTION]… FILE …

  • -d: 解壓縮,相當于gunzip

  • -c: 將壓縮或解壓縮的結果輸出至標準輸出

– -#:1-9,指定壓縮比,值越大壓縮比越大,默認為6

zcat:不顯式解壓縮的前提下查看文本文件內容
實例:

壓縮:
    gzip textuser.test
    直接壓縮文件,會自動生成與文件名相同的.gz文件

    gzip -c messages >messages.gz
    表示用-c輸出重定向到指定文件名中
解壓
    gunzip textuser.test.gz
    表示直接解壓文件

    gzip -c -d messages.gz > messages
    解壓并重定向

    zcat messages.gz > messages
    解壓

bzip2/bunzip2/bzcat

語法: bzip2 [選項]… FILE …

  • -k: keep, 保留原文件

  • -d:解壓縮

  • -#:1-9,壓縮比,默認為6

bzcat:不顯式解壓縮的前提下查看文本文件內容

xz/unxz/xzcat

語法: xz [選項]… FILE …

  • -k: keep, 保留原文件

  • -d:解壓縮

  • -#:1-9,壓縮比,默認為6

xzcat: 不顯式解壓縮的前提下查看文本文件內容

zip/unzip

打包壓縮

zip –r sysconfig sysconfig/

解包解壓縮

unzip sysconfig.zip

cat /var/log/messages | zip message  -unzip -p message > message

注意:zip/unzip是可以壓縮整個目錄的 (要加 -r)不過解壓縮后不會保留文件原來的屬性信息!

tar

功能:打包文件,可以打包并且壓縮

語法:

創建歸檔 -c
展開歸檔 -x
不展開歸檔去查看歸檔中的文件列表 -t

打包與壓縮 tar [-j -z -J] [c v] [-f 新建的文件名] 要打包的文件或目錄

解壓縮    tar  [-j -z -J] [x v] [-f 要解壓縮的文件名]  [-C] 指明特定的解壓目錄

查看文件名 tar [-j -z -J] [t v] [-f 要解壓縮的文件名]

選項:

  • -c  :新建打包文件,可搭配-v來查看打包過程

  • -t  :查看打包文件的內容

  • -j  :通過bzip2支持進行壓縮或者解壓 .bz2

  • -z  :通過gzip支持進行壓縮或解壓 .gz

  • -J    :通過xz支持進行壓縮或解壓  .xz

  • -v  :查看過程

  • -Z或–compress或–uncompress:通過compress指令處理備份文件;

  • -f<備份文件>或–file=<備份文件>:指定壓縮后的文件名;

  • -C <目錄>    :這個選項用在解壓縮,若要在特定目錄解壓縮,可以使用這個選項。

  • -N <日期格式> 或 –newer=<日期時間>:只將較指定日期更新的文件保存到備份文件里;

  • -p或–same-permissions:用原來的文件權限還原文件;

將文件全部打包成tar包:    

tar -c -f /PATH/TO/SOMEFILE.tar FILE…
tar cf  /PATH/TO/SOMEFILE.tar FILE…
    僅打包,不壓縮!

tar -zcvf log.tar.gz log2012.log   打包后,以 gzip 壓縮
tar -jcvf log.tar.bz2 log2012.log  打包后,以 bzip2 壓縮


查閱上述tar包內有哪些文件:

tar -ztvf log.tar.gz


將tar包解壓縮:

tar -zxvf /opt/soft/test/log.tar.gz  在預設的情況下,我們可以將壓縮檔在任何地方


只將tar內的部分文件解壓出來:

tar -zxvf /opt/soft/test/log30.tar.gz log2013.log
可以透過tar -ztvf來查閱 tar 包內的文件名稱,如果單只要一個文件,就可以透過這個方式來解壓部分文件!


文件備份下來,并且保存其權限:

tar -zcvpf log31.tar.gz log2014.log log2015.log log2016.log


在文件夾當中,比某個日期新的文件才備份:

tar -N "2012/11/13" -zcvf log17.tar.gz test

注意tar打包壓縮后文件不會保留原來的屬組屬主,-p也不行,誰解壓,解壓后的文件就屬于誰!

cpio

復制 從或到文件

功能:cpio命令是通過重定向的方式將文件進行打包備份,還原恢復的工具,它可以解壓以“.cpio”或者“.tar”結尾的文件。

用法:

cpio [選項] > 文件名或者設備名
cpio [選項] < 文件名或者設備名

選項

-o 將文件拷貝打包成文件或者將文件輸出到設備上

-i 解包,將打包文件解壓或將設備上的備份還原到系統

-t 預覽,查看文件內容或者輸出到設備上的文件內容

-v 顯示打包過程中的文件名稱。

-d 解包生成目錄,在cpio還原時,自動的建立目錄

-c 一種較新的存儲方式

示例
將etc目錄備份:
find ./etc -print |cpio -ov >etc.cpio
內容預覽
cpio –tv < etc.cpio
要解包文件
cpio –iv <etc.cpio
cpio –idv < etc.cpio

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

(0)
qzxqzx
上一篇 2016-08-18
下一篇 2016-08-18

相關推薦

  • 文件查找命令之find

    文件查找命令之find   特點:實時查找,精確查找,由于find是全磁盤文件查找所有查找速度要比locate略慢一些。   find查找功能強大,下面主要介紹find查找條件的一個重要特性–德·摩根定律     德·摩根定律      非(A &&B)=(非A…

    Linux干貨 2016-08-16
  • 計算機網絡知識,腳本編程_第八周練習

    Q1:請描述網橋、集線器、二層交換機、三層交換機、路由器的功能、使用場景與區別。 網橋:網橋(Bridge)是早期的兩端口二層網絡設備,用來連接不同網段。網橋的兩個端口分別有一條獨立的交換信道,不是共享一條背板總線,可隔離沖突域。網橋比集線器(Hub)性能更好,集線器上各端口都是共享同一條背板總線的。后來,網橋被具有更多端口、同時也可隔離沖突域的交換機(Sw…

    Linux干貨 2016-12-25
  • 14程序包的編譯安裝

    在有些源代碼程序沒有被編譯成rpm的時候,或者其他人寫了一個源代碼程序,要把它安裝在服務器上要怎么做呢? 那就需要對源代碼進行編譯安裝了。 C代碼編譯安裝三步驟: 1、./configure: (1)通過選項傳遞參數,指定啟用特性、安裝路徑等;執行時會參考用戶的指定以及makefile.in文件生成makefile (2) 檢查依賴到的外部環境,如依賴的軟件…

    Linux干貨 2016-11-27
  • 例圖分析軟、硬鏈接

    在linux系統中存在兩種鏈接方式硬鏈接和軟連接,兩種鏈接方式在系統中是完全不同的模式,本文主要詳述兩種的區別并給與圖示; 創建guo ,lin兩個文件,兩個文件分別用于演示軟連接和硬鏈接     圖一:創建文件   創建軟連接guo.ruan1     圖二:創建軟連…

    Linux干貨 2016-10-29
  • Ansible的基礎知識

    為什么要學習ansible:     ansible是自動化運維的一種工具,使用ansible可以一次性管理多臺主機,為多臺主機安裝或這執行相同或者不同的操作,省去了一臺臺主機去重復執行相同的任務,可以使用corn選項結合本機的crontab設置本主機的任務性計劃,比如,每天導出nginx的access.log和err…

    Linux干貨 2016-11-03
  • sed使用小命令及課后作業

    Stream EDitor,  行編輯器 sed 是一種流編輯器,它一次處理一行內容。處理時,把當前處理的行存儲在臨時緩沖區中,稱為“模式空間”(pattern space ),接著用sed 命令處理緩沖區中的內容,處理完成后,把緩沖區的內容送往屏幕。接著處理下一行,這樣不斷重復,直到文件末尾。文件內容并沒有改變,除非你使用重定向存儲輸出。Sed …

    Linux干貨 2017-03-18
欧美性久久久久