加入收藏 | 设为首页 | 会员中心 | 我要投稿 云计算网_汕头站长网 (https://www.0754zz.com/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 服务器 > 搭建环境 > Linux > 正文

在 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(执行压缩操作后)仅使用原始文件名并添加.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的。
 

(编辑:云计算网_汕头站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!