linux下的打包與壓縮

linux壓縮或解壓縮工具有很多,除了已經很少有人使用的compress外,現在常用的還有tar,bzip2xz 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
下一篇 2017-04-16

相關推薦

  • Linux下計劃任務神器-Crontab

    作為系統運維人員都清楚,在Linux下定義重復性的任務,我們一般會采用crontab來進行:crontab這個指令所設置的工作將會循環的一直進行下去!可循環的時間為分鐘、小時、每日、每月、每周。 crontab計劃任務: 1)常見用法:crontab命令的作用和用法如下:描述:為每個用戶維護周期性的計劃任務文件用法:crontab [-u 用戶][-l|-r…

    Linux干貨 2016-07-22
  • rpm詳解

    rpm詳解 rpm詳解 rpm使用方法 rpm起源 rpm是什么 rpm命名格式 rpm優缺點 rpm獲取注意 rpm命令使用 rpm起源  由于在linux中安裝應用程序需要源碼包編譯安裝,對于非專業人員而言難度太大,因而出現一種將源碼編譯好的二進制程序,庫文件,配置文件,幫助文件等打包成一個或多個特定格式的程序包,而管理這類包的工具之一,則稱為…

    Linux干貨 2016-12-23
  • shell編程

       編程基礎   編程基礎:       編程:也就是程序+數據           程序編程風格:                  過程式:以指…

    Linux干貨 2016-08-15
  • 分區管理和文件系統

    管理分區:        lsblk           列出塊設備        fdisk          創建MBR 分區      &nbs…

    Linux干貨 2017-03-11
  • 用戶和組管理 第三周

    1、列出當前系統上所有已經登錄的用戶的用戶名,注意:同一個用戶登錄多次,則只顯示一次即可。 who | cut -d' ' -f1 | sort -u who:查看當前已經登陸的所有用戶的詳細信息 cut -d ' ' -f1:以空格為界顯示每行第一列 sort -u :在輸出行中去除重復行。 2、取出最后登錄到當前系…

    Linux干貨 2017-02-13
  • 集中練習8-bash腳本及系統啟動

    集中練習8-bash腳本及系統啟動

    2017-12-06

評論列表(1條)

  • renjin
    renjin 2017-04-21 11:45

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

欧美性久久久久