首頁 > 軟體

Linux下打包與壓縮簡述

2020-06-16 17:13:03

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

先來說bzip2。bunzip2和bzcat可以由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最初是為了做磁帶備份而設計的,它的作用是把檔案和目錄備份到磁帶中,然後再從磁帶中提取或恢復檔案。現在可以使用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.xz和pip-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吧!!!

本文永久更新連結地址http://www.linuxidc.com/Linux/2017-06/144472.htm


IT145.com E-mail:sddin#qq.com