Linux壓縮及歸檔
1、歸檔和壓縮
- 壓縮命令工具:gzip,bzip2,xz,zip
- 歸檔命令工具:tar
Tips
- 壓縮演算法:演算法不同,壓縮比也會不同
- 壓縮文字檔案和字處理檔案壓縮比非常大,壓縮圖片壓縮比不大
- 壓縮就是分析整個文件有什麼內容 哪些常見字串加上標記 以後再出現標記替換 abc(1)de(2)abced 121ed
- gzip bz2 xz 只能壓縮檔案 預設壓縮後會刪除原始檔
2、壓縮
2.1、gzip
gzip是一種標準的、廣泛應用的檔案壓縮和解壓縮實用工具。
gzip: .gz
gzip /PATH/TO/SOMEFILE:壓縮完成後會刪除原檔案
-d:解壓縮
-#:1-9,指定壓縮比,預設是6;
gunzip:
gunzip /PATH/TO/SOMEFILE.gz: 解壓完成後會刪除原檔案
zcat /PATH/TO/SOMEFILE.gz: 不解壓的情況,檢視文字檔案的內容
Tips
- 壓縮比越大 檔案越小
- zcat臨時找個位置解壓出來檢視 關閉臨時檔案刪除
2.2、bzip2
比gzip有著更大壓縮比的壓縮工具,使用格式近似
bzip2 /PATH/TO/SOMEFILE
-d: 解壓縮
-#: 1-9,預設是6
-k: 壓縮時保留原檔案
bunzip2 /PATH/TO/SOMEFILE.bz2
bzcat /PATH/TO/SOMEFILE.bz2: 不解壓的情況,檢視文字檔案的內容
Tips
- bzip 對小檔案沒有優勢
2.3、xz
xz: .xz
xz /PATH/TO/SOMEFILE
-d
-#: 1-9, 預設是6
-k: 壓縮時保留原檔案
unxz:解壓縮
xzdec -dk install.log.xz > aaa
xzcat
2.4、zip
既歸檔又壓縮的工具
zip FILENAME.zip FILE1 FILE2 ...: 壓縮後不刪除原檔案
unzip FILENAME.zip
archive: 歸檔,歸檔本身並不意味著壓縮
Tips
- zip壓縮比不大
- [[email protected] ~]# zip scripts1.zip scripts/*
adding: scripts/adduser2.sh (deflated 63%)
deflated 壓縮演算法
- [[email protected] ~]# zip scripts.zip scripts/
[[email protected] ~]# zip scripts1.zip scripts/*
這兩個 不一樣 第一種壓縮的是一個空資料夾
2.5、tar
tar: 歸檔工具, .tar
-c: 建立歸檔檔案
-f FILE.tar: 操作的歸檔檔案
-x: 展開歸檔
--xattrs: 歸檔時,保留檔案的擴充套件屬性資訊
-t: 不展開歸檔,直接檢視歸檔了哪些檔案
-zcf: 歸檔並呼叫gzip壓縮
-zxf: 呼叫gzip解壓縮並展開歸檔,-z選項可省略
-jcf: bzip2
-jxf:
-Jcf: xz
-Jxf:
-C:change to directory DIR
Tips
- 對一個檔案歸檔 歸檔後文件變大 tar 有很多元資料
-
- 可以不寫
-
[[email protected] ~]# tar --version
tar (GNU tar) 1.23
1.23 支援xz 1.15.1不支援
- 解壓縮時根據檔名字尾 判定合適的壓縮工具 可以不指定 z j J
建立的時候必須要指定
2.5、cpio
cpio: 歸檔工具 cpio - copy files to and from archives
- [[email protected] ~]# file /boot/initrd-2.6.32-696.el6.x86_64kdump.img
/boot/initrd-2.6.32-696.el6.x86_64kdump.img: gzip compressed data, from Unix, last modified: Mon Jan 15 09:40:25 2018, max compression
[[email protected] ~]# mv initrd-2.6.32-696.el6.x86_64kdump.img initrd-2.6.32-696.el6.x86_64kdump.img.gz
[[email protected] ~]# gzip -d initrd-2.6.32-696.el6.x86_64kdump.img.gz
[[email protected] ~]# file initrd-2.6.32-696.el6.x86_64kdump.img
initrd-2.6.32-696.el6.x86_64kdump.img: ASCII cpio archive (SVR4 with no CRC)