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

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

基本的 zip 命令

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

$ gzip onefile$ ls -l-rw-rw-r-- 1 shs shs 10514 Jan 15 13:13 onefile.gz

而下面是 zip。请注意,此命令要求为压缩存档提供名称,其中 gzip(执行压缩操作后)仅使用原始文件名并添加 .gz 扩展名。$ zip twofiles.zip file* adding: file1 (deflated 82%) adding: file2 (deflated 82%)$ ls -l-rw-rw-r-- 1 shs shs 58021 Jan 15 13:25 file1-rw-rw-r-- 1 shs shs 58933 Jan 15 13:34 file2-rw-rw-r-- 1 shs shs 21289 Jan 15 13:35 twofiles.zip

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

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

$ zip mybin.zip ~/bin/* adding: bin/1 (deflated 26%) adding: bin/append (deflated 64%) adding: bin/BoD_meeting (deflated 18%) adding: bin/cpuhog1 (deflated 14%) adding: bin/cpuhog2 (stored 0%) adding: bin/ff (deflated 32%) adding: bin/file.0 (deflated 1%) adding: bin/loop (deflated 14%) adding: bin/notes (deflated 23%) adding: bin/patterns (stored 0%) adding: bin/runme (stored 0%) adding: bin/tryme (deflated 13%) adding: bin/tt (deflated 6%)

unzip 命令

unzip 命令将从一个 zip 文件中恢复内容,并且,如你所料,原来的 zip 文件还保留在那里,而类似的 gunzip 命令将仅保留未压缩的文件。$ unzip twofiles.zipArchive: twofiles.zip inflating: file1 inflating: file2$ ls -l-rw-rw-r-- 1 shs shs 58021 Jan 15 13:25 file1-rw-rw-r-- 1 shs shs 58933 Jan 15 13:34 file2-rw-rw-r-- 1 shs shs 21289 Jan 15 13:35 twofiles.zip

zipcloak 命令

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

$ zipcloak twofiles.zipEnter password:Verify password:encrypting: file1encrypting: file2$ ls -ltotal 204-rw-rw-r-- 1 shs shs 58021 Jan 15 13:25 file1-rw-rw-r-- 1 shs shs 58933 Jan 15 13:34 file2-rw-rw-r-- 1 shs shs 21313 Jan 15 13:46 twofiles.zip <== slightly larger than unencrypted version

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

zipdetails 命令

zipdetails 命令将向你显示详细信息:有关压缩文件的详细信息,可能比你想象的要多得多。即使我们正在查看一个加密的文件,zipdetails 也会显示文件名以及文件修改日期、用户和组信息、文件长度数据等。请记住,这都是“元数据”。我们看不到文件的内容。$ zipdetails twofiles.zip0000 LOCAL HEADER #1 04034B500004 Extract Zip Spec 14 '2.0'0005 Extract OS 00 'MS-DOS'0006 General Purpose Flag 0001 [Bit 0] 1 'Encryption' [Bits 1-2] 1 'Maximum Compression'0008 Compression Method 0008 'Deflated'000A Last Mod Time 4E2F6B24 'Tue Jan 15 13:25:08 2019'000E CRC F1B115BD0012 Compressed Length 000029040016 Uncompressed Length 0000E2A5001A Filename Length 0005001C Extra Length 001C001E Filename 'file1'0023 Extra ID #0001 5455 'UT: Extended Timestamp'0025 Length 00090027 Flags '03 mod access'0028 Mod Time 5C3E2584 'Tue Jan 15 13:25:08 2019'002C Access Time 5C3E27BB 'Tue Jan 15 13:34:35 2019'0030 Extra ID #0002 7875 'ux: Unix Extra Type 3'0032 Length 000B0034 Version 010035 UID Size 040036 UID 000003E8003A GID Size 04003B GID 000003E8003F PAYLOAD2943 LOCAL HEADER #2 04034B502947 Extract Zip Spec 14 '2.0'2948 Extract OS 00 'MS-DOS'2949 General Purpose Flag 0001 [Bit 0] 1 'Encryption' [Bits 1-2] 1 'Maximum Compression'294B Compression Method 0008 'Deflated'294D Last Mod Time 4E2F6C56 'Tue Jan 15 13:34:44 2019'2951 CRC EC2145692955 Compressed Length 000029132959 Uncompressed Length 0000E635295D Filename Length 0005295F Extra Length 001C2961 Filename 'file2'2966 Extra ID #0001 5455 'UT: Extended Timestamp'2968 Length 0009296A Flags '03 mod access'296B Mod Time 5C3E27C4 'Tue Jan 15 13:34:44 2019'296F Access Time 5C3E27BD 'Tue Jan 15 13:34:37 2019'2973 Extra ID #0002 7875 'ux: Unix Extra Type 3'2975 Length 000B2977 Version 012978 UID Size 042979 UID 000003E8297D GID Size 04297E GID 000003E82982 PAYLOAD5295 CENTRAL HEADER #1 02014B505299 Created Zip Spec 1E '3.0'529A Created OS 03 'Unix'529B Extract Zip Spec 14 '2.0'529C Extract OS 00 'MS-DOS'529D General Purpose Flag 0001 [Bit 0] 1 'Encryption' [Bits 1-2] 1 'Maximum Compression'529F Compression Method 0008 'Deflated'52A1 Last Mod Time 4E2F6B24 'Tue Jan 15 13:25:08 2019'52A5 CRC F1B115BD52A9 Compressed Length 0000290452AD Uncompressed Length 0000E2A552B1 Filename Length 000552B3 Extra Length 001852B5 Comment Length 000052B7 Disk Start 000052B9 Int File Attributes 0001 [Bit 0] 1 Text Data52BB Ext File Attributes 81B4000052BF Local Header Offset 0000000052C3 Filename 'file1'52C8 Extra ID #0001 5455 'UT: Extended Timestamp'52CA Length 000552CC Flags '03 mod access'52CD Mod Time 5C3E2584 'Tue Jan 15 13:25:08 2019'52D1 Extra ID #0002 7875 'ux: Unix Extra Type 3'52D3 Length 000B52D5 Version 0152D6 UID Size 0452D7 UID 000003E852DB GID Size 0452DC GID 000003E852E0 CENTRAL HEADER #2 02014B5052E4 Created Zip Spec 1E '3.0'52E5 Created OS 03 'Unix'52E6 Extract Zip Spec 14 '2.0'52E7 Extract OS 00 'MS-DOS'52E8 General Purpose Flag 0001 [Bit 0] 1 'Encryption' [Bits 1-2] 1 'Maximum Compression'52EA Compression Method 0008 'Deflated'52EC Last Mod Time 4E2F6C56 'Tue Jan 15 13:34:44 2019'52F0 CRC EC21456952F4 Compressed Length 0000291352F8 Uncompressed Length 0000E63552FC Filename Length 000552FE Extra Length 00185300 Comment Length 00005302 Disk Start 00005304 Int File Attributes 0001 [Bit 0] 1 Text Data5306 Ext File Attributes 81B40000530A Local Header Offset 00002943530E Filename 'file2'5313 Extra ID #0001 5455 'UT: Extended Timestamp'5315 Length 00055317 Flags '03 mod access'5318 Mod Time 5C3E27C4 'Tue Jan 15 13:34:44 2019'531C Extra ID #0002 7875 'ux: Unix Extra Type 3'531E Length 000B5320 Version 015321 UID Size 045322 UID 000003E85326 GID Size 045327 GID 000003E8532B END CENTRAL HEADER 06054B50532F Number of this disk 00005331 Central Dir Disk no 00005333 Entries in this disk 00025335 Total Entries 00025337 Size of Central Dir 00000096533B Offset to Central Dir 00005295533F Comment Length 0000Done

zipgrep命令

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

$ zipgrep hazard twofiles.zip file1[twofiles.zip] file1 password:Certain pesticides should be banned since they are hazardous to the environment.

zipinfo 命令

zipinfo 命令提供有关压缩文件内容的信息,无论是否加密。这包括文件名、大小、日期和权限。$ zipinfo twofiles.zipArchive: twofiles.zipZip file size: 21313 bytes, number of entries: 2-rw-rw-r-- 3.0 unx 58021 Tx defN 19-Jan-15 13:25 file1-rw-rw-r-- 3.0 unx 58933 Tx defN 19-Jan-15 13:34 file22 files, 116954 bytes uncompressed, 20991 bytes compressed: 82.1%

zipnote 命令

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

$ zipnote twofiles.zip@ file1@ (comment above this line)@ file2@ (comment above this line)@ (zip file comment below this line)

如果要添加注释,请先将 zipnote 命令的输出写入到文件:$ zipnote twofiles.zip > comments

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

$ zipnote -w twofiles.zip < comments

zipsplit 命令

当归档文件太大时,可以使用 zipsplit 命令将一个 zip 归档文件分解为多个 zip 归档文件,这样你就可以将其中某一个文件放到小型 U 盘中。最简单的方法似乎是为每个部分的压缩文件指定最大大小,此大小必须足够大以容纳最大的所包含的文件。$ zipsplit -n 12000 twofiles.zip2 zip files will be made (100% efficiency)creating: twofile1.zipcreating: twofile2.zip$ ls twofile*.zip-rw-rw-r-- 1 shs shs 10697 Jan 15 14:52 twofile1.zip-rw-rw-r-- 1 shs shs 10702 Jan 15 14:52 twofile2.zip-rw-rw-r-- 1 shs shs 21377 Jan 15 14:27 twofiles.zip

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

总结

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

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

  1. linux 解压所有以zip结尾的文件_在 Linux 上压缩文件:zip 命令的各种变体及用法...

    除了压缩和解压缩文件外,你还可以使用 zip 命令执行许多有趣的操作.这是一些其他的 zip 选项以及它们如何提供帮助. -- Sandra Henry-stocker(作者) 为了节省一些磁盘空间并 ...

  2. linux 上plsql命令_在 Linux 上压缩文件:zip 命令的各种变体及用法 | Linux 中国

    除了压缩和解压缩文件外,你还可以使用 zip 命令执行许多有趣的操作.这是一些其他的 zip 选项以及它们如何提供帮助.-- Sandra Henry-stocker 为了节省一些磁盘空间并将文件打包 ...

  3. linux登录百度网盘下载上传文件

    这里写自定义目录标题 linux登录百度网盘下载上传文件 linux登录百度网盘下载上传文件 参考一下的三个地址: 1.https://blog.csdn.net/huojiahui22/articl ...

  4. 云服务器文件导入,将电脑上的文件导入云服务器

    将电脑上的文件导入云服务器 内容精选 换一换 设置"云服务器名称".名称可自定义,但需符合命名规则:只能由中文字符.英文字母.数字及"_"."-&qu ...

  5. ftp服务器上传文件不行,ftp服务器上传文件不行

    ftp服务器上传文件不行 内容精选 换一换 本文介绍如何在 Linux 系统的本地机器上使用 FTP 服务,将文件从本地上传到云服务器中.已在待上传文件的云服务器中搭建 FTP 服务.如果您的云服务器 ...

  6. 个人上传文件进服务器,个人上传文件进服务器

    个人上传文件进服务器 内容精选 换一换 安装传输工具在本地主机和Windows云服务器上分别安装数据传输工具,将文件上传到云服务器.例如QQ.exe.在本地主机和Windows云服务器上分别安装数据传 ...

  7. 上传文件按钮美化,上传文件前后状态控制

    我们在做input文本上传的时候,html自带的上传按钮比较丑,如何对其进行美化呢?同理:input checkbox美化,input radio美化是一个道理的. input file上传按钮的美化 ...

  8. html 保存文件指定路径,78.上传文件及在服务器保存文件到任意路径

    上传文件到服务器是一个常用的操作,而在服务器上保存文件就需要多多用心了.因为你不可能只在一个路径里保存文件,所以需要实践一下保存文件到任意位置.当然,前提是你的应用程序有这样的操作权限. 首先建立一个 ...

  9. 爬虫之上传文件,request如何上传文件

    爬虫之上传文件,request如何上传文件,当我们遇到需要上传文件的接口时,如何破解上传文件的密码呢? 如图,文件的参数名files[],传输多张图片,那如何用python实现呢? 1.方法1:使用r ...

  10. nginx 限制文件上传速度_nginx上传文件速度慢 Nginx上传文件全部缓存解决方案 - 硬件设备 - 服务器之家...

    nginx上传文件速度慢 Nginx上传文件全部缓存解决方案 发布时间:2017-03-09 来源:服务器之家 下面通过文字说明给大家详解Nginx上传文件全部缓存解决方案. 因为应用服务器(Jett ...

最新文章

  1. JAVA_IO流四大家族(2)
  2. 一个很SB的方法,来开始调一个刚启动就SB的程序
  3. C语言实现词典编排算法(附完整源码)
  4. 婚礼答谢宴ppt模板_女儿结婚请柬制作 女儿结婚宴会邀请函模板免费
  5. linux中创建目录树,如何在C/Linux中创建目录树?
  6. 多语言应用开发中本地化信息对照表
  7. 简明Python教程学习笔记_8_异常
  8. Dubbo(十三)dubbo的负载均衡配置策略
  9. nodejs文件写入
  10. 单通道GNSS模拟器行业调研报告 - 市场现状分析与发展前景预测(2021-2027年)
  11. [转]CocoaChina上一位工程师整理的开发经验(非常nice)
  12. xp-80c打印机无法打印_6种方法解决打印机无法打印问题
  13. 用c语言实现打印日历
  14. CSR867x — CSR蓝牙开发调试经验
  15. DNS 报文结构和个人 DNS 解析代码实现——解决 getaddrinfo() 阻塞问题
  16. Android 屏幕旋转流程分析
  17. docker安装xware 实现迅雷远程下载
  18. 跨境电商o2o模式的表现形式有哪些?
  19. dvwa上传php文件,DVWA之文件上传漏洞
  20. 小红书最新的内容趋势是什么?

热门文章

  1. html5防止屏幕休眠,防止休眠或屏幕关闭插件
  2. python做一个qq聊天窗口_python实现qq聊天(带界面)
  3. linux系统安装文网卫士,360主机卫士 linux版的安装/使用/卸载 方法
  4. i7 1165g7和i7 10510u哪个好
  5. android十进制转十六进制算法,十进制转十六进制计算器
  6. linux 两个序列比对,Clustal:多序列比对分析、序列同源性分析
  7. 华北电力计算机类哪个专业好,华北电力大学哪个专业好就业
  8. 2台计算机网线连接无法ping通,两台电脑PING不通怎么办?
  9. 萨姆休斯顿州立大学计算机专业,萨姆休斯顿州立大学排名在2020年USNEWS美国最佳综合大学排名第281...
  10. Leetcode之Teemo Attacking 问题