2021-05-12 14:32:11
Linux下打包與壓縮簡述
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
相關文章