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壓縮比不大
[root@mysql ~]# zip scripts1.zip scripts/*
adding: scripts/adduser2.sh (deflated 63%)
deflated ??壓縮算法
[root@mysql ~]# zip scripts.zip scripts/
[root@mysql ~]# 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 有很多元數據
-? 可以不寫
[root@mysql ~]# tar --version
?tar (GNU tar) 1.23
?1.23 支持xz?? 1.15.1不支持
解壓縮時根據文件名后綴 判定合適的壓縮工具 可以不指定 z j J
創建的時候必須要指定
2.6、cpio
cpio: 歸檔工具?cpio - copy files to and from archives
[root@mysql ~]# 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
[root@mysql ~]# mv initrd-2.6.32-696.el6.x86_64kdump.img initrd-2.6.32-696.el6.x86_64kdump.img.gz
[root@mysql ~]# gzip -d initrd-2.6.32-696.el6.x86_64kdump.img.gz
[root@mysql ~]# 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)