2021-05-12 14:32:11
Linux 壓縮解壓打包工具大集合
壓縮、解壓縮及歸檔工具有很多,今天小編就整理幾個大家較為常用的。
compress gzip bzip2 xz
zip tar cpio
一、壓縮、解壓工具
用法
壓縮 工具 |
壓縮後 壓縮包格式 |
解壓縮 (預設不保留原始檔) |
保留原檔案壓縮 -c :將壓縮結果列印到螢幕上 |
保留壓縮檔案解壓 *zcat :將解壓結果列印到螢幕上 |
強制壓縮(預設不壓縮硬連結) |
顯示詳細過程 |
壓縮比 -#(數位越大,壓縮比越高,速度越慢 檔案越小) |
compress (壓縮比最小,檔案最大) |
.Z |
-d uncompress |
-c > X (>相當於建立檔案,許可權改變) |
zcat X.Z > X (>相當於建立檔案,許可權改變) |
-f |
-v |
無 |
gaip |
.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 |
(1)compress 壓縮檔案,會刪除原來檔案,生成壓縮檔案
格式 : .Z
解壓 : -d 解壓檔案,會刪除壓縮檔案,生成原來檔案 (不能tab補齊)
uncompress 和-d一樣 (能tab補齊)
zcat X.Z > X zcat X.Z 將解壓結果列印到螢幕上,配合重定向,將解壓的結果匯入到 .Z壓縮檔案中,不刪除原檔案,生成壓縮檔案,但因為>生成新檔案,許可權會變。
顯示結果: -c 將壓縮結果列印到螢幕上,配合重定向,將壓縮的結果匯入到 .Z壓縮檔案中,不刪除原檔案,生成壓縮檔案,但因為>生成新檔案,許可權會變。(可以對硬連結數為2的檔案壓縮)
強制壓縮: -f 預設不對硬連結數為2及以上的檔案壓縮,加上f,強制壓縮指定檔案,而其他同inode的檔案硬連結數減1.
顯示詳細過程:-v
(2)gzip 壓縮檔案,會刪除原來檔案,生成壓縮檔案
格式 : .gz
解壓 : -d 解壓檔案,會刪除壓縮檔案,生成原來檔案(能tab補齊)
gunzip 和-d一樣
zcat X.gz > X (原理同上compress)
顯示結果: -c (原理同上compress)
強制壓縮: -f (原理同上compress)
顯示詳細過程:-v
壓縮比: -# 數位越大,壓縮比越高,速度越慢,檔案越小。
-1 等於 --fast
-2,3,4,5,6(default預設),7,8
-9 等於 --best
(3)bzip2 壓縮檔案,會刪除原來檔案,生成壓縮檔案
格式 : .bz2
解壓 : -d 解壓檔案,會刪除壓縮檔案,生成原來檔案(能tab補齊)
bunzip2 和-d一樣
bzcat X.bz2 > X (原理同上compress)
保留原檔案壓縮、解壓: -k 比compress,gzip 多出的用法
顯示結果: -c (原理同上compress)
強制壓縮: -f (原理同上compress)
顯示詳細過程:-v
壓縮比: -# 數位越大,壓縮比越高,速度越慢,檔案越小。
-1 等於 --fast
-2,3,4,5,6,7,8
-9 等於 --best (default預設)
(4)xz 壓縮檔案,會刪除原來檔案,生成壓縮檔案
格式 : .xz
解壓 : -d 解壓檔案,會刪除壓縮檔案,生成原來檔案(能tab補齊)
xzcat X.gz > X (原理同上compress)
保留原檔案壓縮、解壓: -k 比compress,gzip 多出的用法
顯示結果: -c (原理同上compress)
強制壓縮: -f (原理同上compress)
顯示詳細過程:-v
壓縮比: -# 數位越大,壓縮比越高,速度越慢,檔案越小。
-1 等於 --fast
-2,3,4,5,6(default預設),7,8
-9 等於 --best
比較 : 壓縮比:xz > bzip2 > gzip > compress(不一定,有的情況bzip2 比xz要好)
xz 壓縮比最大,檔案最小
二、打包工具 zip tar
(1)zip
打包壓縮(自動生成字尾.zip)
① zip –r 生成檔案(自動生成.zip) 打包檔案(目錄,普通檔案都行)
例:zip -r app app/
② comment | zip 生成檔案(自動生成.zip) -
這種方式打包,只能unzip -p X.zip > X 解包
例:cat /var/log/messages | zip messages -
unzip -p message.zip > message
解包解壓縮
unzip X.zip
unzip -p 預覽解壓縮後的內容到螢幕,可以設定重定向將結果儲存到指定檔案,許可權會發生變化。
(2)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 指定個排除列表,以換行符為間隔
split –b Size –d tar-file-name prefix-name 將tar包分隔為多個檔案
cat 被分隔出的多個檔名 > 單個檔名 合併
(3)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
本文永久更新連結地址:http://www.linuxidc.com/Linux/2017-11/148289.htm
相關文章