文档章节

文件压缩和打包zip、tar

阿dai学长
 阿dai学长
发布于 2017/06/23 19:16
字数 1363
阅读 70
收藏 0

第六章 文件压缩和打包

6.5 zip压缩工具

zip命令可以用来解压缩文件,或者对文件进行打包操作。zip是个使用广泛的压缩程序,文件经它压缩后会另外产生具有“.zip”扩展名的压缩文件。

注意: zip既可以压缩目录文件也可以压缩普通文件。

语法: zip [options] [filename.zip] [filename]

说明: zip后面先跟目标文件名,也就是自定义的压缩包名,然后跟源文件名。

options:

-r:压缩目录文件时使用,表示级联压缩,连通目录内文件一同压缩

  • 安装zip工具
[root@adai002 d6z]# yum install -y zip

压缩

压缩普通文件

[root@adai002 d6z]# zip 1.txt.zip 1.txt
  adding: 1.txt (deflated 74%)
[root@adai002 d6z]# ls 
1.txt  1.txt.zip  2.txt  adai
[root@adai002 d6z]# du -ah
1.3M	./1.txt
1.3M	./2.txt
1.3M	./adai/1.txt
1.3M	./adai/2.txt
2.5M	./adai
328K	./1.txt.zip
5.2M	.

说明: 使用zip压缩文件时,源文件不会被删除。

压缩目录文件

[root@adai002 d6z]# zip adai.zip adai
  adding: adai/ (stored 0%)   
不加-r选项则只会压缩该文件夹,不压缩其内容
###############################
[root@adai002 d6z]# zip -r adai.zip adai
updating: adai/ (stored 0%)
  adding: adai/1.txt (deflated 74%)
  adding: adai/2.txt (deflated 74%)
[root@adai002 d6z]# ls
1.txt  1.txt.zip  2.txt  adai  adai.zip
[root@adai002 d6z]# du -ah
1.3M	./1.txt
1.3M	./2.txt
1.3M	./adai/1.txt
1.3M	./adai/2.txt
2.5M	./adai
328K	./1.txt.zip
656K	./adai.zip
5.9M	.

解压缩

eg1:

[root@adai002 d6z]# unzip 1.txt.zip
Archive:  1.txt.zip
replace 1.txt? [y]es, [n]o, [A]ll, [N]one, [r]ename: y
  inflating: 1.txt                   
[root@adai002 d6z]# ls
1.txt  1.txt.zip  2.txt  adai  adai.zip

说明: 因zip压缩文件时不删除源文件,所以在相同目录进行解压缩时会提示:‘replace 1.txt? ’。

eg2:

[root@adai002 d6z]# unzip 1.txt.zip -d /tmp/3.txt
Archive:  1.txt.zip
  inflating: /tmp/3.txt/1.txt 

说明: 解压时可以指定目录,但是不能指定其解压后的文件名。

查看压缩文件

[root@adai002 d6z]# unzip -l adai.zip
Archive:  adai.zip
  Length      Date    Time    Name
---------  ---------- -----   ----
        0  06-22-2017 23:29   adai/
  1277475  06-22-2017 23:29   adai/1.txt
  1277475  06-22-2017 23:29   adai/2.txt
---------                     -------
  2554950                     3 files

说明: zip压缩文件只能使用‘unzip -l’查看其文件目录,无法查看文件内容。

6.6 tar打包

tar命令是Unix/Linux系统中备份文件的可靠方法,几乎可以工作于任何环境中,它的使用权限是所有用户。

语法: tar [options] [filename]
options:
-c:建立一个tar包或者压缩文件包
-f:指定目标文件名,如果多个参数组合使用时,把-f放在最后面
-z:同时用gzip压缩
-j:同时用bzip2压缩
-J:同时用xz压缩
-t:查看包里面的文件 -v:可视化
--exclude:后面跟文件名,表示打包除了该文件之外的内容

打包

eg1: 打包目录文件

[root@adai002 d6z]# ls
1.txt  1.txt.zip  2.txt  adai  adai.zip
[root@adai002 d6z]# tar -cvf adai.tar adai/
adai/
adai/1.txt
adai/2.txt
[root@adai002 d6z]# ls
1.txt  1.txt.zip  2.txt  adai  adai.tar  adai.zip
[root@adai002 d6z]# du -ah
1.3M	./2.txt
1.3M	./adai/1.txt
1.3M	./adai/2.txt
2.5M	./adai
328K	./1.txt.zip
656K	./adai.zip
1.3M	./1.txt
2.5M	./adai.tar
8.3M	.

说明: 打包不会删除源文件,当某.tar文件已经存在时,再次打包会直接覆盖该文件,无任何提示。

eg2: 打包普通文件

[root@adai002 d6z]# tar -cvf 2.tar 2.txt
2.txt
[root@adai002 d6z]# ls
1.txt  1.txt.zip  2.tar  2.txt  adai  adai.tar  adai.zip
[root@adai002 d6z]# du -ah
1.3M	./2.txt
1.3M	./adai/1.txt
1.3M	./adai/2.txt
2.5M	./adai
328K	./1.txt.zip
656K	./adai.zip
1.3M	./1.txt
2.5M	./adai.tar
1.3M	./2.tar
9.5M	.

eg3: 同时打包目录文件和普通文件

[root@adai002 d6z]# tar -cvf adailinux.tar adai 1.txt 2.txt
adai/
adai/1.txt
adai/2.txt
1.txt
2.txt
[root@adai002 d6z]# ls
1.txt  1.txt.zip  2.tar  2.txt  adai  adailinux.tar  adai.tar  adai.zip
[root@adai002 d6z]# du -ah
1.3M	./2.txt
1.3M	./adai/1.txt
1.3M	./adai/2.txt
2.5M	./adai
328K	./1.txt.zip
656K	./adai.zip
1.3M	./1.txt
2.5M	./adai.tar
1.3M	./2.tar
4.9M	./adailinux.tar
15M	.

查看包内内容

[root@adai002 d6z]# tar -tf adai.tar
adai/
adai/1.txt
adai/2.txt

选择性打包(--exclude)

[root@adai002 d6z]# ls adai
1.txt  2.txt  3.txt  adailinux.tar  adai.tar
[root@adai002 d6z]# tar -cvf adai.tar adai --exclude "*.txt"
打包除了“.txt”以外的文件
adai/
adai/adailinux.tar
adai/adai.tar
[root@adai002 d6z]# tar -cvf adai2.tar adai --exclude 1.txt --exclude adai.tar 
打包除了1.txt和adai.tar以外的文件
adai/
adai/2.txt
adai/adailinux.tar
adai/3.txt
[root@adai002 d6z]# tar -tf adai2.tar
adai/
adai/2.txt
adai/adailinux.tar
adai/3.txt

解包

[root@adai002 d6z]# tar -xvf adai.tar
adai/
adai/1.txt
adai/2.txt
[root@adai002 d6z]# ls
1.txt  1.txt.zip  2.txt  adai  adai.tar  adai.zip
[root@adai002 d6z]# du -ah
1.3M	./2.txt
1.3M	./adai/1.txt
1.3M	./adai/2.txt
2.5M	./adai
328K	./1.txt.zip
656K	./adai.zip
1.3M	./1.txt
2.5M	./adai.tar
8.3M	.

说明: 解包时,如果该文件已经存在则会直接覆盖,无任何提示。

6.7 打包并压缩

语法: tar [options] [filename]
options:
-z:同时用gzip压缩
-j:同时用bzip2压缩
-J:同时用xz压缩

打包并压缩

eg1: 打包并用gzip压缩

[root@adai002 d6z]# du -h adai
9.8M	adai
[root@adai002 d6z]# tar -czvf adai.tar.gz adai
adai/
adai/1.txt
adai/2.txt
adai/adailinux.tar
adai/adai.tar
adai/3.txt
[root@adai002 d6z]# du -h adai.tar.gz
2.6M	adai.tar.gz

eg2: 打包并用bzip2压缩

[root@adai002 d6z]# tar -cjvf adai.tar.bz2 adai
adai/
adai/1.txt
adai/2.txt
adai/adailinux.tar
adai/adai.tar
adai/3.txt
[root@adai002 d6z]# du -h adai.tar.bz2
972K	adai.tar.bz2

eg3: 打包并用xz压缩

[root@adai002 d6z]# tar -cJvf adai.tar.xz adai
adai/
adai/1.txt
adai/2.txt
adai/adailinux.tar
adai/adai.tar
adai/3.txt
[root@adai002 d6z]# du -h adai.tar.xz
64K	adai.tar.xz

解包解压缩

示例:解包并解压xz格式的包

[root@adai002 d6z]# tar -xJvf adai.tar.xz
adai/
adai/1.txt
adai/2.txt
adai/adailinux.tar
adai/adai.tar
adai/3.txt

说明: 其余两种压缩格式同理。

© 著作权归作者所有

阿dai学长
粉丝 75
博文 262
码字总数 336161
作品 0
朝阳
运维
私信 提问
6.5 zip压缩工具;6.6 tar打包;6.7 打包并压缩

6.5 zip压缩工具 yum安装zip压缩工具: [root@hao-01 ~]# yum install -y zip 1. zip压缩文件:zip 压缩文件名 原文件 [root@hao-01 ~]# zip hao.txt.zip hao.txt 2. zip压缩目录:zip -r 压...

主内安详
2018/01/06
0
0
zip压缩工具、tar打包、打包并压缩

一、zip压缩工具 zip支持压缩目录和文件。zip压缩的文件后缀名为.zip。 yum install -y zip #安装zip压缩工具 zip命令压缩文件:zip 压缩包名 被压缩的文件名。后缀名以.zip结尾。 zip命令压...

豆渣锅
2017/11/13
0
0
6.5 zip压缩工具 6.6 tar打包 6.7 打包并压缩

6.5 zip压缩工具 6.6 tar打包 6.7 打包并压缩 6.5 zip压缩工具 zip压缩工具 zip 支持压缩目录 zip压缩文件 zip文件解压缩 压缩之前的名字和解压缩之后的名字是一样的; 6.6 tar打包 tar打包 ...

wb_rambo123
2018/01/08
0
0
学习笔记二十

zip压缩工具 zip压缩包在Windows和Linux中都比较常用,可以压缩目录和文件;zip压缩特点:zip压缩之后,原来的文件不删除。 zip压缩文件 然后安装zip包,开始压缩文件 zip压缩目录 zip解压文...

风流花生
2017/11/11
0
0
zip压缩/tar打包

zip压缩工具 安装zip压缩工具;> [root@Ask-02 ~]# yum install -y zip 安装zip解压缩工具;> [root@Ask-02 ~]# yum install -y unzip zip压缩文件;> [root@Ask-02 dbyscs]# zip ceshi.txt......

AskZ
2018/01/06
0
0

没有更多内容

加载失败,请刷新页面

加载更多

如何使用soapUI模拟webservice客户端发送请求

参考资料 https://jingyan.baidu.com/article/cbcede0712849a02f40b4d88.html 左边是请求参数,可以自己填写!按着那个绿色三角箭头可以模拟发送请求,右边是返回的报文 soapui如何发送xml格...

故久呵呵
43分钟前
5
0
Java Security 介绍

1.介绍 Java平台设计的重点是安全性。在其核心,java语言本身是类型安全的并且提供了垃圾自动回收,这使其增加了应用程序代码的健壮性。安全的类加载以及验证机制确保了只有合法的代码才能够...

lixiaobao
48分钟前
5
0
Niushop开源商城系统-分销商管理

分销商管理 1.分销员的招募与管理 如何申请成为分销员? 在wap端个人中心满足之前设置的升级条件,可以申请分销员 开启分销商审核,需要在后台分销商管理——》待审核处进行审核通过。 通过完...

niushop-芳
49分钟前
5
0
为什么大公司一定要使用 DevOps?

究竟什么是DevOps? 要想回答这个问题,首先要明确DevOps这个过程参与的人员是谁,即开发团队和IT运维团队。那么,DevOps的意图是什么呢?即在两个团队之间,建立良好的沟通和协作,更快更可靠...

cs平台
51分钟前
5
0
高危预警|RDP漏洞或引发大规模蠕虫爆发,用户可用阿里云免费检测服务自检,建议尽快修复

2019年9月6日,阿里云应急响应中心监测到Metasploit-framework官方在GitHub空间公开了针对Windows远程桌面服务远程命令执行漏洞(CVE-2019-0708)的利用代码。利用该代码,无需用户交互操作,即...

Mr_zebra
56分钟前
4
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部