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)