linux下的打包與壓縮

linux壓縮或解壓縮工具有很多,除了已經很少有人使用的compress外,現在常用的還有tar,bzip2,xz gzip等,我們來說說它們的用法。

先來說bzip2。bunzip2bzcat可以由bzip2指定選項來執行同樣的結果,這里只介紹bzip2的用法。使用bzip2這個工具創建的文件以.bz2,.bz,.tbz,.tar.bz2或者.tbz2結尾。

bzip2命令的用法:

bzip2 [選項] [文件]

常用選項:

bzip2 -d        解壓縮文件
bzip2 -c        將壓縮或解壓縮的結果送到標準輸出
bzip2 -f        使用此選項,在解壓縮文件時,若輸出文件與現有文件同名,則覆蓋同名的文件
bzip2 -k        在壓縮或解壓縮文件之后,保留原始文件
bzip2 -s        解壓或壓縮文件時,降低內存使用量
bzip2 -t        測試文件的完整性
bzip2 -v        壓縮或解壓縮文件時,顯示具體過程
bzip2 -z        強制壓縮一個文件
bzip2 -#        指定壓縮比率

xz同樣也是linux下出色的壓縮工具,lunxz,xzcat,lzma,unlzma,lzcat命令可以由xz命令調用指定的選項來執行,因此只介紹xz命令的用法。xz命令生成的文件通常以.xz或者.lzma格式結尾。

xz命令的用法:

xz [選項] [文件]

常用選項有:

xz -z           壓縮一個文件
xz -d           解壓縮文件
xz -t           測試文件的完整性
xz -l           查看一個壓縮文件的信息
xz -k           壓縮完文件后不刪除原始文件
xz -f           使用此選項時,若目標文件存在,則刪除原始文件,再解壓
xz -c           將執行命令的結果輸出到標準輸出
xz -F           指定壓縮或解壓縮文件的格式
xz -#           指定壓縮文件時的壓縮比率

linux上還有一個常用的解壓工具,就是gzip了。同linux下其它工具一樣,gunzip,zcat也可以由gzip指定的選項來執行,因此只介紹gzip命令的用法。用gzip命令創建的文件通常以.gz,.tar.gz,.tar.Z或者.tgz結尾。

gzip命令的用法:

gzip [選項] [文件]

常用選項有:

gzip -c            將命令的執行結果輸出到標準輸出
gzip -d            解壓縮文件
gzip -f            使用此選項時,若目標文件存在,則刪除原始文件,再解壓
gzip -l            列出這個壓縮文件的具體信息
gzip -n            解壓縮文件時,忽略文件中原來的時間戳
gzip -N            解壓縮文件時,保留文件中原始的時間戳
gzip -r            將指定目錄下的所有文件及子目錄一起壓縮
gzip -t            測試文件的完整性        
gzip -v            顯示壓縮或解壓縮的具體過程
gzip -#            指定壓縮比率

再來說說tar這個非常強大的工具吧。 tar最初是為了做磁帶備份而設計的,它的作用是把文件和目錄備份到磁帶中,然后再從磁帶中提取或恢復文件?,F在可以使用tar命令來備份數據到任何存儲介質上。tar是文件級備份,不必考慮底層文件系統類別,并且支持增量備份。tar命令創建的文件通常以.tar結尾,tar命令可以調用gzip,bz2或者xz工具來壓縮或解壓縮指定的文件.

tar命令的用法:

tar [選項] [文件]

常用選項有:

tar -z          壓縮或解壓縮一個文件
tar -x          從file.tar壓縮包中提取所有文件
tar -A          追加一個壓縮包到一個檔案內
tar -c          創建了個壓縮檔案
tar -d          比較一個壓縮檔案和被壓縮文件的區別
tar -r          追加文件到指定的壓縮包中
tar -t          測試文件的完整性
tar -u          增量備份文件,只備份比壓縮包中已經備份文件新的文件
tar -x          從一個壓縮包中提取出文件
tar -C          解壓縮文件到指定的目錄
tar -f          指定要壓縮或解壓縮的文件
tar -j          調用bzip2來壓縮或解壓縮文件
tar -J          調用xz來壓縮或解壓縮文件
tar -p          解壓縮文件時保留原始文件的權限
tar -v          顯示壓縮或解壓縮的過程
tar -z          調用gzip來壓縮或解壓縮文件
tar -P          保留原始文件的絕對路徑,解壓時自動解壓到絕對路徑下
tar --exclude   打包目錄時,不打包指定的文件

工具的用法都已經說完了,現在來看看實際工作中的用法。

例1:把系統中的/etc目錄備份到/home目錄下備份后的文件名為etc.backup的文件, 可以使用

#tar -jcvf etc.backup.tar.bz2 /etc

來把/etc/目錄打包備份成結尾為tar.bz2的壓縮包,也可以使用

#tar -zcvf etc.backup.tar.gz /etc

來把/etc/目錄打包備份成結尾為tar.gz的壓縮包,還可以使用

#tar -Jcvf etc.backup.tar.xz /etc

來把/etc/目錄打包備份成結尾為tar.xz的壓縮包

    [root@localhost ~]# tar -jcvf /home/etc_backup.tar.xz /etc
    /etc/
    /etc/pm/
    /etc/pm/power.d/
    /etc/pm/sleep.d/
    /etc/pm/config.d/
    /etc/libuser.conf
    /etc/security/
    /etc/security/namespace.d/
    ...

    [root@localhost ~]# ls -lah /home
    total 8.0M
    -rw-r--r--   1 root root 8.0M Apr 16 12:18 etc_backup.tar.xz

同樣的,已經我們會看到各種格式的壓縮文件,這時候我們可以使用tar xf filename.tar來解壓這個壓縮包。

例2:我們在某個目錄下有個Python-2.7.9.tar.xzpip-1.4.1.tar.gz的文件,我們可以使用如下命令來解壓這兩個壓縮包。

    [root@localhost ~]# tar xf Python-2.7.9.tar.xz
    [root@localhost ~]# tar xf pip-1.4.1.tar.gz 
    [root@localhost ~]# ls -Alh
    total 13M
    drwxr-xr-x  17 1000  1000 4.0K Dec 11  2014 Python-2.7.9
    -rw-r--r--   1 root root   12M Apr 16 12:24 Python-2.7.9.tar.xz
    drwxr-xr-x   5  501 games 4.0K Aug  8  2013 pip-1.4.1
    -rw-r--r--   1 root root  435K Apr 16 12:24 pip-1.4.1.tar.gz

我們可以看到,tar沒有指定使用哪個工具來解壓這兩個不同格式的壓縮包,這兩個壓縮包也已經被成功解壓了。實際上,tar命令會根據后面所接的壓縮包的格式自動調用解壓工具,這樣以后再看到不同格式的壓縮文件,我們就可以使用tar xf tar_file這個命令來解壓壓縮包了,so easy吧!??!

祝大家工作學習愉快!!

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

(1)
renpingshengrenpingsheng
上一篇 2017-04-16 20:52
下一篇 2017-04-16 21:56

相關推薦

  • 第二周作業

    一Linux上的文件管理類命令都有哪些,其常用的使用方法及其相關示例演示。 which命令:顯示(shell)命令全部的路徑 which [option] programmame […] –skip-alias:忽略別名   whereis命令:搜索二進制程序,源碼,和幫助手冊頁的命令 whereis [option] na…

    Linux干貨 2017-02-18
  • 實現真實的機柜模擬圖[原創]

    一般能反映機房設備位置、結構我們都喜歡通過網絡拓撲圖來展現,但個人感覺還不夠直觀、明了的表現出自己想要的結果(自己太挑剔了,呵呵)。因此寫一個生成真實機柜模擬圖平臺,實現與真實服務器外觀、服務狀態、空閑位置等信息。在線效果圖http://blog.liuts.com/idc/系統截圖1、平臺顯示某一排截圖2、平臺顯示某臺服務器詳細信息截圖3、狀態說明2U服務…

    Linux干貨 2015-03-27
  • Linxu系統的啟動過程

    Linxu系統的啟動過程 啟動流程 1、引導Linux啟動是從BIOS中的地址0xFFFF0處開始的,BIOS由兩部分組成:POST代碼和運行時服務,運行時服務是為操作系統提供一些接口,如溫度檢測等。 BIOS的第一個步驟是加電自檢(POST),完成對硬件的的檢測,如某些硬件出現錯誤無法通過檢測就導致系統無法啟動,POST完成之后將被清出內存; BIOS的第…

    Linux干貨 2016-09-13
  • 馬哥教育網絡班21期-第八周課程練習

    1、請描述網橋、集線器、二層交換機、三層交換機、路由器的功能、使用場景與區別。 設備 使用場景 功能 區別 集線器 局域網 共享同一網絡 不能分隔沖突域 網橋 局域網 連接不同網段,拓展局域網 端口少,可以分隔沖突域 二層交換機 局域網 連接不同局域網段,數據交換 端口更多,可以分隔沖突域,速率更快 三層交換機 局域網,廣域網 路由,高速數據交換,分隔廣播域…

    Linux干貨 2016-09-08
  • mageedu_20160802

     用戶的管理權限設置與更改以及ACL的存在及其實用意義      一.用戶的管理權限如何設置與更改以及umask值的含義    由于linux系統是一個多用戶使用的系統,對于各個用戶指定的文件或目錄必須存在一套管理系統,以防止多用戶對相同文件的混淆使用。于是催生出了linux系統文件的用戶權限設置?!?/p>

    Linux干貨 2016-08-03
  • Hadoop集群配置(最全面總結)

    通常,集群里的一臺機器被指定為 NameNode,另一臺不同的機器被指定為JobTracker。這些機器是masters。余下的機器即作為DataNode也作為TaskTracker。這些機器是slaves\ 官方地址:(http://hadoop.apache.org/common/docs/r0.19.2/cn/cluster_setup.ht…

    Linux干貨 2015-04-13

評論列表(1條)

  • renjin
    renjin 2017-04-21 11:45

    文章針對 linux下的打包與壓縮進行了詳細的說明,內容總結的很詳細,排版也很好。

欧美性久久久久