除了压缩和解压缩文件外,你还可以使用 zip 命令执行许多有趣的操作。这是一些其他的 zip 选项以及它们如何提供帮助。

为了节省一些磁盘空间并将文件打包在一起进行归档,我们中的一些人已经在 Unix 和 Linux 系统上压缩文件数十年了。即使这样,并不是所有人都尝试过一些有趣的压缩工具的变体。因此,在本文中,我们将介绍标准的压缩和解压缩以及其他一些有趣的压缩选项。

基本的 zip 命令

首先,让我们看一下基本的 zip 命令。它使用了与 gzip 基本上相同的压缩算法,但是有一些重要的区别。一方面,gzip 命令仅用于压缩单个文件,而 zip 既可以压缩文件,也可以将多个文件结合在一起成为归档文件。另外,gzip 命令是“就地”压缩。换句话说,它会只留下一个压缩文件,而原始文件则没有了。 这是工作中的 gzip 示例:

$ gzip onefile

$ls-l

-rw-rw-r--1shs shs10514Jan1513:13onefile.gz

而下面是 zip。请注意,此命令要求为压缩存档提供名称,其中 gzip(执行压缩操作后)仅使用原始文件名并添加 .gz 扩展名。

$ zip twofiles.zipfile*

adding:file1(deflated82%)

adding:file2(deflated82%)

$ls-l

-rw-rw-r--1shs shs58021Jan1513:25file1

-rw-rw-r--1shs shs58933Jan1513:34file2

-rw-rw-r--1shs shs21289Jan1513:35twofiles.zip

请注意,原始文件仍位于原处。

所节省的磁盘空间量(即获得的压缩程度)将取决于每个文件的内容。以下示例中的变化很大。

$ zip mybin.zip~/bin/*

adding:bin/1(deflated26%)

adding:bin/append(deflated64%)

adding:bin/BoD_meeting(deflated18%)

adding:bin/cpuhog1(deflated14%)

adding:bin/cpuhog2(stored0%)

adding:bin/ff(deflated32%)

adding:bin/file.0(deflated1%)

adding:bin/loop(deflated14%)

adding:bin/notes(deflated23%)

adding:bin/patterns(stored0%)

adding:bin/runme(stored0%)

adding:bin/tryme(deflated13%)

adding:bin/tt(deflated6%)

unzip 命令

unzip 命令将从一个 zip 文件中恢复内容,并且,如你所料,原来的 zip 文件还保留在那里,而类似的 gunzip 命令将仅保留未压缩的文件。

$ unzip twofiles.zip

Archive:twofiles.zip

inflating:file1

inflating:file2

$ls-l

-rw-rw-r--1shs shs58021Jan1513:25file1

-rw-rw-r--1shs shs58933Jan1513:34file2

-rw-rw-r--1shs shs21289Jan1513:35twofiles.zip

zipcloak 命令

zipcloak 命令对一个 zip 文件进行加密,提示你输入两次密码(以确保你不会“胖手指”),然后将该文件原位存储。你可以想到,文件大小与原始文件会有所不同。

$ zipcloak twofiles.zip

Enterpassword:

Verifypassword:

encrypting:file1

encrypting:file2

$ls-l

total204

-rw-rw-r--1shs shs58021Jan1513:25file1

-rw-rw-r--1shs shs58933Jan1513:34file2

-rw-rw-r--1shs shs21313Jan1513:46twofiles.zip<==slightly larger than

unencrypted version

请记住,压缩包之外的原始文件仍处于未加密状态。

zipdetails 命令

zipdetails 命令将向你显示详细信息:有关压缩文件的详细信息,可能比你想象的要多得多。即使我们正在查看一个加密的文件,zipdetails 也会显示文件名以及文件修改日期、用户和组信息、文件长度数据等。请记住,这都是“元数据”。我们看不到文件的内容。

$ zipdetails twofiles.zip

0000LOCAL HEADER#104034B50

0004ExtractZipSpec14'2.0'

0005ExtractOS00'MS-DOS'

0006GeneralPurposeFlag0001

[Bit0]1'Encryption'

[Bits1-2]1'Maximum Compression'

0008CompressionMethod0008'Deflated'

000ALastModTime4E2F6B24'Tue Jan 15 13:25:08 2019'

000ECRC F1B115BD

0012CompressedLength00002904

0016UncompressedLength0000E2A5

001AFilenameLength0005

001CExtraLength001C

001EFilename'file1'

0023ExtraID#00015455'UT: Extended Timestamp'

0025Length0009

0027Flags'03 mod access'

0028ModTime5C3E2584'Tue Jan 15 13:25:08 2019'

002CAccessTime5C3E27BB'Tue Jan 15 13:34:35 2019'

0030ExtraID#00027875'ux: Unix Extra Type 3'

0032Length000B

0034Version01

0035UIDSize04

0036UID000003E8

003AGIDSize04

003BGID000003E8

003FPAYLOAD

2943LOCAL HEADER#204034B50

2947ExtractZipSpec14'2.0'

2948ExtractOS00'MS-DOS'

2949GeneralPurposeFlag0001

[Bit0]1'Encryption'

[Bits1-2]1'Maximum Compression'

294BCompressionMethod0008'Deflated'

294DLastModTime4E2F6C56'Tue Jan 15 13:34:44 2019'

2951CRC EC214569

2955CompressedLength00002913

2959UncompressedLength0000E635

295DFilenameLength0005

295FExtraLength001C

2961Filename'file2'

2966ExtraID#00015455'UT: Extended Timestamp'

2968Length0009

296AFlags'03 mod access'

296BModTime5C3E27C4'Tue Jan 15 13:34:44 2019'

296FAccessTime5C3E27BD'Tue Jan 15 13:34:37 2019'

2973ExtraID#00027875'ux: Unix Extra Type 3'

2975Length000B

2977Version01

2978UIDSize04

2979UID000003E8

297DGIDSize04

297EGID000003E8

2982PAYLOAD

5295CENTRAL HEADER#102014B50

5299CreatedZipSpec1E'3.0'

529ACreatedOS03'Unix'

529BExtractZipSpec14'2.0'

529CExtractOS00'MS-DOS'

529DGeneralPurposeFlag0001

[Bit0]1'Encryption'

[Bits1-2]1'Maximum Compression'

529FCompressionMethod0008'Deflated'

52A1LastModTime4E2F6B24'Tue Jan 15 13:25:08 2019'

52A5CRC F1B115BD

52A9CompressedLength00002904

52ADUncompressedLength0000E2A5

52B1FilenameLength0005

52B3ExtraLength0018

52B5CommentLength0000

52B7DiskStart0000

52B9IntFileAttributes0001

[Bit0]1TextData

52BBExtFileAttributes81B40000

52BFLocalHeaderOffset00000000

52C3Filename'file1'

52C8ExtraID#00015455'UT: Extended Timestamp'

52CALength0005

52CCFlags'03 mod access'

52CDModTime5C3E2584'Tue Jan 15 13:25:08 2019'

52D1ExtraID#00027875'ux: Unix Extra Type 3'

52D3Length000B

52D5Version01

52D6UIDSize04

52D7UID000003E8

52DBGIDSize04

52DCGID000003E8

52E0CENTRAL HEADER#202014B50

52E4CreatedZipSpec1E'3.0'

52E5CreatedOS03'Unix'

52E6ExtractZipSpec14'2.0'

52E7ExtractOS00'MS-DOS'

52E8GeneralPurposeFlag0001

[Bit0]1'Encryption'

[Bits1-2]1'Maximum Compression'

52EACompressionMethod0008'Deflated'

52ECLastModTime4E2F6C56'Tue Jan 15 13:34:44 2019'

52F0CRC EC214569

52F4CompressedLength00002913

52F8UncompressedLength0000E635

52FCFilenameLength0005

52FEExtraLength0018

5300CommentLength0000

5302DiskStart0000

5304IntFileAttributes0001

[Bit0]1TextData

5306ExtFileAttributes81B40000

530ALocalHeaderOffset00002943

530EFilename'file2'

5313ExtraID#00015455'UT: Extended Timestamp'

5315Length0005

5317Flags'03 mod access'

5318ModTime5C3E27C4'Tue Jan 15 13:34:44 2019'

531CExtraID#00027875'ux: Unix Extra Type 3'

531ELength000B

5320Version01

5321UIDSize04

5322UID000003E8

5326GIDSize04

5327GID000003E8

532BENDCENTRAL HEADER06054B50

532FNumberofthisdisk0000

5331CentralDirDiskno0000

5333Entriesinthisdisk0002

5335TotalEntries0002

5337SizeofCentralDir00000096

533BOffsettoCentralDir00005295

533FCommentLength0000

Done

zipgrep命令

zipgrep 命令将使用 grep 类的功能来找到压缩文件中的特定内容。如果文件已加密,则需要为要检查的每个文件输入为加密所提供的密码。如果只想检查归档文件中单个文件的内容,请将其名称添加到 zipgrep 命令的末尾,如下所示。

$ zipgrep hazard twofiles.zip file1

[twofiles.zip]file1 password:

Certainpesticides should be banned since they are hazardous to the environment.

zipinfo 命令

zipinfo 命令提供有关压缩文件内容的信息,无论是否加密。这包括文件名、大小、日期和权限。

$ zipinfo twofiles.zip

Archive:twofiles.zip

Zipfilesize:21313bytes,number of entries:2

-rw-rw-r--3.0unx58021TxdefN19-Jan-1513:25file1

-rw-rw-r--3.0unx58933TxdefN19-Jan-1513:34file2

2files,116954bytes uncompressed,20991bytes compressed:82.1%

zipnote 命令

zipnote 命令可用于从 zip 归档中提取注释或添加注释。要显示注释,只需在命令前面加上归档名称即可。如果之前未添加任何注释,你将看到类似以下内容:

$ zipnote twofiles.zip

@file1

@(comment abovethisline)

@file2

@(comment abovethisline)

@(zipfilecomment belowthisline)

如果要添加注释,请先将 zipnote 命令的输出写入到文件:

$ zipnote twofiles.zip>comments

接下来,编辑你刚刚创建的文件,将注释插入到 (comment above this line) 行上方。然后使用像这样的 zipnote 命令添加注释:

$ zipnote-wtwofiles.zip

zipsplit 命令

当归档文件太大时,可以使用 zipsplit 命令将一个 zip 归档文件分解为多个 zip 归档文件,这样你就可以将其中某一个文件放到小型 U 盘中。最简单的方法似乎是为每个部分的压缩文件指定最大大小,此大小必须足够大以容纳最大的所包含的文件。

$ zipsplit-n12000twofiles.zip

2zip files will be made(100%efficiency)

creating:twofile1.zip

creating:twofile2.zip

$lstwofile*.zip

-rw-rw-r--1shs shs10697Jan1514:52twofile1.zip

-rw-rw-r--1shs shs10702Jan1514:52twofile2.zip

-rw-rw-r--1shs shs21377Jan1514:27twofiles.zip

请注意,提取的文件是如何依次命名为 twofile1 和 twofile2 的。

总结

zip 命令及其一些压缩工具变体,对如何生成和使用压缩文件归档提供了很多控制。

【编辑推荐】

【责任编辑:庞桂玉 TEL:(010)68476606】

点赞 0

zip文件命令 linux,在Linux上压缩文件:zip命令的各种变体及用法相关推荐

  1. linux 压缩根目录文件,Linux操作系统下如何压缩文件? zip压缩命令使用

    Linux zip命令用于压缩文件. zip是个使用广泛的压缩程序,文件经它压缩后会另外产生具有".zip"扩展名的压缩文件. 在linux操作系统中,使用zip命令进行文件压缩时 ...

  2. linux 压缩文件小,技术|在 Linux 上压缩文件的 5 种方法

    在 Linux 系统上有很多可以用于压缩文件的工具,但它们的表现并不都是一样的,也不是所有的压缩效果都是一样的.在这篇文章中,我们比较其中的五个工具. 在 Linux 上有不少用于压缩文件的命令.最新 ...

  3. linux将一段时间内文件压缩,在 Linux 上压缩文件的 5 种方法

    在 Linux 上压缩文件的 5 种方法时间:2020-05-07 11:18    浏览次数: 发布者:润天教育    来源:金信润天 0 在 Linux 上有不少用于压缩文件的命令.最新最有效的一 ...

  4. Linux 解压,压缩文件--tar 命令

    其实在Linux中,有许多种解压,压缩文件的命令,本博客介绍 tar 命令 如果Linux 系统不能运行tar 命令的朋友,先安装一下: 1)安装 1.apt-get 方式安装: sudo apt-g ...

  5. linux 学习笔记 显示压缩文件 gong.zip 的文件内容

    #zip -v gong zip zip info: xxx >删除压缩文件中俄smart.txt 文件 #zip -d gong.zip smart.txt deleting:smart.tx ...

  6. linux ftp 解压缩命令,常用五种Linux环境中的压缩和解压命令示范 | OPS技术联盟

    我们在使用云服务器的时候,压缩命令是常用的,虽然我们通过FTP工具慢慢将文件拖动到本地,但是如果我们的文件比较大,甚至有遇到文件几个G的,如果慢慢的拖动下来可能担心文件丢失或者不完整,最为是一个个下载 ...

  7. linux好压iso压缩文件,好压压缩文件管理器新手指南

    好压压缩文件管理器:下载地址 好压HaoZip的控制台 一.ZIP.7Z与 TAR 格式      好压软件 可以创建三种不同的压缩文件格式: ZIP.7Z 和 TAR.下面是每一种格式的优点叙述 : ...

  8. qt在linux系统下实现压缩文件

    简述 编程进行文件压缩一般有三种方法: 一是使用zlib的C++开源源码: 二是使用Quazip动态库: 三就是在子进程中使用第三方软件. 由于我在windows中开发qt程序时已经使用过了zlib源 ...

  9. mac 命令行 解压7z文件_如何在Mac上快速压缩和解压文件?Mac上解压和压缩文件的方法...

    苹果mac电脑怎么压缩和解压文件?Mac电脑仅默认支持把文件压缩成zip格式,解压成zip.tar.gz,bz2等格式,有些操作需要安装第三方软件来完成,这篇文章为大家带来几种关于在Mac上解压和压缩 ...

  10. Linux怎样返回上一层目录的命令:

    Linux怎样返回上一层目录的命令: 回到上一级目录:cd- 回到上一次目录:cd-(可穿越多层) vi指令进入的文件如何退出: 按下[ESC] 输入":"冒号,再输入wq!代表保 ...

最新文章

  1. AJAXA进行分页(2)
  2. 数据结构和算法基础之冒泡排序
  3. 前端学习(488):文本标签
  4. 2020年深度学习调参技巧合集
  5. char 数组和 int 之间转化
  6. 在线批量将gps经纬度坐标转换为百度经纬度坐标
  7. 2019-数学建模美赛-B题翻译
  8. Phaserjs基础教程第二节:加载图片、文字和动画
  9. 博途v15 固件升级包_使用博途TIA 15.1对SIMATIC S7-1200进行硬件组态和固件版本在线升级(博途V15和1200学习笔记一)...
  10. 大于号html语言怎么写,在HTML中使用大于号、小于号、空格等字符
  11. 什么是资本运营的核心?
  12. 人工智能(AI)如何彻底改变项目管理
  13. dellt130服务器做系统,戴尔Dell R330;T130安装系统后键盘鼠标不能使用
  14. 公司名称注册,公司名称查询,企业名称注册事项
  15. Solr之Facet与FacetPivot的使用和区别
  16. 无法获取链接服务器 XXX 的 OLE DB 访问接口 SQLNCLI10 的架构行集 DBSCHEMA_TABLES_INFO。该访问接口支持该接口,但使用该接口时返回了失败代码。...
  17. Collections、Set、Map、斗地主排序
  18. Nodejs 使用 Buffer 将图片转为 base64
  19. uni-app系列(二):uniapp 项目引入 uView 并简单使用
  20. 计算机作品画图板软件四年级,四年级计算机《用画图软件画画》.doc

热门文章

  1. 10.认证服务,单点登录
  2. 20190519 ICPC西安邀请赛游记
  3. 十六进制表示法(二进制/十六进制/十进制之间的转换)
  4. VSCode配置Python教程
  5. 手机计算机文件夹加密文件,手机文件夹加密锁软件加密步骤【图文教程】
  6. 这是啥SQL,室友看了人傻了
  7. 自制流媒体播放器(Qt+ffmpeg+SDL)小结
  8. Lee滤波和Refine-Lee滤波
  9. Vue 视频音频播放
  10. Contextual 上下文绑定机制