码迷,mamicode.com
首页 > 其他好文 > 详细

压缩与打包

时间:2020-08-18 13:48:26      阅读:89      评论:0      收藏:0      [点我收藏+]

标签:filename   unzip   unzip命令   指定   arch   文件的   tar打包工具   one   绝对路径   

压缩文件,可以节省磁盘空间,在传输过程中还能节省网络带宽;
打包文件,将一个目录合并成一个文件;
常见压缩文件后缀名有:

.gz:表示由gzip压缩工具压缩的文件;
.bz2:表示由bzip2压缩工具压缩的文件;
.xz:表示由xz压缩工具压缩的文件;
.zip:表示由zip压缩工具压缩的文件;
.tar:表示由tar打包程序打包的文件;
.tar.gz:先tar打包,然后再gzip压缩的文件;
.tar.bz2:先tar打包,然后bzip2压缩的文件;
.tar.xz:先tar打包,再xz压缩的文件;

压缩工具

gzip压缩工具

注意:无法压缩目录,压缩或解压缩文件后源文件会消失;
格式:
gzip命令的格式为gzip [-d#] filename,其中#为1~9的数字。
-d:该参数在解压缩时使用。
-#:表示压缩等级,1为最差,9为最好,6为默认。
-c :指定压缩或解压的目标位置:gunzip -c 压缩包 > 目标文件

压缩:
将1.txt压缩为1.txt.gz

[root@jinkai01 tmp]# ls
1.txt vmware-root_6331-1723602126
[root@jinkai01 tmp]# gzip 1.txt
[root@jinkai01 tmp]# ls
1.txt.gz vmware-root_6331-1723602126

解压缩:gzip -d 或 gunzip 都可以解压缩

[root@jinkai01 tmp]# gzip -d 1.txt.gz
[root@jinkai01 tmp]# ls
1.txt vmware-root_6331-1723602126

bzip2压缩工具

压缩级别有1~9,默认级别是9。压缩时,加或不加-z选项都可以压缩文件
注意:bzip无法压缩目录;
格式:
bzip2 [-d][-z][文件名]

压缩:
使用-z参数压缩,不附带-z参数也可压缩文件;

[root@jinkai01 tmp]# bzip2 1.txt
[root@jinkai01 tmp]# ls
1.txt.bz2 vmware-root_6331-1723602126

解压缩:bzip2 -d 或 bunzip2 都可以解压缩
使用-d参数解压缩;

[root@jinkai01 tmp]# bzip2 -d 1.txt.bz2
[root@jinkai01 tmp]# ls
1.txt vmware-root_6331-1723602126

xz压缩工具

注意:与bzip2一样无法压缩目录,-d解压,-z压缩,不带-z也可压缩;
格式:
xz [-z][-d][文件名]
压缩:

[root@jinkai01 tmp]# xz 1.txt
[root@jinkai01 tmp]# ls
1.txt.xz vmware-root_6331-1723602126

解压缩:

[root@jinkai01 tmp]# xz -d 1.txt.xz
[root@jinkai01 tmp]# ls
1.txt vmware-root_6331-1723602126zip

zip

*注意:zip可以压缩目录与文件,压缩目录时需要指定目录下面的文件;压缩或解压缩的源文件是存在的;
格式:
zip [压缩后的文件名] [压缩源文件]
压缩目录:
必须在目录后面加
表示所有文件;**

[root@jinkai01 tmp]# zip a.zip a/*
adding: a/1.txt (stored 0%)
adding: a/2.txt (stored 0%)
adding: a/3.txt (stored 0%)
adding: a/b/ (stored 0%)
[root@jinkai01 tmp]# ls
1.txt a a.zip vmware-root_6331-1723602126

压缩二级目录或多级目录:
必须加参数-r强制;

[root@jinkai01 tmp]# zip -r a.zip a/*
updating: a/1.txt (stored 0%)
updating: a/2.txt (stored 0%)
updating: a/3.txt (stored 0%)
updating: a/b/ (stored 0%)
adding: a/b/22.txt (stored 0%)
adding: a/b/11.txt (stored 0%)

解压缩:
使用unzip就行解压缩,没有unzip命令,可以使用yum install -y unzip 来安装

[root@jinkai01 tmp]# unzip a.zip
Archive: a.zip
replace a/1.txt? [y]es, [n]o, [A]ll, [N]one, [r]ename: A
extracting: a/1.txt
extracting: a/2.txt
extracting: a/3.txt
extracting: a/b/22.txt
extracting: a/b/11.txt

tar打包工具

tar本身是一个打包工具,可以将目录打包成一个文件,将所有文件整合成一个大文件,方便复制或移动;
格式:

tar [参数][文件名]
-z:表示同时用gzip压缩;
-j:表示同时用bzip2压缩;
-J:表示同时用xz压缩;
-x:表示解包或者解压缩;
-t:表示查看tar包里的文件;
-c:表示创建一个tar包或者压缩文件包;
-v:表示可视化;
-f:后面跟文件名,也就是压缩后的文件;
-p:表示使用源文件的属性;
-P:表示可以使用绝对路径;

打包文件:

[root@jinkai01 tmp]# tree a
a
├── 1.txt
├── 2.txt
├── 3.txt
└── b
├── 11.txt
└── 22.txt

1 directory, 5 files
[root@jinkai01 tmp]# tar -cvf a.tar a/
a/
a/3.txt
a/2.txt
a/1.txt
a/b/
a/b/11.txt
a/b/22.txt
[root@jinkai01 tmp]# ls
1.txt a a.tar vmware-root_6331-1723602126

解包文件:

[root@jinkai01 tmp]# tar -xvf a.tar
a/
a/3.txt
a/2.txt
a/1.txt
a/b/
a/b/11.txt
a/b/22.txt

打包并压缩文件

[root@jinkai01 tmp]# tar -cvzf a.tar.gz a/
a/
a/1.txt
a/2.txt
a/3.txt
a/b/
a/b/22.txt
a/b/11.txt
[root@jinkai01 tmp]# ls
1.txt a a.tar a.tar.gz vmware-root_6331-1723602126

解包并解压缩文件

[root@jinkai01 tmp]# tar -xzvf a.tar.gz
a/
a/1.txt
a/2.txt
a/3.txt
a/b/
a/b/22.txt
a/b/11.txt

可以使用tar -tf 直接查看压缩包里面的文件

[root@jinkai01 tmp]# tar -tf a.tar.gz
a/
a/3.txt
a/2.txt
a/1.txt
a/b/
a/b/11.txt
a/b/22.txt

压缩与打包

标签:filename   unzip   unzip命令   指定   arch   文件的   tar打包工具   one   绝对路径   

原文地址:https://blog.51cto.com/11451960/2520529

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!