简介

Linux上常用的压缩/解压工具linux tar压缩命令,介绍了zip、rar、tar的使用。

文件打包和压缩

Linux上的压缩包文件格式,不仅Windows最常见的*.zip、*.rar、.7z后缀的压缩文件,还有.gz、.xz、.bz2、.tar、.tar.gz、.tar.xz、tar.bz2

文件后缀名说明

*.zipzip

程序打包压缩的文件

*.rarrar

程序压缩的文件

*.7z7zip

程序压缩的文件

*.tar

tar程序打包,未压缩的文件

*.gz

gzip程序(GNUzip)压缩的文件

*.xz

xz程序压缩的文件

*.bz2

tar打包,gzip程序压缩的文件

*.tar.gz

tar打包,gzip程序压缩的文件

*.tar.xz

tar打包,xz程序压缩的文件

*.tar.bz2

tar打包,bzip2程序压缩的文件

*.tar.7z

tar打包,7z程序压缩的文件

1、zip压缩打包程序

使用zip打包文件

将test目录打包成一个文件,-r表示递归打包包含子目录的全部内容linux虚拟主机,-q表示安静模式,-o表示输出文件,其后紧随打包输出文件名

zip-r-q-otest.zip/home/test

使用du命令查看打包后文件的大小

du-htest.zip

使用file命令查看文件大小和类型

filetest.zip

设置压缩级别为9和1(9最大,1最小),重新打包

1表示最快压缩但容积大,9表示容积最小但历时最久,-x排除上一次我们创建的zip文件linux c,路径必需为绝对路径

zip-r-9-q-otest_9.zip/home/test-x~/.zip

zip-r-1-q-otest_1.zip/home/test-x~/.zip

再用du命令分别查看默认压缩级别、最低、最高压缩级别及未压缩的文件的大小,-h表示可读,-d表示所查看文件的深度

du-h-d0*.zip~|sort

创建加密zip包

使用-e参数可以创建加密压缩包

zip-r-q-otest.zip/home/test

注意:关于zip命令,由于Windows系统与Linux/Unix在文本文件格式上的一些兼容问题,例如换行符(为不可见字符),在Windows为CR+LF(Carriage-Return+Line-Feed:回车加换行),而在Linux/Unix上为LF(换行),所以假如在不加处理的情况下,在Linux上编辑的文本,在Windows系统上打开可能看上去是没有换行的。假如你想让你在Linux创建的zip压缩文件在Windows上解压后没有任何问题linux tar压缩命令,这么你还须要对命令做一些更改

shell中的变量有不同类型,可参与运算,有作用域限定

使用-l参数将LF转换为CR+LF

zip-r-l-otest.zip/home/test

2、使用unzip命令解压缩zip文件

使用zip打包文件

将test.zip解压到当前目录

linux tar压缩命令_压缩命令linuxtar_压缩命令tar.gz

unziptest.zip

使用安静模式,将文件解压到指定目录

unzip-qtest.zip-dziptest

不想解压,只想查看压缩包的内容可以使用-l参数

unzip-ltest.zip

Linux里面默认使用的是UTF-8编码,避免解压后出现英文乱码,要用参数-O

unzip-OGBK英文压缩文件.zip

3、rar打包压缩命令

在Linux上可以使用rar和unrar工具分别创建和解压rar压缩包。

安装rar和unrar工具

sudoapt-getupdate

sudoapt-getinstallrarunrar

从指定文件或目录创建压缩包或添加文件到压缩包

rm*.zip

使用a参数添加一个目录~到一个归档文件中,假如该文件不存在都会手动创建

raratest.rar.

注意:rar的命令参数没有-,倘若加上会报错。

从指定压缩包文件中删掉某个文件

rardtest.rar.bashrc

查看不解压文件

rarltest.rar

使用unrar解压rar文件

全路径解压

unrarxtest.rar

去除路径解压

mkdirtmp

unraretest.rartmp/

4、tar打包工具

在Linux里面更常用的是tar工具,tar本来只是一个打包工具,只是同时还是实现了对7z,gzip,xz,bzip2等工具的支持,这种压缩工具本身只能实现对文件或目录(单独压缩目录中的文件)的压缩,没有实现对文件的打包压缩,所以我们也无需再单独去学习其他几个工具,tar的解压和压缩都是同一个命令,只需参数不同,使用比较便捷。

创建一个tar包

-c表示创建一个tar包文件,-f用于指定创建的文件名,注意文件名必须紧随在-f参数以后会手动除去表示绝对路径的/,你也可以使用-P保留绝对路径符

tar-cftest.tar~

解包一个文件(-x参数)到指定路径的已存在目录(-C参数)

mkdirtardir

linux tar压缩命令_压缩命令tar.gz_压缩命令linuxtar

tar-xftest.tar-Ctardir

只查看不解包文件-t参数

tar-tftest.tar

保留文件属性和追随链接(符号链接或软链接),有时侯我们使用tar备份文件当你在其他主机还原时希望保留文件的属性(-p参数)和备份链接指向的源文件而不是链接本身(-h参数)

tar-cphfetc.tar/etc

以使用gzip工具创建*.tar.gz文件为例来说明,只需在创建tar文件的基础上添加-z参数,使用gzip来压缩文件

tar-czfetc.tar.gz~

解压*.tar.gz文件

tar-xzfetc.tar.gz

如今我们要使用其他的压缩工具创建或解压相应文件只须要修改一个参数即可:

压缩文件格式参数

*.tar.gz

-z

*.tar.xz

-J

*tar.bz2

-j

Author

这篇优质的内容由TA贡献而来

刘遄

《Linux就该这么学》书籍作者,RHCA认证架构师,教育学(计算机专业硕士)。

发表回复