1. 程式人生 > >Linux-壓縮和打包

Linux-壓縮和打包

Linux 壓縮 解壓縮 打包

技術分享圖片

壓縮、解壓縮及歸檔工具

file-roller

compress/uncompress: .Z

gzip/gunzip: .gz

bzip2/bunzip2: .bz2

xz/unxz: .xz

zip/unzip

tar

cpio

compress/uncompress

compress [-dfvcVr] [-b maxbits] [file ...]

-d: 解壓縮,相當於uncompress

-c: 結果輸出至標準輸出,不刪除原文件

-v: 顯示詳情

uncompress 解壓縮

zcat file.Z >file

gzip/gunzip

gzip [OPTION]... FILE ...

-d: 解壓縮,相當於gunzip

-c: 將壓縮或解壓縮的結果輸出至標準輸出

-#1-9,指定壓縮比,值越大壓縮比越大

zcat:不顯式解壓縮的前提下查看文本文件內容

實例:

gzip -c messages >messages.gz

gzip -c -d messages.gz > messages

zcat messages.gz > messages

bzip2/bunzip2/bzcat

bzip2 [OPTION]... FILE ...

-k: keep, 保留原文件

-d:解壓縮

-#1-9,壓縮比,默認為9

bzcat:不顯式解壓縮的前提下查看文本文件內容

xz/unxz/xzcat

xz [OPTION]... FILE ...

-k: keep, 保留原文件

-d:解壓縮

-#1-9,壓縮比,默認為6

xzcat: 不顯式解壓縮的前提下查看文本文件內容

zip/unzip

打包壓縮

zip -r /testdir/sysconfig /etc/sysconfig/

解包解壓縮

unzip sysconfig.zip

cat /var/log/messages | zip messages -

unzip -p message > message

tar工具

tarTape ARchive,磁帶歸檔的縮寫)

tar [OPTION]...

(1) 創建歸檔

tar -cpvf /PATH/TO/SOMEFILE.tar FILE...

(2) 追加文件至歸檔:

註:不支持對壓縮文件追加

tar -r -f /PATH/TO/SOMEFILE.tar FILE...

(3) 查看歸檔文件中的文件列表

tar -t -f /PATH/TO/SOMEFILE.tar

(4) 展開歸檔

tar -x -f /PATH/TO/SOMEFILE.tar

tar -x -f /PATH/TO/SOMEFILE.tar -C /PATH/

(5) 結合壓縮工具實現:歸檔並壓縮

-z: gzip, -j: bzip2, -J: xz

-T選項指定輸入文件,-X選項指定包含要排除的文件列表

tar zcvf mybackup.tgz -T /root/includefilelist -X /root/excludefilelist

分割大的 tar 文件為多份小文件:

split -b Size -d tar-file-name prefix-name

split -b 1M -d mybackup.tgz mybackup-parts

split -b 1M mybackup.tgz mybackup-parts

合並:

cat mybackup-parts* > mybackup.tar.gz

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 -idv < etc.cpio

壓縮比排序

Z

gz

bz2

xz

4個工具只能針對文件進行壓縮,ziptar才能打包,不裝winrar的話zipwindows也能用

tar -cpvf

-c 創建

-p 保存屬性

-v 看過程

-f

Linux-壓縮和打包