且构网

分享程序员开发的那些事...
且构网 - 分享程序员编程开发的那些事

Linux的文件压缩——tar和zip命令

更新时间:2022-06-01 19:54:45

今天因为准备远程压缩个文件,结果用tar命令失败了好几次。看来命令还是常用才熟悉啊。

tar命令:

简介:tar命令只是把目录打包成一个归档(文件),并不负责压缩。在tar命令中可以带参数调用gzip或bzip2压缩。因为gzip和bzip2只能压缩单个文件。

在linux下是不需要后缀名的,但通常tar归档后缀名为.tar,gzip压缩后的后缀名为.gz,bzip2压缩后的后缀名为.bz2

命令用法:

tar [参数]  [文件或目录]

1 #比如把x文件夹打包并用gzip压缩。
2 tar -zcvf x.tar.gz x
3  
4 #解压到当前目录
5 tar -xzvf x.tar.gz
6 #解压到父目录
7 tar -xzvf x.tar.gz -C ..

打包和解包命令基本一样,可看作是个逆过程,参数中是-c和-x的区别。解包时可以不需要指定目录,默认解压到当前目录。如需指定目录须使用-C参数。请对照上面样例。

无论打包还是解包-f后都必须跟归档名。

1 #这样语句也能正确执行,注意-f
2 tar -cv x -f x.tar

常用参数:

指定归档 -f  后面必须直接跟归档名
打包(create) -c
解包 -x
详细地列出处理的文件 -v
查看打包的文件 -t
压缩 -z 调用gzip压缩   -j调用bzip2压缩
时间限制参数 -N 比后面接的日期(yyyy/mm/dd)还要新的才会被打包进新建的文件中
排除指定文件 –exclude FILE不将 FILE 打包!
保留原本文件的属性 -p

这些参数中 c/x/t 仅能存在一个!不可同时存在!

 zip和unzip命令:

简介:zip用于压缩文件,unzip解压文件。zip可以直接压缩多个文件,不需要先使用tar归档。压缩后后缀名为.zip。

命令用法:

zip  [参数名] [压缩包名] [被打包的文件]

unzip [压缩包名]

1 #压缩,如果不加.zip后缀,会自动添加。
2 zip a.zip a.o
3 #解压
4 unzip a.zip

常用参数:

zip
递归压缩 -r递归搜索目录下的所有文件夹目录,默认不会把目录下的文件压缩进去。
静默压缩 -q
添加注释 -z
压缩效率 数字介于0-9的数值,数值越小效率越低,但越快。0就是不压缩
设定压缩日期 -t
尝试修复压缩包 -f
压缩成自解压文件 -A
unzip
查看压缩包,不解压 -l 列出文件   -v 列出文件详细信息
解压到指定的目录 -d
是否覆盖以存在的文件 -n 不覆盖  -o 覆盖
检查压缩包是否损坏 -t  不解压
查看压缩包注释 -z
不重建文档的目录结构 -j  把所有文件解压到同一目录下

(未完待续)

 

转载请注明:旅途@KryptosX » Linux的文件压缩——tar和zip命令