壓縮與歸檔

一、壓縮

    壓縮:根據一定算法將數據以更加節省空間的形式存放。下面來看一下Linux常見的壓縮工具:

    1、gzip/gunzip

        后綴名:.gz

        常用選項:

        -#:壓縮比:默認為6,范圍0-9。

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

        -c:將壓縮后的結果輸出標準輸出。

            gzip -c /path/to/somefile > /path/to/somefile.gz

        -v:顯示進度。

        zcat someifle.gz:不解壓查看gzip壓縮后的內容。

        演示:

            先復制一個文件到/tmp目錄下:

1.png

2.png3.png

            從上面的結果中可以明顯的看出壓縮前后的文件大小的區別,而且在壓縮完后源文件就不見了,如果我們想保留原文件可以進行以下操作:

4.png

            上面的范例中首先使用-d選項進行了解壓縮,也可以使用gunzip命令來實現解壓縮;壓縮時修改了默認的壓縮比,并且保留了源文件。

            如果想要讀取壓縮后的文件內容,我們可以先將其解壓后查看,當然也可以直接使用命令進行查看:

5.png

    2、bzip2/bunzip2

        后綴名: .bz2

        常用選項:

        -#:壓縮比:默認為6,范圍1-9。

        -d:解壓縮,相當于bunzip2。

        -k:保留原文件。

        -c:將壓縮后的結果輸出標準輸出。

        bzcat somefile.bz2:不解壓縮查看。

        演示:

1.png2.png            同樣,bzip2在壓縮后也把源文件搞沒了;

3.png

            也可以使用與gzip相同的方法來保留源文件;

4.png

            查看壓縮文件的內容:

4.png

    3、xz/unxz

        后綴名: .xz

        常用選項:

        -#:壓縮比默認為6, 范圍0-9。

        -d:解壓縮,相當于unxz。

        -k:保留原文件。

        -c:將壓縮后的結果輸出標準輸出。

        -v:顯示進度。

    xzcat somefile.xz:不解壓縮查看。

    演示:1.png2.png

    xz命令與gzip、bzip2命令用法類似,就不做過多的演示了。

    以上三種壓縮工具都可以雖然都是可以對文件進行壓縮,但它的壓縮性能是有區別的:

1.png2.png

    分別使用三種工具對同一文件進行同一級別的壓縮,結果顯示xz的壓縮比最高。

    上面介紹的工具只能對單個文件進行壓縮,而對于目錄是不能操作的,如下圖所示:

3.png

    如果想對目錄進行壓縮可以使用下面的這個命令。

    4、zip/unzip

    后綴名:.zip

        命令格式:zip 文件名.zip 原文件

        支持歸檔壓縮,可將多個文件壓縮至一個zip文件中;

        支持對目錄進行歸檔,如zip tmp.zip /tmp/*。

1.png

        針對于目錄的壓縮通常使用歸檔工具,所以zip就不過多的介紹了。

二、歸檔

    歸檔就是實現將多個文件打包成單個文件。

    使用tar命令來實現歸檔功能。

        命令格式:tar [option] -f tarfile.tar src_file

            option:            

                -c:創建歸檔。

                -f FILE.tar:指定歸檔后的文件。

                -v:顯示執行過程。

              -x:展開歸檔。

                -t:查看歸檔文件中的內容。

                -z:使用gzip格式壓縮和解壓縮歸檔文件。

                -j:使用bzip2格式壓縮和解壓縮歸檔文件。

                -J:使用xz格式壓縮和解壓縮歸檔文件。

                -C:指定歸檔的存放路徑。

                -p:保留備份數據的原本權限與屬性。

                -P:將文件以絕對路徑打包。

        演示:

            1、將/etc/目錄打包存放到/tmp目錄

1.png

            在執行命令時出現兩個提示信息,從文件名和硬鏈接中移除了根目錄;其實tar命令打包時是按照相對路徑進行打包的,其用意在于將tar包展開時可以在任意目錄進行,如果打包時是按照絕對路徑的目錄存放,那么展開時就會直接按照絕對路徑進行恢復,以上圖為例,如果/etc目錄按照絕對路徑打包,那么展開時就會直接恢復到/etc目錄,會造成使用舊文件覆蓋新文件的問題。

            如果想要以絕對路徑對文件打包,可以使用-P選項,下面來看一下這兩種方式的不同之處:

1.png3.png

            上面分別以相對路徑和絕對路徑的方式對/etc目錄進行了歸檔操作,下面我們來看一下兩個tar包中的內容:

4.png5.png

            2、對歸檔文件時行壓縮

1.png            3、展開歸檔文件

1.png2.png

            注意:展開歸檔文件時,如果歸檔文件是壓縮的,使用相對應的壓縮命令選項展開歸檔文件;以上圖為例,歸檔文件的壓縮格式為xz,在展開時可以使用對應的-J選項進行解壓展開,也可以直接使用-xf選項,tar命令自動檢測包類型并解壓。


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

(0)
petmasterpetmaster
上一篇 2015-05-03
下一篇 2015-05-04

相關推薦

  • 用戶與用戶組相關的配置文件與命令總結

    Linux 中用戶與用戶組相關的配置文件與命令總結 用戶與用戶組 UID、GID 名稱解析與解析庫(passwd、group、shadow、gshadow) 用戶信息庫/etc/passwd 用戶密碼信息/etc/shadow 組的信息庫/etc/group 組的密碼信息/etc/gshadow 用戶管理命令 用戶組管理命令 用戶與用戶組 Linux是一種多…

    2016-10-23
  • 詳解“FTP文件傳輸服務”配置實例

            詳解“FTP文件傳輸服務”配置實例 目錄 簡介 ftp工作原理 常見的FTP服務 Vsftpd服務器的安裝 Vsftpd.conf配置文件詳解 配置FTP服務器實例 實例:配置匿名 實例:配置本地用戶登錄 實例:配置虛擬用戶登錄(MySQL認證) 實例:控制用戶登…

    Linux干貨 2016-10-18
  • 關于文件 atime mtime gtime 專題–2016-07-27

    Linux文件組成部分:元數據(metadata)和數據(date) 元數據的查看方式:使用stat命令; 數據的查看方式:文本格式使用 cat nano查看及修改即可; stat命令: 功能說明:顯示文件或文件系統的狀態 語法: stat  [OPTION] …  FILE… 參數:   舉例: [ro…

    Linux干貨 2016-08-04
  • 文件系統層次標準FHS

    FHS針對目錄樹架構僅定義出三層目錄下應該放置哪些數據,分別是下面三個目錄: /(根目錄):與開機系統有關; /usr(unix software resource):與軟件安裝執行有關; /var(variable):與系統運作過程有關。   下面分別對上述三層目錄進行詳細的闡述。   (1) /(根目錄)   根目錄是整個系統最重要的一個目錄,…

    Linux干貨 2016-10-19
  • linux內核及系統啟動流程

    Linux內核 內核概述 如圖,最上面是用戶空間(User Space),是用戶程序執行的地方;用戶空間之下是內核空間(Kernel Space),內核位于此?;诖?,GUN C Library(glibc)提供了連接內核的系統調用接口,還提供了在用戶空間應用程序和內核之間進行轉換的機制,因為內核空間和用戶空間的應用程序使用的是不同的保護地址空間。用戶空間的…

    Linux干貨 2016-08-08
  • 如何安裝VMware Workstation

    1、打開安裝包,直接點擊“下一步” 2、選擇接受條款,單擊“下一步” 3、選擇安裝路徑,單擊“下一步” 4、單擊“下一步”,也可以勾選掉兩個選項   5、單擊“下一步”   6、點擊“安裝”   7、完成安裝  

    2017-07-11
欧美性久久久久