`
wx1569466809
  • 浏览: 72224 次
文章分类
社区版块
存档分类
最新评论

文件压缩和打包zip、tar

 
阅读更多

第六章 文件压缩和打包

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

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

转载于:https://my.oschina.net/1995blog/blog/1593405

分享到:
评论

相关推荐

    windows下tar打包软件_TAR压缩解压

    总结起来,虽然Windows系统原生不支持`.tar`格式,但借助7-Zip等工具,我们可以轻松地在Windows环境下进行`.tar`文件的打包、压缩和解压操作。无论是图形界面还是命令行方式,都提供了简单易用的接口,使得跨平台的...

    php zip gzip tar..压缩解压缩类

    5. **tar**:tar是一种打包工具,它可以将多个文件和目录打包成一个单一的归档文件,但不进行压缩。PHP的`PharData`类可以处理tar格式的文件。`createFromDirectory()`方法可以创建一个包含指定目录内容的tar文件,...

    ant操作7zip压缩、解压 tar.gz

    了解这些基础知识后,我们可以更有效地利用7-Zip和Ant处理文件压缩和解压,特别是在大型项目中,自动化这些过程可以显著提高工作效率。同时,理解XML配置文件如build.xml的内容,可以帮助我们定制化构建流程,满足...

    Linux系统文件的压缩、打包与解开介绍

    Linux 系统文件的压缩、打包与解开是非常重要的知识点,今天我们将详细介绍 Linux 系统中压缩文件的 zip 命令、解开压缩文件的 unzip 命令和打包文件的 tar 命令。 一、压缩文件的 zip 命令 zip 命令是 Linux 系统...

    7zip安装软件,可把文件在windows系统下打包成tar,7z,zip格式

    3. **TAR格式**:TAR并不是一个压缩格式,而是一种归档格式,用于将多个文件和目录打包在一起,但不进行压缩。通过7-Zip,用户可以在Windows系统下创建TAR文件,然后选择是否进一步使用GZIP或BZ2等算法进行压缩。 4...

    压缩打包命令gzip和tar

    在Linux操作系统中,压缩打包命令是经常被使用的功能,尤其在处理文件备份、传输以及系统管理时显得尤为重要。gzip和tar是Linux环境下最常用的压缩和打包工具,gzip能够压缩单个文件,而tar则擅长将多个文件或目录...

    JAVA 打包(jar\tar\zip)源码

    这里我们将深入探讨JAVA的打包机制,主要关注jar、tar和zip这三种常见的打包格式,以及如何处理它们的源码。 首先,`jar`文件是Java档案文件,它是Java平台特有的打包方式,用于收集多个类文件、相关的元数据和资源...

    7-zip右键扩展tar.gz

    在Linux和Unix环境中,"tar" 是一个用于打包文件的命令,它可以将多个文件和目录组合成一个单一的归档文件,便于管理和传输。而".gz" 是GZIP的缩写,是一种广泛使用的文件压缩格式。当我们看到 ".tar.gz" 或 ".tgz...

    Linux下创建与解压zip, tar, tar.gz和tar.bz2

    以上介绍了在 Linux 系统中如何使用 `zip`, `tar`, `tar.gz` 和 `tar.bz2` 进行文件的压缩与解压操作。每种格式都有其独特的优缺点,选择哪种格式取决于你的具体需求。例如,如果你需要跨平台兼容性,则 `zip` 是...

    php zipArchive-压缩类 支持ZIP,TAR,GZIP

    这个类提供了创建、读取、修改以及提取ZIP文件的能力,同时也支持其他压缩格式如TAR和GZIP。在本文中,我们将深入探讨`ZipArchive` 类的主要功能和用法,以便更好地理解和应用在实际项目中。 ### 1. 创建ZIP文件 ...

    windows下压缩的zip文件,上传到Linux后unzip不认的解决办法

    当使用ZIP压缩工具在Windows下创建ZIP文件时,它默认会按照Windows的标准进行编码和打包。例如,如果文件内容包含DOS/Windows风格的换行符,Linux的`unzip`命令可能无法正确解析。此外,某些ZIP文件可能会包含NTFS...

    java解压和压缩tar包

    首先,`javatar-2.5.jar`是一个专门用于处理tar文件的Java库,它提供了解压和压缩tar文件的API,方便开发者在Java项目中进行文件的打包和解包操作。这个库特别强调了解决中文文件名乱码的问题,确保在处理包含非...

    文件打包压缩,可同时打包多个文件(也可以打包单个文件)

    在IT行业中,文件打包压缩是一项基础且重要的任务,特别是在数据传输、存储和备份等领域。本文将详细介绍如何实现文件打包和压缩,以及如何同时打包多个文件。我们将基于标题和描述提供的信息,探讨相关知识点。 ...

    压缩文件.zip

    在数字化时代,数据和文件的交换变得日益频繁,而文件压缩技术应运而生,它有效地解决了大文件传输和存储的问题。以"压缩文件.zip"为例,我们将深入探讨这个常见的压缩格式以及其在IT领域的应用。 一、压缩文件格式...

    Linux下文件的各种打包与压缩文件后缀及其解包解压缩方法

    在Linux操作系统中,文件打包和压缩是日常管理任务的一部分,尤其在处理大量文件或源代码时更为常见。本文主要探讨了Linux环境下常见的打包和压缩工具,以及如何对各种后缀的压缩文件进行操作。 首先,我们需要理解...

    Python打包文件夹的方法小结(zip,tar,tar.gz等)

    ### Python打包文件夹的方法小结(zip, tar, tar.gz等) 在进行软件开发的过程中,我们经常需要将项目文件打包成一个归档文件...无论你是需要打包成 zip 文件还是 tar 或 tar.gz 文件,Python 都能为你提供强大的支持。

    Linux 相关文件\linux下tar gz bz2 tgz z等众多压缩文件的解压方法

    本文主要探讨了Linux环境下如何处理不同类型的压缩文件,包括.tar、.gz、.bz2、.tgz、.z以及.zip和.rar文件。 首先,我们需要理解打包和压缩两个概念的区别。打包(tar)是将多个文件或目录整合为一个单一的文件,...

    ICSharpCode.SharpZipLib.dll 多文件打包压缩附例子

    ICSharpCode.SharpZipLib是一个开源的.NET库,专门用于处理ZIP、GZip、BZip2和Tar等压缩格式。这个库提供了丰富的功能,包括创建、读取和更新压缩文件,以及对单个文件和整个目录结构进行压缩和解压缩。在标题和描述...

    如何在Linux下创建与解压zip, tar, tar.gz和tar.bz2文件

    在Linux系统中,掌握如何创建与解压zip、tar、tar.gz和tar.bz2文件是一项基本但极其重要的技能。这不仅能够帮助用户有效地管理文件,还能优化存储空间和网络传输效率。以下是对这些常用压缩格式及其操作命令的详细...

    文件压缩解压缩

    1. **zip**:zip是最广泛使用的压缩格式之一,它支持多文件和文件夹的打包,可以提供基本的加密和文件名编码转换。zip文件通常易于创建和打开,跨平台兼容性好,适合快速分享和存储。 2. **rar**:RAR是由俄罗斯...

Global site tag (gtag.js) - Google Analytics