Linux打包壓縮解壓工具
阿新 • • 發佈:2020-09-16
第1章 Linux 打包壓縮解壓工具一、壓縮、解壓工具
compress/uncompress
gzip/gunzip
bzip2/bunzip2/
bzcat
xz/unxz/
xzcatzip/unzip
二、打包工具tar工具cpio(不常用)
壓縮、解壓工具
用法壓縮工具 | 壓縮後壓縮包格式 | 解壓縮(預設不保留原始檔) | 保留原檔案壓縮-c :將壓縮結果列印到螢幕上 | 保留壓縮檔案解壓*zcat :將解壓結果列印到螢幕上 | 強制壓縮(預設不壓縮硬連結) | 顯示詳細過程 | 壓縮比-#(數字越大,壓縮比越高,速度越慢檔案越小) |
---|---|---|---|---|---|---|---|
compress(壓縮比最小,檔案最大) | .Z | -duncompress | -c > X(>相當於建立檔案,許可權改變) | zcat X.Z > X(>相當於建立檔案,許可權改變) | -f | -v | 無 |
gzip | .gz | -dgunzip | -c > X | zcat X.gz > X | -f | -v | -1 --fast-6 (預設)-9 --best |
bzip2(壓縮比最大,檔案最小) | .bz2 | -dbunzip | -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
轉載https://www.cnblogs.com/struggle-1216/