博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
文件压缩和打包zip、tar
阅读量:5827 次
发布时间:2019-06-18

本文共 4492 字,大约阅读时间需要 14 分钟。

hot3.png

第六章 文件压缩和打包

6.5 zip压缩工具

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

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

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

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

options:

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

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

压缩

压缩普通文件

[root@3 d6z]# zip 1.txt.zip 1.txt  adding: 1.txt (deflated 74%)[root@3 d6z]# ls 1.txt  1.txt.zip  2.txt  adai[root@3 d6z]# du -ah1.3M	./1.txt1.3M	./2.txt1.3M	./adai/1.txt1.3M	./adai/2.txt2.5M	./adai328K	./1.txt.zip5.2M	.

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

压缩目录文件

[root@3 d6z]# zip adai.zip adai  adding: adai/ (stored 0%)   不加-r选项则只会压缩该文件夹,不压缩其内容###############################[root@3 d6z]# zip -r adai.zip adaiupdating: adai/ (stored 0%)  adding: adai/1.txt (deflated 74%)  adding: adai/2.txt (deflated 74%)[root@3 d6z]# ls1.txt  1.txt.zip  2.txt  adai  adai.zip[root@3 d6z]# du -ah1.3M	./1.txt1.3M	./2.txt1.3M	./adai/1.txt1.3M	./adai/2.txt2.5M	./adai328K	./1.txt.zip656K	./adai.zip5.9M	.

解压缩

eg1:

[root@3 d6z]# unzip 1.txt.zipArchive:  1.txt.zipreplace 1.txt? [y]es, [n]o, [A]ll, [N]one, [r]ename: y  inflating: 1.txt                   [root@3 d6z]# ls1.txt  1.txt.zip  2.txt  adai  adai.zip

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

eg2:

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

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

查看压缩文件

[root@3 d6z]# unzip -l adai.zipArchive:  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@3 d6z]# ls1.txt  1.txt.zip  2.txt  adai  adai.zip[root@3 d6z]# tar -cvf adai.tar adai/adai/adai/1.txtadai/2.txt[root@3 d6z]# ls1.txt  1.txt.zip  2.txt  adai  adai.tar  adai.zip[root@3 d6z]# du -ah1.3M	./2.txt1.3M	./adai/1.txt1.3M	./adai/2.txt2.5M	./adai328K	./1.txt.zip656K	./adai.zip1.3M	./1.txt2.5M	./adai.tar8.3M	.

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

eg2: 打包普通文件

[root@3 d6z]# tar -cvf 2.tar 2.txt2.txt[root@3 d6z]# ls1.txt  1.txt.zip  2.tar  2.txt  adai  adai.tar  adai.zip[root@3 d6z]# du -ah1.3M	./2.txt1.3M	./adai/1.txt1.3M	./adai/2.txt2.5M	./adai328K	./1.txt.zip656K	./adai.zip1.3M	./1.txt2.5M	./adai.tar1.3M	./2.tar9.5M	.

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

[root@3 d6z]# tar -cvf adailinux.tar adai 1.txt 2.txtadai/adai/1.txtadai/2.txt1.txt2.txt[root@3 d6z]# ls1.txt  1.txt.zip  2.tar  2.txt  adai  adailinux.tar  adai.tar  adai.zip[root@3 d6z]# du -ah1.3M	./2.txt1.3M	./adai/1.txt1.3M	./adai/2.txt2.5M	./adai328K	./1.txt.zip656K	./adai.zip1.3M	./1.txt2.5M	./adai.tar1.3M	./2.tar4.9M	./adailinux.tar15M	.

查看包内内容

[root@3 d6z]# tar -tf 3.tar3/3/1.txt3/2.txt

选择性打包(--exclude)

[root@3 d6z]# ls 31.txt  2.txt  3.txt  3linux.tar  3.tar[root@3 d6z]# tar -cvf 3.tar 3 --exclude "*.txt"打包除了“.txt”以外的文件3/3/3linux.tar3/3.tar[root@3 d6z]# tar -cvf 3.tar 3 --exclude 1.txt --exclude 3.tar 打包除了1.txt和3.tar以外的文件3/3/2.txt3/3linux.tar3/3.txt[root@3 d6z]# tar -tf 32.tar3/3/2.txt3/3linux.tar3/3.txt

解包

[root@3 d6z]# tar -xvf adai.taradai/adai/1.txtadai/2.txt[root@3 d6z]# ls1.txt  1.txt.zip  2.txt  adai  adai.tar  adai.zip[root@3 d6z]# du -ah1.3M	./2.txt1.3M	./adai/1.txt1.3M	./adai/2.txt2.5M	./adai328K	./1.txt.zip656K	./adai.zip1.3M	./1.txt2.5M	./adai.tar8.3M	.

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

6.7 打包并压缩

语法: tar [options] [filename]

options:
-z:同时用gzip压缩
-j:同时用bzip2压缩
-J:同时用xz压缩

打包并压缩

eg1: 打包并用gzip压缩

[root@3 d6z]# du -h adai9.8M	adai[root@3 d6z]# tar -czvf adai.tar.gz adaiadai/adai/1.txtadai/2.txtadai/adailinux.taradai/adai.taradai/3.txt[root@3 d6z]# du -h adai.tar.gz2.6M	adai.tar.gz

eg2: 打包并用bzip2压缩

[root@3 d6z]# tar -cjvf adai.tar.bz2 adaiadai/adai/1.txtadai/2.txtadai/adailinux.taradai/adai.taradai/3.txt[root@3 d6z]# du -h adai.tar.bz2972K	adai.tar.bz2

eg3: 打包并用xz压缩

[root@3 d6z]# tar -cJvf adai.tar.xz adaiadai/adai/1.txtadai/2.txtadai/adailinux.taradai/adai.taradai/3.txt[root@3 d6z]# du -h adai.tar.xz64K	adai.tar.xz

解包解压缩

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

[root@3 d6z]# tar -xJvf adai.tar.xzadai/adai/1.txtadai/2.txtadai/adailinux.taradai/adai.taradai/3.txt

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

转载于:https://my.oschina.net/u/3706800/blog/1835302

你可能感兴趣的文章
AIX 配置vncserver
查看>>
windows下Python 3.x图形图像处理库PIL的安装
查看>>
【IL】IL生成exe的方法
查看>>
没有JS的前端:体积更小、速度更快!
查看>>
数据指标/表现度量系统(Performance Measurement System)综述
查看>>
GitHub宣布推出Electron 1.0和Devtron,并将提供无限制的私有代码库
查看>>
论模式在领域驱动设计中的重要性
查看>>
有关GitHub仓库分支的几个问题
查看>>
EAServer 6.1 .NET Client Support
查看>>
锐捷交换机密码恢复(1)
查看>>
Method Swizzling对Method的要求
查看>>
佛祖保佑,永不宕机
查看>>
四、配置开机自动启动Nginx + PHP【LNMP安装 】
查看>>
Linux 目录结构及内容详解
查看>>
OCP读书笔记(24) - 题库(ExamD)
查看>>
.net excel利用NPOI导入oracle
查看>>
$_SERVER['SCRIPT_FLENAME']与__FILE__
查看>>
hive基本操作与应用
查看>>
html5纲要,细谈HTML 5新增的元素
查看>>
Android应用集成支付宝接口的简化
查看>>