压缩文件
压缩文件可以节省文件占用空间,压缩之后的文件如果要传输给别的机器可以提高传输速度,节省带宽。
一、Linux独有的压缩方式
为什么说是Linux独有的压缩方式呢,因为使用这些压缩方式进行压缩后的文件不支持跨系统,也就是说Linux上使用这些方法压缩的文件在windows上是不支持的的。
gzip—>压缩后文件后缀为 .gz (压缩比例一般般,压缩速度快,常用)
bzip2—>压缩后文件后缀为 .bz2 (压缩比例比gzip好一点,压缩速度一般)
xz—>压缩后文件后缀为 .xz (压缩比例是三者里最好的,压缩速度慢相对而言解压缩也慢)
注意:当我们使用命令压缩文件之后,源文件会消失,只有一个压缩文件而且这三个命令不支持对目录进行压缩。
命令格式:
gzip [-选项 ] 文件名
- 常用选项:-d 解压缩
bzip [-选项 ] 文件名
- 常用选项:-d 解压缩
xz [-选项 ] 文件名
- 常用选项:-d 解压缩
我们在不解压的情况下要查看压缩文件内容也是有着相应的命令的:
gzip压缩文件:zcat [-选项… ] 文件名
bzip2压缩文件:bzcat [-选项… ] 文件名
xz压缩文件:xzcat [-选项… ] 文件名
示例:
[root@jiangjiang opt]# cp /etc/passwd /opt/
[root@jiangjiang opt]# ls
passwd
[root@jiangjiang opt]# gzip passwd //使用gzip命令压缩passwd文件
[root@jiangjiang opt]# zcat passwd.gz //使用zcat命令查看压缩文件passwd.gz
root:x:0:0:root:/root:/bin/bash
bin:x:1:1:bin:/bin:/sbin/nologin
daemon:x:2:2:daemon:/sbin:/sbin/nologin
...
[root@jiangjiang opt]# gzip -d passwd.gz //使用gzip命令解压压缩文件passwd.gz
[root@jiangjiang opt]# ls
passwd
[root@jiangjiang opt]# bzip2 passwd //使用bzip2命令压缩passwd文件
[root@jiangjiang opt]# ls
passwd.bz2
[root@jiangjiang opt]# bzcat passwd.bz2 //使用bzcat命令查看压缩文件passwd.bz2
root:x:0:0:root:/root:/bin/bash
bin:x:1:1:bin:/bin:/sbin/nologin
...
[root@jiangjiang opt]# bzip2 -d passwd.bz2 //使用bzip2命令解压压缩文件passwd.bz2
[root@jiangjiang opt]# ls
passwd
[root@jiangjiang opt]# xz passwd //使用xz命令压缩passwd文件
[root@jiangjiang opt]# ls
passwd.xz
[root@jiangjiang opt]# xzcat passwd.xz //使用xzcat命令查看压缩文件passwd.xz
root:x:0:0:root:/root:/bin/bash
bin:x:1:1:bin:/bin:/sbin/nologin
...
[root@jiangjiang opt]# xz -d passwd.xz //使用xz命令解压压缩文件passwd.xz
[root@jiangjiang opt]# ls
passwd
二、tar文件/目录打包工具
tar命令在linux中用来对文件/目录进行打包压缩,使用tar工具打包的文档一般叫tar包,通常是以.tar的格式结尾。
- 常用格式:
tar [-选项] 打包后的文件名 需要打包的文件路径 - 常用选项:
-c:创建打包文档
-f:指定打包后文档的名称
-z:调用gzip的压缩工具
-J:调用bzip2的压缩工具
-j:调用xz的压缩工具
-C:指定解压后的路径
-x:释放打包文档(解压)
-t:查看打包文档内容
-v:显示打包或解压详细进程
示例:
[root@jiangjiang opt]# ls
jinx.txt
[root@jiangjiang opt]# tar -czf jinx.tar.gz jinx.txt //调用gzip压缩方式创建压缩文档jin.tar.gz
[root@jiangjiang opt]# ls
jinx.tar.gz jinx.txt
[root@jiangjiang opt]# tar -tf jinx.tar.gz //查看压缩文件内容
jinx.txt
[root@jiangjiang opt]# tar -xvf jinx.tar.gz -C /media/ //解压压缩文件到指定路径并展示解压过程
jinx.txt
[root@jiangjiang opt]# ls /media/
jiaoben jinx.txt