Linux 壓縮解壓命令

http://blog.csdn.net/loovejava/article/details/21207371


 

linux整理之壓縮解壓縮、加密、分卷

=========================================壓縮解壓縮=======================================================
.tar
解包:tar xvf FileName.tar
打包:tar cvf FileName.tar DirName
(注:tar是打包,不是壓縮!)
———————————————
.gz
解壓1:gunzip FileName.gz
解壓2:gzip -d FileName.gz
壓縮:gzip FileName
———————————————
.tar.gz 和 .tgz
解壓:tar zxvf FileName.tar.gz
壓縮:tar zcvf FileName.tar.gz DirName
———————————————
.bz2
解壓1:bzip2 -d FileName.bz2
解壓2:bunzip2 FileName.bz2
壓縮: bzip2 -z FileName
———————————————
.tar.bz2
解壓:tar jxvf FileName.tar.bz2
壓縮:tar jcvf FileName.tar.bz2 DirName
———————————————
.bz
解壓1:bzip2 -d FileName.bz
解壓2:bunzip2 FileName.bz
壓縮:未知
———————————————
.tar.bz
解壓:tar jxvf FileName.tar.bz
壓縮:未知
———————————————
.Z
解壓:uncompress FileName.Z
壓縮:compress FileName
.tar.Z
———————————————
解壓:tar Zxvf FileName.tar.Z
壓縮:tar Zcvf FileName.tar.Z DirName
———————————————
.zip
解壓:unzip FileName.zip
壓縮:zip FileName.zip DirName
———————————————
.rar
解壓:rar x FileName.rar
壓縮:rar a FileName.rar DirName
———————————————
.lha
解壓:lha -e FileName.lha
壓縮:lha -a FileName.lha FileName
———————————————
.rpm
解包:rpm2cpio FileName.rpm | cpio -div
———————————————
.deb
解包:ar p FileName.deb data.tar.gz | tar zxf -
———————————————
.tar .tgz .tar.gz .tar.Z .tar.bz .tar.bz2 .zip .cpio .rpm .deb .slp .arj .rar .ace .lha .lzh .lzx .lzs .arc .sda .sfx .lnx .zoo .cab .kar .cpt .pit .sit .sea
解壓:sEx x FileName.*
壓縮:sEx a FileName.* FileName


sEx只是調用相關程序,本身並無壓縮、解壓功能,請注意!


gzip 命令
減少文件大小有兩個明顯的好處,一是可以減少存儲空間,二是通過網絡傳輸文件時,可以減少傳輸的時間。gzip 是在 Linux 系統中經常使用的一個對文件進行壓縮和解壓縮的命令,既方便又好用。


語法:gzip [選項] 壓縮(解壓縮)的文件名該命令的各選項含義如下:


-c 將輸出寫到標準輸出上,並保留原有文件。-d 將壓縮文件解壓。-l 對每個壓縮文件,顯示下列字段:     壓縮文件的大小;未壓縮文件的大小;壓縮比;未壓縮文件的名字-r 遞歸式地查找指定目錄並壓縮其中的所有文件或者是解壓縮。-t 測試,檢查壓縮文件是否完整。-v 對每一個壓縮和解壓的文件,顯示文件名和壓縮比。-num 用指定的數字 num 調整壓縮的速度,-1 或 --fast 表示最快壓縮方法(低壓縮比),-9 或--best表示最慢壓縮方法(高壓縮比)。系統缺省值爲 6。指令實例:


gzip *% 把當前目錄下的每個文件壓縮成 .gz 文件。gzip -dv *% 把當前目錄下每個壓縮的文件解壓,並列出詳細的信息。gzip -l *% 詳細顯示例1中每個壓縮的文件的信息,並不解壓。gzip usr.tar% 壓縮 tar 備份文件 usr.tar,此時壓縮文件的擴展名爲.tar.gz。


=======================================加密========================================================================


方法一:用tar命令 對文件加密壓縮和解壓
壓縮:
tar -zcf  - filename |openssl des3 -salt -k password | dd of=filename.des3 
此命令對filename文件進行加碼壓縮 生成filename.des3加密壓縮文件, password 爲加密的密碼


解壓:


dd if=filename.des3 |openssl des3 -d -k password | tar zxf -
注意命令最後面的“-”  它將釋放所有文件, -k password 可以沒有,沒有時在解壓時會提示輸入密碼


方法二:用zip命令對文件加密壓縮和解壓


壓縮:
zip -re filename.zip filename 回車,輸入2次密碼 
zip -rP passwork filename.zip filename  passwork是要輸入的密碼  
解壓:
unzip filename.zip 按提示輸入密碼  
unzip -P passwork filename.zip passwork是要解壓的密碼,這個不會有提示輸入密碼的操作  
====================================================分卷===================================================
    1.rar
  
    rar a -m5 -v12m myarchive myfiles # 最大限制爲 12M
  rar e myarchive.part1.rar #解壓
  分卷壓縮
  ubuntu下沒有默認安裝rar,可以通過 sudo apt-get install rar,sudo apt-get install unrar 來安裝rar.
  安裝過後,使用以下命令進行分卷壓縮:
  rar a -vSIZE 壓縮後的文件名 被壓縮的文件或者文件夾
  例如:rar a -v50000k eclipse.rar eclipse
  此命令即爲對eclipse文件夾進行分卷壓縮,每卷的大小爲50000k,壓縮後的文件名爲eclipse.rar


  2.tar


  舉例說明:
  要將目錄logs打包壓縮並分割成多個1M的文件,可以用下面的命令:
  tar cjf - logs/ |split -b 1m - logs.tar.bz2.
  完成後會產生下列文件:
  logs.tar.bz2.aa, logs.tar.bz2.ab, logs.tar.bz2.ac
  要解壓的時候只要執行下面的命令就可以了:
  cat logs.tar.bz2.a* | tar xj
  再舉例:
  要將文件test.pdf分包壓縮成500 bytes的文件:
  tar czf - test.pdf | split -b 500 - test.tar.gz
  最後要提醒但是那兩個"-"不要漏了,那是tar的ouput和split的input的參數。


  3、用7z
 
    同樣用以上例子
  在film上層目錄操作,保留film目錄名
  壓縮: 7z a film.7z film -v80m
  解壓到當前目錄: 7z x film.7z.001
  解壓到目錄a: mkdir a && cd a && 7z x ../film.7z.001
  或者 7z -oa x film.7z.001
  不保留film目錄名
  壓縮 cd film && find . | xargs 7z a film.7z -v80m
  解壓 7z -oa x film.7z.001
  單純採用7z的話,文件的權限(擁有者)屬性會丟失, 採用如下辦法則可以保留:
  壓縮:
  tar cf - film | 7z a -si film.tar.7z -v80m
  解壓縮:
  7z x -so film.tar.7z.001 | tar xf -

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章