linux下的打包與壓縮

2021-07-30 17:28:23 字數 4329 閱讀 2204

linux下的打包與壓縮

linux壓縮或解壓縮工具有很多,除了已經很少有人使用的 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

xfpython-2

.7.9

.tar

.xz[root@localhost ~]# tar

xfpip-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

.xzdrwxr-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吧!!!

linux下的打包與壓縮

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

Linux 壓縮與打包

3 打包 linux 有很多壓縮檔案名,常見的如下 副檔名壓縮程式 zcompress zip zip gz gzip bz2 bzip2 xz xz tar tar程式打包的資料,沒有經過壓縮 tar.gz tar程式打包的資料,經過gzip壓縮 tar.bz2 tar程式打包的資料,經過bzip...

linux下的打包和壓縮

linux 中常見的兩種壓縮包檔案的格式是 tar gz 和.tar.gz tar只是將檔案 簡單地打包,檔案的大小沒有變化 也就是說 tar 檔案只是乙個包,沒有被壓縮 tar.gz檔案是 打包後用 gzip壓縮 得到的,檔案會被 壓縮存放,可以 減小壓縮檔案的大小,可以便於傳輸和儲存 gz檔案是...