==============================================================================
Linux系統解壓縮
==============================================================================
概述:
本篇将介紹Linux系統中的壓縮和解壓縮的工具,以及歸檔工具(tar,cpio)
compress/uncompress:對應 .Z 結尾的壓縮格式檔案;
gzip/gunzip:其對應的是 .gz 結尾的壓縮格式檔案;
bzip2/bunzip2:其對應的是 .bz2 結尾的壓縮格式檔案;
xz/unxz: 其對應的是 .xz 結尾的壓縮格式檔案;
zip/unzip:其對應的是 .zip 結尾的壓縮格式檔案
1.壓縮比和常用工具
★壓縮比: 時間換空間(CPU的時間 --->磁盤空間) ★常用工具: 早期的有compress和uncompress,其對應的是 .Z 結尾的壓縮格式檔案,現在适應較多的有: xz/unxz: 其對應的是 .xz 結尾的壓縮格式檔案; tar,cpio:歸檔和展開歸檔
2.gzip和gunzip(使用最多)
gzip,gunzip,zcat ★文法: gzip [OPTION]... FILE ... ☉選項: -d:解壓縮,相當于gunzip -c:将壓縮或解壓縮的結果輸出至标準輸出(gzip -c FILE > /PATH/TP/SOMEFILE.gz); -#:1-9,指定壓縮比,值越大壓縮比越大 如:gzip -9 m -v:顯示詳情 ☉解壓縮: guzip ☉zcat: 不顯式解壓縮的前提下檢視文本檔案内容(适用于檢視小檔案) 如:zcat FILE > /PATH/TP/SOMEFILE
示範:
2.bzip2/bunzip2/bzcat
bzip2 [OPTION]... FILE ... -k:keep, 保留原檔案; -d:解壓縮; -#:1-9,壓縮比,預設為6 ☉bzcat: 不顯式解壓縮的前提下檢視文本檔案内容 注意: bzip2和gzip指令的使用方式基本相同,壓縮或解壓縮後都會删除源檔案
3.xz/unxz/zxcat(壓縮比最強)
xz [OPTION]... FILE ... -#:1-9,壓縮比,預設為6; ☉xzcat:
1.歸檔及常用工具
★歸檔: 歸檔就是将多個檔案打包為單個檔案以便于管理,預設的歸檔不會執行壓縮。 ★常用的工具: tar,cpio(不常用)
2.tar指令
tar [OPTION...] [FILE]... ☉建立歸檔(-c,-f 指定檔案): tar -c -f /PATH/TO/SOMEFILE.tar FILE... (字尾名固定以 .tar 結尾;) tar -cf /PATH/TO/SOMEFILE.tar FILE... (可以合并寫為-cf ,但不能寫為 -fc ,因為-f 選項後帶參數) ☉展開歸檔(-x,-f 指定檔案): tar -x -f /PATH/TO/SOMEFILE.tar (展開至歸檔所在的檔案中) tar xf /PATH/TO/SOMEFILE.tar -C /PATH/TO/SOMEFILE (-C :展開歸檔至指定檔案中) ☉檢視歸檔檔案中的清單(-t,-f 指定檔案): tar -tf /PATH/TO/SOMEFILE.tar 多個選項可以合并,但-f由于要帶參數,是以要放到最右側 如:-cf,-xf,-cf; 選項的引導符 "-" 可省略。如:tar xf,tar zf
歸檔完成後通常需要壓縮,結合此前的壓縮工具,就能實作壓縮多個檔案了。
★結合壓縮工具實作:歸檔并壓縮: ☉-z:gzip(字尾名.tar.gz) tar -zcf /PATH/TO/MEFILE.tar.gz FILE... (建立歸檔并壓縮); tar -zxf /PATH/TO/SOMEFILE.tar.gz (解壓縮并展開歸檔,z不寫也行) ☉-j:bzip2(字尾名.tar.bz2) -jcf -jxf ☉-J:xz(字尾名:.tar.xz) -Jcf -Jxf 展開歸檔可以直接使用 tar xf ,而無需為其指定對應的壓縮工具選項即可
---最通用的壓縮工具,即可以歸檔,又能壓縮(現在不常用)
★建立歸檔(.zip字尾): zip file.zip /PATH/TO/SOMEFILE ★解壓縮 unzip file.zip
★cpio cpio指令是通過重定向的方式将檔案進行打包備份,還原恢複的工具,它可以解壓以“.cpio”或者“.tar”結尾的檔案。 ★用法: cpio[選項] > 檔案名或者裝置名 cpio[選項] < 檔案名或者裝置名 ★選項: -o:将檔案拷貝打包成檔案或者将檔案輸出到裝置上; -i:解包,将打封包件解壓或将裝置上的備份還原到系統; -t:預覽,檢視檔案内容或者輸出到裝置上的檔案内容; -v:顯示打包過程中的檔案名稱; -d:解包生成目錄,在cpio還原時,自動的建立目錄; -c:一種較新的存儲方式 示例: 将etc目錄備份: find ./etc-print |cpio -ov> etc.cpio 内容預覽 cpio–tv < etc.cpio 要解封包件 cpio–iv < etc.cpio cpio–idv < etc.cpio