linux 壓縮解壓打包工具大集合


壓縮、解壓縮及歸檔工具有很多,今天小編就整理幾個大家較為常用的。

compress  gzip  bzip2  xz  

zip tar cpio

一、壓縮、解壓工具

 

 用法

壓縮

工具

壓縮后

壓縮包格式

解壓縮

(默認不保留源文件)

保留原文件壓縮

-c :將壓縮結果打印到屏幕上

保留壓縮文件解壓

*zcat :將解壓結果打印到屏幕上

強制壓縮(默認不壓縮硬鏈接)

顯示詳細過程

壓縮比

-#(數字越大,壓縮比越高,速度越慢

文件越小)

compress

(壓縮比最小,文件最大)

.Z

-d

uncompress

-c > X

(>相當於創建文件,權限改變)

zcat X.Z > X

(>相當於創建文件,權限改變)

-f

-v

gzip

.gz

-d

gunzip

-c > X

 

zcat X.gz > X

-f

-v

-1  --fast

-6 (默認)

-9  --best

bzip2(壓縮比最大,文件最小)

.bz2

-d

bunzip

-c > X

 

-k (權限不變)

bzcat X.gz > X

 

-k

-f

-v

-1  --fast

-9 --best

 (默認)

xz

 

.xz

-d

 

-c > X

 

-k(權限不變)

xzcat X.gz > X

 

-k

-f

-v

-1  --fast

-6 (默認)

-9  --best

compress/uncompress

壓縮文件,會刪除原來文件,生成壓縮文件

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

-d: 解壓縮,相當於uncompress
-c: 結果輸出至標准輸出,不刪除原文件
-v: 顯示詳情

uncompress :解壓縮

zcatfile.Z>file查看文件不解縮

 

 gzip/gunzip

壓縮文件,會刪除原來文件,生成壓縮文件

gzip[OPTION]... FILE ...

-d:解壓縮,相當於gunzip
-c:結果輸出至標准輸出,保留原文件不改變
-#:1-9,指定壓縮比,值越大壓縮比越大

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

 壓縮帶特殊符號的文件,即:-f -f1 -f2

[root@centos17data]#ls
bigfile.Z  f  -f  -f1  f1.txt.gz  -f2  m.gz
[root@centos17data]#gzip -- -f1 -f2
[root@centos17data]#ls
bigfile.Z  f  -f  -f1.gz  f1.txt.gz  -f2.gz  m.gz

  

 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

unxz   file.xz  解壓縮

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

 

 zip/unzip

 打包壓縮

zip –r  /backup/sysconfig   /etc/sysconfig/

 解包解壓縮

unzip  sysconfig.zip
cat /var/log/messages | zip messages -
unzip -p message > message

  

  tar工具

 -f 包名,所有用法都要和-f組合

 -c -f 創建包名字  原文件(可以指定多個)

 -t -f 包名字   顯示包中的文件名

 -tv -f 詳細顯示包中的文件名

 -r -f 包名字 新文件名(可以指定多個),向包里放指定文件

 --delete -f 包名字 被刪除的文件名(可以指定多個),從包中刪除指定文件

 -x -f 包名字 解出所有的文件到當前目錄,把包中所有文件移出,解壓包

 -x -f 包名字 文件名 解所指定的文件到當前目錄,從包中移出指定文件

 -C 解包到指定目錄

 -v 詳細信息

 -Jcf 創建包的名字(.tar.xz) 原文件(可以指定多個) 打包並用xz壓縮

 -jcf 創建包的名字(.tar.bz2) 原文件(可以指定多個) 打包並用bzip壓縮

 -zcf 創建包的名字(.tar.gz) 原文件(可以指定多個) 打包並用gzip壓縮

 -T 指定個列表,包含需要被打包的文件,以換行符為間隔

 -X 指定個排除列表,以換行符為間隔 

-exclude 排除文件

tar zcvf/root/a3.tgz --exclude=/app/host1 --exclude=/app/host2 /app

split::分割一個文件為多個文件

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

split –b Size –d tar-file-name  prefix-name
split -b 1M  –dmybackup.tgz  mybackup-parts
split -b 1M  mybackup.tgz  mybackup-parts

合並:

cat mybackup-parts* > mybackup.tar.gz

 總結:compress gzip bzip2都只能壓縮文件,不能壓縮目錄,而tar可以打包多個目錄並進行壓縮。

cpio(不常用)

功能:復制文件從或到歸檔

cpio命令是通過重定向的方式將文件進行打包備份,還原恢復的工具,它可以解壓以“.cpio”或者“.tar”結尾的文件

cpio[選項] > 文件名或者設備名

cpio[選項] < 文件名或者設備名

選項

-o 將文件拷貝打包成文件或者將文件輸出到設備上
-O filename輸出到指定的歸檔文件名
-A向已存在的歸檔文件中追加文件
-i解包,將打包文件解壓或將設備上的備份還原到系統
-I filename對指定的歸檔文件名解壓
-t預覽,查看文件內容或者輸出到設備上的文件內容
-F filename使用指定的文件名替代標准輸入或輸出
-d 解包生成目錄,在cpio還原時,自動的建立目錄
-v 顯示打包過程中的文件名稱

示例:

將etc目錄備份:
find ./etc  -print |cpio -ov  > bak.cpio

將/data內容追加bak.cpio
find /data | cpio -oA -F bak.cpio

內容預覽
cpio -tv< etc.cpio

解包文件
cpio -idv< etc.cpio

  

  

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM