我使用的環境是64位的 Red Hat Enterprise Linux Server release 6.4 (Santiago)linux
1.compress與*.Z文件算法
compress程序的做用是:Compress reduces the size of the named files using adaptive Lempel-Ziv codingbash
即:使用自適應的Lempel-Ziv編碼壓縮文件編碼
若是沒有安裝compress,輸入compress命令後會提示錯誤:.net
-bash: compress: command not foundcode
運行下面的命令能夠進行安裝:htm
yum install ncompress
(Arch: x86_64;Version: 4.2.4-54.el6_2.1)排序
將文件test壓縮到test.Z遞歸
compress test
運行該命令後,test文件消失,新出現文件test.Z。解壓縮此文件,則輸入下面兩個命令之一就能夠了ip
compress -d test.Z uncompress test.Z
compress命令沒法對整目錄進行壓縮,只能壓縮一個目錄中的全部文件進行遞歸式壓縮與解壓縮
compress -r testdir uncompress -r testdir
2.gzip與*.gz文件
在man中對gzip的描述是:gzip reduces the size of the named files using Lempel-Ziv coding(LZ77)
亦即便用Lempel-Zip編碼(LZ77)對文件進行壓縮
將文件test壓縮爲test.7gz,輸入下面這個命令
gzip test
查看壓縮後的文件內容,能夠用zcat直接查看,如:
echo "abcd" > word gzip word zcat word
能夠看到輸出「abcd」
gunzip用於解壓縮gz文件,解壓縮以前的test.gz,可使用以下命令:
gunzip test.gz
對目錄中的文件遞歸式壓縮和解壓縮,須要添加參數 -r
gzip -r test gunzip -r test.gz
3.bzip2與*.bz2文件
man中對bzip2的說明是:bzip2 compresses files using the Burrows-Wheeler block sorting text compression algorithm, and Huffman coding
即便用Burrows-Wheeler塊排序文本壓縮算法和Huffman編碼實現壓縮文件
經過bzip2壓縮文件的命令(二選一便可)
bzip2 test bzip2 -z test
經過bzip2解壓縮文件的命令(二選一便可)
bunzip2 test.bz2 bzip2 -d test.bz2
查看壓縮後的文件,使用命令bzcat便可,用法與zcat相似,即「bzcat 文件名」
4.tar與*.tar、*.tar.gz、*tar.bz二、*.tar.xz文件
tar命令能夠用於壓縮目錄,若有目錄testdir,將其壓縮到testdir.tar
tar -cvf testdir.tar testdir
-c:創建一個壓縮檔案
-v:壓縮過程當中顯示檔案
-f:使用檔名(f必須做爲最後一個參數,後面直接跟*.tar)
壓縮後,原來的test不消失。若是要解壓testdir.tar,輸入命令:
tar -xvf testdir.tar
根據tar命令的參數,能夠將目錄testdir分別壓縮成tar.gz格式、tar.bz2格式和tar.xz格式
1)tar.gz格式的壓縮與解壓縮(-z filter the achive through gzip)
tar -zcvf testdir.tar.gz testdir tar -zxvf testdir.tar.gz
2)tar.bz2格式的壓縮與解壓縮(-j filter the archive through bzip2)
tar -jcvf testdir.tar.bz2 testdir tar -jxvf testdir.tar.bz2
3)tar.xz格式的壓縮與解壓縮(-J filter the archive through xz)
tar -Jcvf testdir.tar.xz testdir tar -Jxvf testdir.tar.xz
5.zip與*.zip文件
將目錄testdir壓縮到文件testdir.zip中,可用以下命令實現:
zip -r testdir.zip testdir
查看解壓後zip文件中的內容:
unzip -v testdir.zip
將testdir.zip解壓到當前目錄(下面兩個命令選一個運行便可)
unzip -o testdir.zip unzip -o -d . testdir.zip
-o意爲若是以前有重名文件,則覆蓋它:overwrite existing files without prompting (dangerous option)
-d是壓縮到的目錄:an optional directory to which to extract files
現假設有一個文件word。向testdir.zip中添加文件word,能夠用命令:(運行完畢後原來的word會消失)
zip -m testdir.zip word
從testdir.zip中刪除文件word,能夠用命令:(word被刪除後就不存在了)
zip -d testdir.zip word
6.rar與*.rar
rar程序須要手動安裝後才能使用
我從這個地址上下載了一個:http://www.rarlab.com/download.htm
下載的是:RAR 5.20 beta 4 for Linux x64
下載下來的文件名爲:rarlinux-x64-5.2.b4.tar.gz;大小1.08MB
保存到本身的Linux系統後,解壓縮這個文件
tar rarlinux-x64-5.2.b4.tar.gz
能夠看到文件夾rar,進入後輸入命令
make -f makefile
能夠看到makefile調用了以下幾個命令
mkdir -p /usr/local/bin mkdir -p /usr/local/lib cp rar unrar /usr/local/bin cp rarfiles.lst /etc cp default.sfx /usr/local/lib
安裝完畢!這個時候直接輸入rar就能夠查看rar的各個參數及意義了
將testdir壓縮到testdir.rar,使用命令:
rar a testdir.rar testdir
將testdir.rar解壓縮到當前目錄,使用命令(二選一):
rar x testdir.rar unrar e testdir.rar
7.7za和*.7z文件
7za也須要下載後手動安裝
下載地址:http://sourceforge.net/projects/p7zip/files/p7zip/9.20.1/
下載文件:p7zip_9.20.1_x86_linux_bin.tar.bz2
下載到本地的Linux系統後,解壓縮:
tar xjf p7zip_9.20.1_x86_linux_bin.tar.bz2
解壓後能夠看到目錄 p7zip_9.20.1。用root權限調用裏面的 install.sh 腳本
安裝完畢!這個時候直接輸入7za或命令「man 7za」就能夠查看7za的各個參數及意義了
將目錄testdir壓縮到testdir.7z:
7za a -t7z testdir.7z testdir
各部分意義
1)a 添加文件
2)-t 壓縮類型 這裏選了7z(這個也是默認值)
3)testdir.7z 壓縮後的文件名
4)testdir 被壓縮的文件(能夠是一個或多個的文件、目錄)
將testdir.7z中的內容解壓縮到當前文件夾:
7za x testdir.7z -r -o./
1)-r 遞歸解壓縮全部子文件夾
2)-o 解壓到指定目錄(後面直接跟路徑,沒有空格)
8.一個用於解壓縮文件的腳本
若是你以爲Linux中各類各樣的壓縮文件解壓命令都不同很麻煩,下面這個傻瓜腳本應該會有所幫助:
腳本:extract.sh
#!/bin/sh if [ "$#" -ne 1 ]; then echo "輸入參數:被解壓縮文件" exit 0 fi if [ -f "$1" ]; then case "$1" in *.tar ) tar xf $1 ;; *.tar.bz2 | *.tbz2 ) tar xjf $1 ;; *.tar.gz | *.tgz ) tar xzf $1 ;; *.bz2 ) bunzip2 $1 ;; *.gz ) gunzip $1 ;; *.zip ) unzip $1 ;; *.rar ) unrar e $1 ;; *.Z ) uncompress $1 ;; *.7z ) 7z x $1 ;; * ) echo 類型未識別 ;; esac else echo "$1":文件不存在或無權限 fi exit 0
END