概述
这篇文章介绍了 linux 系统中常见的文件压缩类型,以及压缩工具的使用。
关于文件压缩
文件压缩就是通过某种编码方式将数据信息中的重复度、冗余度降低,达到数据压缩的目的。通过压缩文件可以缩小数据文件的大小,另外通过数据压缩还能将零散的文件整合到一起,便于网络传输。
网络中常见的文件压缩格式有:
.zip
(Zipped 压缩档)
.rar
(WinRAR 压缩存档)
.tar
(unix 统一压缩档)
.gz
(GNU Zipped 压缩档)
.bz
(Bzipped 压缩档)
.jar
(Java Archive)
.exe
(自解压文件)
linux 中常用的文件压缩
.tar
linux 系统中最常见的归档方式,可以把一大堆文件打成一个包,用于备份文件。
tar 包只是将文件打包在一起形成一个包,而不进行压缩,如果需要压缩需要使用其他命令进行压缩。
使用 tar
命令进行打包、解析。
创建
创建 .tar
包:
1
| tar -cf mytar.tar a.txt b.md
|
查看
查看 .tar
包中的文件:
解压
解析 .tar
包文件:
.tar.gz
使用 tar
打包后,再使用 gzip
压缩后的压缩包。使用 tar
工具打包和解压,也可以 tar
和 gzip
一起使用来操作。
打包
1
| tar -zcf mytar.tar.gz a.txt b.md
|
或者,先打包成 tar
包,再用 gzip
压缩:
1 2
| tar -cf mytar.tar a.txt b.md gzip -r mytar.tar
|
查看
解压
或可先用 gzip
解压,再用 tar
提取文件:
1 2
| gzip -d mytar.tar.gz tar -xf mytar.tar
|
.tar.xz
先使用 tar 打包,然后使用 xz 压缩的包。可使用 tar
工具打包或解压,可以同时使用 tar
和 xz
来操作。
打包
1
| tar -Jcf mytar.tar.xz a.txt b.md
|
或先打包成 tar
包,再使用 xz
压缩:
1 2
| tar -cf mytar.tar a.txt b.md xz mytar.tar
|
查看
解压
或者先用 xz
解压,再用 tar
提取文件:
1 2
| xz -d mytar.tar.xz tar -xf mytar.tar
|
.zip
网络中最常见的压缩包格式。linux 中使用 zip
工具打包,使用 unzip
工具查看和解压。
zip
和 unzip
工具如果没有,可以使用系统包管理器安装。如(CentOS):
1 2
| yum install -y zip yum install -y unzip
|
打包
1 2
| zip -r myZip.zip a.txt b.md zip -r myDir.zip myDir/
|
查看
解压
.bz2
打包
1
| tar -jcf myBzip.bz2 a.txt b.md
|
或使用 tar
打包,再用 bzip2
压缩:
1 2
| tar -cf mytar.tar bzip2 mytar.tar
|
查看
解压
对于 .tar.bz2
的,也可以先用 bzip2
解压,再用 tar
提取文件:
1 2
| bzip2 -d mytar.tar.bz2 tar -xf mytar.tar
|
参考资料
总结
从本文的示例中可以看出,在 linux 系统中 tar
命令能够配合其他压缩工具很好的完成文件的打包、压缩、解压,使用不同类型的压缩工具时,只需要指定相应的参数即可,非常方便。