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最初是為了做磁帶備份而設計的,它的作用是把文件和目錄備份到磁帶中,然后再從磁帶中提取或恢復文件?,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.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吧?。?!
祝大家工作學習愉快!!
原創文章,作者:renpingsheng,如若轉載,請注明出處:http://www.www58058.com/73502
文章針對 linux下的打包與壓縮進行了詳細的說明,內容總結的很詳細,排版也很好。