zip文件命令 linux,在Linux上压缩文件:zip命令的各种变体及用法
除了压缩和解压缩文件外,你还可以使用 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命令的各种变体及用法相关推荐
- linux 压缩根目录文件,Linux操作系统下如何压缩文件? zip压缩命令使用
Linux zip命令用于压缩文件. zip是个使用广泛的压缩程序,文件经它压缩后会另外产生具有".zip"扩展名的压缩文件. 在linux操作系统中,使用zip命令进行文件压缩时 ...
- linux 压缩文件小,技术|在 Linux 上压缩文件的 5 种方法
在 Linux 系统上有很多可以用于压缩文件的工具,但它们的表现并不都是一样的,也不是所有的压缩效果都是一样的.在这篇文章中,我们比较其中的五个工具. 在 Linux 上有不少用于压缩文件的命令.最新 ...
- linux将一段时间内文件压缩,在 Linux 上压缩文件的 5 种方法
在 Linux 上压缩文件的 5 种方法时间:2020-05-07 11:18 浏览次数: 发布者:润天教育 来源:金信润天 0 在 Linux 上有不少用于压缩文件的命令.最新最有效的一 ...
- Linux 解压,压缩文件--tar 命令
其实在Linux中,有许多种解压,压缩文件的命令,本博客介绍 tar 命令 如果Linux 系统不能运行tar 命令的朋友,先安装一下: 1)安装 1.apt-get 方式安装: sudo apt-g ...
- linux 学习笔记 显示压缩文件 gong.zip 的文件内容
#zip -v gong zip zip info: xxx >删除压缩文件中俄smart.txt 文件 #zip -d gong.zip smart.txt deleting:smart.tx ...
- linux ftp 解压缩命令,常用五种Linux环境中的压缩和解压命令示范 | OPS技术联盟
我们在使用云服务器的时候,压缩命令是常用的,虽然我们通过FTP工具慢慢将文件拖动到本地,但是如果我们的文件比较大,甚至有遇到文件几个G的,如果慢慢的拖动下来可能担心文件丢失或者不完整,最为是一个个下载 ...
- linux好压iso压缩文件,好压压缩文件管理器新手指南
好压压缩文件管理器:下载地址 好压HaoZip的控制台 一.ZIP.7Z与 TAR 格式 好压软件 可以创建三种不同的压缩文件格式: ZIP.7Z 和 TAR.下面是每一种格式的优点叙述 : ...
- qt在linux系统下实现压缩文件
简述 编程进行文件压缩一般有三种方法: 一是使用zlib的C++开源源码: 二是使用Quazip动态库: 三就是在子进程中使用第三方软件. 由于我在windows中开发qt程序时已经使用过了zlib源 ...
- mac 命令行 解压7z文件_如何在Mac上快速压缩和解压文件?Mac上解压和压缩文件的方法...
苹果mac电脑怎么压缩和解压文件?Mac电脑仅默认支持把文件压缩成zip格式,解压成zip.tar.gz,bz2等格式,有些操作需要安装第三方软件来完成,这篇文章为大家带来几种关于在Mac上解压和压缩 ...
- Linux怎样返回上一层目录的命令:
Linux怎样返回上一层目录的命令: 回到上一级目录:cd- 回到上一次目录:cd-(可穿越多层) vi指令进入的文件如何退出: 按下[ESC] 输入":"冒号,再输入wq!代表保 ...
最新文章
- AJAXA进行分页(2)
- 数据结构和算法基础之冒泡排序
- 前端学习(488):文本标签
- 2020年深度学习调参技巧合集
- char 数组和 int 之间转化
- 在线批量将gps经纬度坐标转换为百度经纬度坐标
- 2019-数学建模美赛-B题翻译
- Phaserjs基础教程第二节:加载图片、文字和动画
- 博途v15 固件升级包_使用博途TIA 15.1对SIMATIC S7-1200进行硬件组态和固件版本在线升级(博途V15和1200学习笔记一)...
- 大于号html语言怎么写,在HTML中使用大于号、小于号、空格等字符
- 什么是资本运营的核心?
- 人工智能(AI)如何彻底改变项目管理
- dellt130服务器做系统,戴尔Dell R330;T130安装系统后键盘鼠标不能使用
- 公司名称注册,公司名称查询,企业名称注册事项
- Solr之Facet与FacetPivot的使用和区别
- 无法获取链接服务器 XXX 的 OLE DB 访问接口 SQLNCLI10 的架构行集 DBSCHEMA_TABLES_INFO。该访问接口支持该接口,但使用该接口时返回了失败代码。...
- Collections、Set、Map、斗地主排序
- Nodejs 使用 Buffer 将图片转为 base64
- uni-app系列(二):uniapp 项目引入 uView 并简单使用
- 计算机作品画图板软件四年级,四年级计算机《用画图软件画画》.doc