主要内容:

linux上常用的压缩/解压工具:zip,rar,tar

zip命令

tar命令

压缩与解压常用组合

简答介绍文件后缀名说明

*.zip

zip程序打包压缩的文件

*.rar

rar程序压缩的文件

*.7z

7zip程序压缩的文件

*.tar

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

*.gz

gzip程序(GNUzip)压缩的文件

*.xz

linux 常见文件打包压缩命令_linux中打包压缩_linux打包压缩文件的命令

xz程序压缩的文件

*.bz2

bzip2程序压缩的文件

*.tar.gz

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

*.tar.xz

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

*tar.bz2

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

*.tar.7z

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

zip压缩打包程序

recursion

zip -r -q -o shiyanlou.zip /home/shiyanlou
du -h shiyanlou.zip
file shiyanlou.zip

上面命令将shiyanlou的home目录打包成一个文件,并查看了打包后的文件的大小和类型。
zip命令后:`-r`表示递归,`-q`表示安静模式即不向屏幕输出信息,`-o`表示输出文件,需在其后紧跟打包输出文件名。
du命令:查看打包后文件的大小。

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

zip -r -9 -q -o shiyanlou_9.zip /home/shiyanlou -x ~/*.zip
zip -r -1 -q -o shiyanlou_1.zip /home/shiyanlou -x ~/*.zip

这儿添加了一个参数用于设置压缩级别-[1-9],1表示最快压缩但容积大,9表示容积最小但历时最久。最后那种-x是为了排除我们上一次创建的zip文件,否则又会被打包进这一次的压缩文件中linux定时器,注意:这儿只能使用绝对路径,否则不起作用。

再用du命令分别查看文件大小

du -h -d 0 *.zip ~ | sort

通过man指南可知:

创建加密zip包

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

zip -r -e -o shiyanlou_encryption.zip /home/shiyanlou

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

zip -r -l -o shiyanlou.zip /home/shiyanlou

须要加上-l参数将LF转换为CR+LF来达到目的。

使用unzip命令解压zip文件

将shiyanlou.zip解压到当前目录:

unzip shiyanlou.zip

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

unzip -q shiyanlou.zip -d ziptest

上述指定的解压目录ziptest若果不存在,将会手动创建。

假如你不想解压,指向查看压缩包的内容,你可以使用-l参数:

unzip -l shiyanlou.zip

注意:使用unzip解压文件时我们同样应当注意兼容问题,不过这儿我们关心的不再是里面的问题,而是英文编码的问题,一般Windows系统里面创建的压缩文件,假如有有包含英文的文档或以英文作为文件名的文件时默认会采用GBK或其它编码,而Linux里面默认使用的是UTF-8编码,倘若不加任何处理,直接解压的话可能会出现英文乱码的问题(有时侯它会手动帮你处理),为了解决这个问题,我们可以在解压时指定编码类型。

使用-O(uppercase)参数指定编码类型:

unzip -O GBK 中文压缩文件.zip

rar打包压缩命令

rar也是windows上常用的一种压缩文件格式linux 常见文件打包压缩命令,在linux上可以使用rar和unrar工具分别创建和解压rar压缩包。

1.安装rar和unrar工具:

sudo apt-get update
sudo apt-get install rar unrar

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

rm *.zip
rar a shiyanlou.ara .

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

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

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

rar d shiyanlou.rar .zshrc

linux打包压缩文件的命令_linux 常见文件打包压缩命令_linux中打包压缩

查看不解压文件:

rar l shiyanlou.rar

使用unrar解压rar文件

unrar x shiyanlou.rar //全路径解压

mkdir tmp
unrar e shiyanlou.rar tmp/ //去掉路径解压

tar打包工具

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

下边先把握tar命令一些基本的使用方法,即不进行压缩只是进行打包(创建归档文件)和解包的操作。

tar -cf shiyanlou.tar ~

里面命令中,-c表示创建一个tar包文件,-f用于指定创建的文件名(文件名必须紧随在f后面),可以写成tar-fshiyanlou.tar-c~深度linux系统,不能写成tar-fcshiyanlou.tar。

-v参数表示能看见打包的进度

mkdir tardir
tar -xf shiyanlou.tar -C tardir

tar -tf shiyanlou.tar

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

压缩文件格式参数

*.tar.gz

linux打包压缩文件的命令_linux 常见文件打包压缩命令_linux中打包压缩

-z

*.tar.xz

-J

*.tar.bz2

-j

zip:

打包:zipsomething.zipsomething(目录请加-r参数)

解包:unzipsomething

指定路径:-d参数

tar:

打包:tar-zcvfsomething.tarsomething

解包:tar-zxvfsomething.tar

指定路径:-C参数

轻松一哈

实验楼这个网站的确有意思哦!

冷天的时侯,要是有个火炉就好了。这儿有个有趣的程序:

sudo apt-get install libaa-bin
#提示command not found ,请自行解决
aafire

Author

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

刘遄

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

发表回复