在 Linux 上压缩文件:zip 命令的各种变体及用法 | Linux 中国
发布时间:2022-10-13 13:09:49 所属栏目:Linux 来源:
导读: 示例:
$ gzip onefile
$ ls-l
-rw-rw-r--1 shs shs 10514Jan1513:13 onefile.gz
而下面是zip。请注意,此命令要求为压缩存档提供名称,其中gzip(执行压缩操作后)仅使用原始文
$ gzip onefile
$ ls-l
-rw-rw-r--1 shs shs 10514Jan1513:13 onefile.gz
而下面是zip。请注意,此命令要求为压缩存档提供名称,其中gzip(执行压缩操作后)仅使用原始文
|
示例: $ gzip onefile $ ls-l -rw-rw-r--1 shs shs 10514Jan1513: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 58021Jan1513:25 file1 -rw-rw-r--1 shs shs 58933Jan1513:34 file2 -rw-rw-r--1 shs shs 21289Jan1513: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.zip Archive: twofiles.zip inflating: file1 inflating: file2 $ ls-l -rw-rw-r--1 shs shs 58021Jan1513:25 file1 -rw-rw-r--1 shs shs 58933Jan1513:34 file2 -rw-rw-r--1 shs shs 21289Jan1513:35 twofiles.zip zipcloak 命令 zipcloak命令对一个 zip 文件进行加密,提示你输入两次密码(以确保你不会“胖手指”),然后将该文件原位存储。你可以想到,文件大小与原始文件会有所不同。 $ zipcloak twofiles.zip Enter password: Verify password: encrypting: file1 encrypting: file2 $ ls-l total 204 -rw-rw-r--1 shs shs 58021Jan1513:25 file1 -rw-rw-r--1 shs shs 58933Jan1513:34 file2 -rw-rw-r--1 shs shs 21313Jan1513:46 twofiles.zip unencrypted version 请记住,压缩包之外的原始文件仍处于未加密状态。 zipdetails 命令 zipdetails命令将向你显示详细信息:有关压缩文件的详细信息,可能比你想象的要多得多。即使我们正在查看一个加密的文件,zipdetails也会显示文件名以及文件修改日期、用户和组信息、文件长度数据等。请记住,这都是“元数据”。我们看不到文件的内容。 $ zipdetails twofiles.zip 0000 LOCAL HEADER #104034B50 0004ExtractZipSpec14'2.0' 0005Extract OS 00'MS-DOS' 0006GeneralPurposeFlag0001 [Bit0]1'Encryption' [Bits1-2]1'Maximum Compression' 0008CompressionMethod0008'Deflated' 000ALastModTime4E2F6B24'Tue Jan 15 13:25:08 2019' 000E CRC F1B115BD 0012CompressedLength00002904 0016UncompressedLength0000E2A5 001AFilenameLength0005 001CExtraLength001C 001EFilename'file1' 0023Extra ID #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' 0030Extra ID #00027875'ux: Unix Extra Type 3' 0032Length000B 0034Version01 0035 UID Size04 0036 UID 000003E8 003A GID Size04 003B GID 000003E8 003F PAYLOAD 2943 LOCAL HEADER #204034B50 2947ExtractZipSpec14'2.0' 2948Extract OS 00'MS-DOS' 2949GeneralPurposeFlag0001 [Bit0]1'Encryption' [Bits1-2]1'Maximum Compression' 294BCompressionMethod0008'Deflated' 294DLastModTime4E2F6C56'Tue Jan 15 13:34:44 2019' 2951 CRC EC214569 2955CompressedLength00002913 2959UncompressedLength0000E635 295DFilenameLength0005 295FExtraLength001C 2961Filename'file2' 2966Extra ID #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' 2973Extra ID #00027875'ux: Unix Extra Type 3' 2975Length000B 2977Version01 2978 UID Size04 2979 UID 000003E8 297D GID Size04 297E GID 000003E8 2982 PAYLOAD 5295 CENTRAL HEADER #102014B50 5299CreatedZipSpec1E'3.0' 529ACreated OS 03'Unix' 529BExtractZipSpec14'2.0' 529CExtract OS 00'MS-DOS' 529DGeneralPurposeFlag0001 [Bit0]1'Encryption' [Bits1-2]1'Maximum Compression' 529FCompressionMethod0008'Deflated' 52A1LastModTime4E2F6B24'Tue Jan 15 13:25:08 2019' 52A5 CRC F1B115BD 52A9CompressedLength00002904 52ADUncompressedLength0000E2A5 52B1FilenameLength0005 52B3ExtraLength0018 52B5CommentLength0000 52B7DiskStart0000 52B9IntFileAttributes0001 [Bit0]1TextData 52BBExtFileAttributes81B40000 52BFLocalHeaderOffset00000000 52C3Filename'file1' 52C8Extra ID #00015455'UT: Extended Timestamp' 52CALength0005 52CCFlags'03 mod access' 52CDModTime5C3E2584'Tue Jan 15 13:25:08 2019' 52D1Extra ID #00027875'ux: Unix Extra Type 3' 52D3Length000B 52D5Version01 52D6 UID Size04 52D7 UID 000003E8 52DB GID Size04 52DC GID 000003E8 52E0 CENTRAL HEADER #202014B50 52E4CreatedZipSpec1E'3.0' 52E5Created OS 03'Unix' 52E6ExtractZipSpec14'2.0' 52E7Extract OS 00'MS-DOS' 52E8GeneralPurposeFlag0001 [Bit0]1'Encryption' [Bits1-2]1'Maximum Compression' 52EACompressionMethod0008'Deflated' 52ECLastModTime4E2F6C56'Tue Jan 15 13:34:44 2019' 52F0 CRC EC214569 52F4CompressedLength00002913 52F8UncompressedLength0000E635 52FCFilenameLength0005 52FEExtraLength0018 5300CommentLength0000 5302DiskStart0000 5304IntFileAttributes0001 [Bit0]1TextData 5306ExtFileAttributes81B40000 530ALocalHeaderOffset00002943 530EFilename'file2' 5313Extra ID #00015455'UT: Extended Timestamp' 5315Length0005 5317Flags'03 mod access' 5318ModTime5C3E27C4'Tue Jan 15 13:34:44 2019' 531CExtra ID #00027875'ux: Unix Extra Type 3' 531ELength000B 5320Version01 5321 UID Size04 5322 UID 000003E8 5326 GID Size04 5327 GID 000003E8 532BEND CENTRAL HEADER 06054B50 532FNumber of this disk 0000 5331CentralDirDiskno0000 5333Entriesinthis disk 0002 5335TotalEntries0002 5337Size of CentralDir00000096 533BOffset to CentralDir00005295 533FCommentLength0000 Done 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.zip Archive: twofiles.zip Zipfilesize:21313 bytes, number of entries:2 -rw-rw-r--3.0 unx 58021Tx defN 19-Jan-1513:25 file1 -rw-rw-r--3.0 unx 58933Tx defN 19-Jan-1513:34 file2 2 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) 如果要添加注释linux压缩,请先将zipnote命令的输出写入到文件: $ zipnote twofiles.zip > comments 接下来,编辑你刚刚创建的文件,将注释插入到(comment above this line)行上方。然后使用像这样的zipnote命令添加注释: $ zipnote -w twofiles.zip zipsplit 命令 当归档文件太大时,可以使用zipsplit命令将一个 zip 归档文件分解为多个 zip 归档文件,这样你就可以将其中某一个文件放到小型 U 盘中。最简单的方法似乎是为每个部分的压缩文件指定最大大小,此大小必须足够大以容纳最大的所包含的文件。 $ zipsplit -n 12000 twofiles.zip 2 zip files will be made (100% efficiency) creating: twofile1.zip creating: twofile2.zip $ ls twofile*.zip -rw-rw-r--1 shs shs 10697Jan1514:52 twofile1.zip -rw-rw-r--1 shs shs 10702Jan1514:52 twofile2.zip -rw-rw-r--1 shs shs 21377Jan1514:27 twofiles.zip 请注意,提取的文件是如何依次命名为twofile1和twofile2的。 (编辑:云计算网_汕头站长网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
站长推荐


浙公网安备 33038102330478号