我的编程空间,编程开发者的网络收藏夹
学习永远不晚

Linux基础命令---zip

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

Linux基础命令---zip

zip

zip是一种最通用的文件压缩方式,使用于unix、msdos、windows、OS等系统。如果在编译zip时包含bzip 2库,zip现在也支持bzip 2压缩。当将大于4GB的文件添加到存档中时,zip会自动使用Zip 64扩展名,包含Zip 64条目的归档将被更新(如果结果的归档仍然需要Zip 64),归档的大小将超过4GB,或者当归档中的条目数超过64K时。Zip 64也用于从标准输入中传输的档案,因为事先不知道这些档案的大小,但是选项fz可以用来强制zip创建与PKZIP 2兼容的档案(只要不需要Zip 64扩展)。必须使用PKZIP4.5兼容解压缩,例如解压缩6.0或更高版本,才能使用Zip 64扩展名提取文件。

zip程序将一个或多个压缩文件与有关文件的信息(名称、路径、日期、上次修改的时间、保护和检查信息以验证文件完整性)一起放入一个压缩存档中。可以使用一个命令将整个目录结构打包到zip存档中。对于文本文件来说,压缩比为2:1和3:1是常见的。zip只有一种压缩方法(通缩),并且可以在不压缩的情况下存储文件。(如果添加了bzip 2支持,zip也可以使用bzip 2压缩,但这些条目需要一个合理的现代解压缩来解压缩。当选择bzip 2压缩时,它将通货紧缩替换为默认方法。)zip会自动为每个要压缩的文件选择更好的两个文件(通缩或存储,如果选择bzip2,则选择bzip2或Store)。

此命令的适用范围:RedHat、RHEL、Ubuntu、CentOS、SUSE、openSUSE、Fedora。

1、语法

zip [选项]  zipfile list 

 

2、选项列表

选项

说明

-? | -h | --help

帮助信息

-h3 | --more-help

显示扩展帮助,包括更多关于命令行格式、模式匹配和更模糊的选项。

-V | --version

显示命令版本信息

-a | --ascii

将系统使用的EBCDIC文件转换为ascii

-A | --adjust-sfx

调整自解压可执行档案。自解压缩的可执行存档是通过将SFX存根放在现有存档的前面创建的。-A选项告诉zip调整存储在归档中的条目偏移量,以考虑到这些“序言”数据。

-b path  |  --temp-path path

为临时zip归档使用指定的路径

-B | --binary

使用二进制格式,默认是文本格式

-c | --entry-comments

给被压缩的文件加上注释信息

-d | --delete

将指定的文件从压缩文件中删除

-db | --display-bytes

显示正在运行的字节计数,显示压缩的字节和要运行的字节。

-dc | --display-counts

显示已压缩的条目的运行计数和要运行的条目

-dd | --display-dots

在每个条目被拉链时显示点(除了在具有自己的进度指示器的端口上)。见下面的设置点大小-DS。默认情况下,每处理10 MB的输入文件就有一个点。-v选项还显示点(以前的速率比这个高得多,但现在-v也默认为10 MB),这个速率也是由-ds控制的。

-dg | --display-globaldots

显示存档的进度点,而不是为每个文件显示进度点。

-ds size | --dot-size size

设置为显示的每个点处理的输入文件的数量。尺寸为nm格式,其中n是一个数字,m是一个乘数。目前m可以是k(KB),m(MB),g(GB),或者t(TB),所以如果n是100,m是k,那么大小将是100 k,即100 KB。默认值为10 MB。

-du | --display-usize

显示每个条目的未压缩大小。

-dv | --display-volume

显示正在读取的每个条目的卷(磁盘)号,如果读取现有存档,并将其写入

-D | --no-dir-entries

不要在zip存档中为目录创建条目。

-DF | --difference-archive

创建一个包含自原始存档创建以来所有新的和已更改的文件的归档文件。

-e | --encrypt

压缩文件加密

-f | --freshen

替代压缩文件中的旧文件,如果文件不存在,那么不会追加文件

-F | --fix | -FF | --fixfix

尝试修复已经损坏的压缩文件

-FI | --fifo

通常zip会跳过读取遇到的任何FIFO(命名管道),因为如果FIFO没有被喂入,zip就会挂起。

-FS | --filesync

将存档的内容与操作系统上的文件同步

-g | --grow

将文件追加到已经存在的压缩文件结尾

-i | --include

仅包含指定的文件

-j | --junk-paths

压缩的时候,忽略文件名中的路径,只保存文件名和内容

-J | --junk-sfx

从存档中删除任何预置的数据

-i | --include

只包含指定的文件

-la | --log-append

附加到现有日志文件。默认值是覆盖

-lf | --logfile-path

在给定路径上打开日志文件。默认情况下,该位置的任何现有文件都会被覆盖

-li | --log-info

在日志中包含信息消息,例如正在压缩的文件名。默认情况下,只包含命令行、任何警告和错误以及最终状态。

-L | --license

显示zip的许可证

-m | --move

将指定的文件移动到压缩文件

-MM | --must-match

所有输入模式必须至少匹配一个文件,所有找到的输入文件必须是可读的。

-n | --suffixes

不要尝试压缩以给定后缀命名的文件。

-nw | --no-wild

不要执行内部通配符处理。

-o | --latest-time

将zip归档的“最后修改”时间设置为在zip归档中的条目中找到的最新(最老的)“最后修改”时间。

-O | --output-file

像往常一样处理归档更改,但不是更新现有存档,而是将新存档输出到输出文件。

-p | --path

将相对文件路径作为存储在存档中的文件名称的一部分

-P | --password

加密

-q | --quite

静默模式,不显示执行过程

-r | --recurse-paths

压缩的时候,递归处理目录

-R | --recurse-patterns

递归遍历目录结构,从当前目录开始。

-s | --split-size

启用创建拆分存档并设置拆分大小

-sb | --split-bell

如果拆分并使用拆分暂停模式,则在zip对每个拆分目标暂停时按下铃声。

-sc | --show-command

显示已处理并退出的启动zip的命令行

-sf | --show-files

显示要操作的文件,然后退出。

-so | --show-options

显示在当前系统上编译的zip支持的所有可用选项

-sp | --split-pause

如果使用-s启用拆分,则启用拆分暂停模式

-su | --show-unicode

和-sf一样,如果存在,还会显示路径的unicode版本

-sU | --show-just-unicode

和-sf一样,仅显示路径的Unicode版本(如果存在),否则显示路径的标准版本。

-sv | --split-verbose

在拆分时启用各种详细的消息,显示拆分是如何进行的。

-t mmddyyyy | --from-date mmddyyyy

不要对在指定日期之前修改的文件进行操作,其中mm是月份(00-12),dd是月份的日期(01-31),yyyy是年。

-T | --test

测试新zip文件的完整性。如果检查失败,旧的zip文件将保持不变,并且(使用-m选项)不会删除输入文件。

-TT | --unzip-command

当使用-T选项时,使用命令cmd而不是“unzip-tqq”来测试存档。

-U | --copy-entries

将条目从一个存档复制到另一个存档。

-u | --update

更新文件,不存在的时候,直接追加。仅当zip存档中的现有条目比zip存档中的版本修改得更近时,才替换(更新)它。

-UN | --unicode

确定zip应该如何处理unicode文件名

-x | --exclude

压缩时不包含指定的文件

-y

压缩时直接保存符号链接

-v | --verbose

显示执行过程

-ws | --wild-stop-dirs

通配符仅在目录级别匹配。

-#

使用指定的数字#调整压缩速度,其中-0表示没有压缩(存储所有文件),-1表示最快的压缩速度(压缩较少),-9表示最慢的压缩速度(最佳压缩,忽略后缀列表)。默认的压缩级别是-6

-@ | --names-stdin

从标准输入中获取输入文件列表。每行只有一个文件名。

 

4、模式匹配

,匹配任意单个字符

*,匹配任意多个字符

[]匹配括号内所示范围内的任何字符(例如:[a-f],[0-9])。

 

5、退出码

,正常,没有错误。

2,压缩文件的意外结束。

3,检测到zip文件格式中的通用错误。

4,在程序初始化期间,zip无法为一个或多个缓冲区分配内存。

5,检测到zip文件格式出现严重错误。

6,条目太大,无法处理(例如,不使用Zip 64或试图读取现有存档太大时,输入文件大于2GB)或条目太大,不能用zip拆分。

7,无效注释格式。

8,zip-T失败或内存不足。

9,用户使用Control-C(或类似的)过早中止zip。

10,使用临时文件时,zip遇到了一个错误。

11,读取或查找错误。

12,zip无事可做。

13,丢失或空压缩文件。

14,写入文件时出错。

15,zip无法创建要写入的文件。

16,坏命令行参数。

18,zip无法打开要读取的指定文件。

19,在此系统中不支持的选项编译了zip。

 

6、例子代码

创建存档stuff.zip(假设它不存在),并以压缩形式将所有文件放在当前目录中(.zip后缀自动添加,除非存档名称已经包含一个点;这允许明确说明其他后缀)

zip  stuff  *

zip  stuff  .* *

压缩整个目录。创建存档foo.zip,其中包含当前目录中包含的目录foo中的所有文件和目录。

zip  -r  foo  foo

您可能希望创建一个包含foo中文件的zip存档,而不记录目录名foo。可以使用-j选项关闭路径,如

zip  -j  foo  foo/*

如果您缺少磁盘空间,您可能没有足够的空间来保存原始目录和相应的压缩归档文件。在这种情况下,您可以使用-m选项分步骤创建归档文件。如果foo包含子目录TomDickHarry。其中,第一个命令创建foo.zip,下两个命令添加到其中。在完成每个zip命令后,最后创建的归档文件将被删除,为下一个zip命令提供工作空间。

zip  -rm  foo  foo/tom

zip  -rm  foo  foo/dick

zip  -rm  foo  foo/harry

使用-s设置拆分大小并创建拆分存档。大小可选地被k(KB)m(MB)g(Gb)t(Tb)之一跟随。创建目录foo的拆分存档,每个分区不大于2GB。如果foo包含5 GB的内容,并且内容未经压缩就存储在拆分存档中(为了使这个示例变得简单),这将创建三个分块,分别是2GBsplit.z012GBsplit.z02和略高于1GBsplit.zip

zip  -s  2g  -r  split.zip  foo

虽然zip不更新拆分档案,但zip提供了新的选项-O(-Output-file),允许更新拆分档案并将其保存在新的存档中。读取归档文件,即使拆分,也会添加foo.cbar.c文件,并将结果存档写入outArchive.zip。如果inArchive.zip是拆分的,那么outArchive.zip默认为相同的拆分大小。请注意,outArchive.zip和使用它创建的任何拆分文件都会在没有警告的情况下被覆盖。这种情况将来可能会改变。

zip  inarchive.zip  foo.c  bar.c  --out  outarchive.zip

 

7、实例

1)压缩文件

[root@localhost weijie]# zip -r res . -i *.c             //压缩当前目录下的所有.c文件

  adding: 11.c (stored 0%)

  adding: 4.c (stored 0%)

  adding: 2.c (deflated 9%)

  adding: 3.c (stored 0%)

  adding: 5.c (deflated 13%)

[root@localhost weijie]# ls

11.c  1.c.gz 2.c  3.c  4.c 5.c  6.c~  res.zip

2)给压缩文件添加、删除内容

[root@localhost weijie]# zip res.zip -g 6.c~          //追加6.c~

  adding: 6.c~ (stored 0%)

[root@localhost weijie]# zip res.zip -d 2.c           //删除2.c

deleting: 2.c

3)压缩时设置密码

[root@localhost weijie]# zip -er res . -i *.c        //设置密码,需要输入两次密码

Enter password: 

Verify password: 

  adding: 11.c (stored 0%)

  adding: 4.c (stored 0%)

  adding: 2.c (deflated 9%)

  adding: 3.c (stored 0%)

  adding: 5.c (deflated 13%)

 

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

Linux基础命令---zip

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

Linux基础命令---zip

zipzip是一种最通用的文件压缩方式,使用于unix、msdos、windows、OS等系统。如果在编译zip时包含bzip 2库,zip现在也支持bzip 2压缩。当将大于4GB的文件添加到存档中时,zip会自动使用Zip 64扩展名,
2023-06-06

Linux基础命令之who命令

  在使用Linux系统的过程中由于一个人可能拥有多个用户名的缘故,往往会造成使用者不知道自己是在哪个用户名下进行的操作。那么我们有没有什么方便快捷的方法来查出我们是在哪个用户名下进行操作呢?为此在本文中编程学习网笔者就为大家介绍Linux中的who命令,让大家能够快速的了解当前使用的用户名。    ①
Linux基础命令之who命令
2024-04-18

Linux基础命令之kill命令

  相信大家在使用Linux的过程中都会遇到过某个程序出错导致系统锁死的情况,按照常规的思维我们会通过重启来重新启动系统。然而事实上在Linux中并不需要进行重启就能够完成出错程序的关闭操作。在Linux中我们可以通过使用"kill"命令来强制终结它。那么到底它的格式语法和作用又是什么呢?在本文中编程学习网笔者就为大家一一
Linux基础命令之kill命令
2024-04-18

Linux基础命令--slabtop

slabtopslabtop实时显示详细的内核板条缓存信息。它显示按所列排序条件之一排序的顶级缓存的列表。它还会显示一个统计信息头,其中填充了板坯层信息。此命令的适用范围:RedHat、RHEL、Ubuntu、CentOS、Fedora、S
2023-06-05

Linux基础命令---csplit

csplit将文件按照指定的模式分割,默认的输出文件名是xx00、xx01、xx02等,指令会显示每个输出文件的大小。此命令的适用范围:RedHat、RHEL、Ubuntu、CentOS、SUSE、openSUSE、Fedora。1、语法c
2023-06-05

Linux基础命令---bzcat

bzcat解压缩被bzip2压缩过的文件,将文件解压到标准输出,此命令只有一个选项-s。该指令对压缩过的二进制文件没有意义,因为二进制文件没有可读性。此命令的适用范围:RedHat、RHEL、Ubuntu、CentOS、SUSE、openS
2023-06-05

Linux基础命令---zcat

zcat解压有gzip压缩的文件,将解压结果送到标准输出。此命令的适用范围:RedHat、RHEL、Ubuntu、CentOS、SUSE、openSUSE、Fedora。1、语法zcat [-fhVL] 文件 2、选项列表选项说明-h |
2023-06-05

Linux基础命令---ar

arar指令可以创建、修改库,也可以从库中提取单个模块。库是一个单独的文件,里面包含了按照特定结构组织起来的其他文件,我们称作member。归档文件通常是一个二进制文件,我们一般将归档文件当作库来使用。原始文件的内容、模式(权限)、时间戳、
2023-06-06

Linux基础命令---comm

comm逐行比较两个已经排序过的文件。结果以3列显示:第1列显示只在file1出现的内容,第2列显示只在file2出现的内容,第3列显示同时出现的内容。此命令的适用范围:RedHat、RHEL、Ubuntu、CentOS、SUSE、open
2023-06-06

Linux基础命令---date

date以给定的格式显示当前的日期,或者设置系统时间。此命令的适用范围:RedHat、RHEL、Ubuntu、CentOS、SUSE、openSUSE、Fedora。1、语法date [选项]。date [+格式]。date -u [参数
2023-06-06

Linux基础命令---mktemp

mktemp创建临时文件或者目录,这样的创建方式是安全的。此命令的适用范围:RedHat、RHEL、Ubuntu、CentOS、SUSE、openSUSE、Fedora。1、语法mktemp [选项] [TEMPLATE] 2、选项列表选
2023-06-06

Linux基础命令- history

Linux基础命令- history 1.history 显示历史命令 作用:用于显示历史记录和执行过的指令命令 当登录shell或者是退出的时候会自动进行读取和存储 1.常用参数 语法:# history 选项 参数#参数-n
2023-08-22

Linux基础命令---mysql

mysqlmysql是一个简单的sql shell,它可以用来管理mysql数据库。此命令的适用范围:RedHat、RHEL、Ubuntu、CentOS、Fedora。 1、语法mysql [options] db 2、参数列表选项说明
2023-06-05

Linux基础命令---apachectl

apachectlapachectl指令是apache http服务器的前端控制程序,可以协助控制apache服务的守护进程httpd。此命令的适用范围:RedHat、RHEL、Ubuntu、CentOS、SUSE、openSUSE、Fed
2023-06-05

Linux基础命令---head

head显示文件开头的几行,默认显示10行,可以使用选项-n来指定行数。此命令的适用范围:RedHat、RHEL、Ubuntu、CentOS、SUSE、openSUSE、Fedora。1、语法head [选项] files
2023-06-06

Linux基础命令---sort

sort以行为单位,对文本文件进行排,并输出排序结果。默认情况下,以每一行为一个单位,从首字符开始按照ASCII码向后逐个比较。此命令的适用范围:RedHat、RHEL、Ubuntu、CentOS、SUSE、openSUSE、Fedora。
2023-06-06

Linux基础命令---more

more将内容较长的文本文件内容分屏显示,支持定位关键字。此命令的适用范围:RedHat、RHEL、Ubuntu、CentOS、SUSE、openSUSE、Fedora。 1、语法more [-dlfpcsu] [-num] [+/pa
2023-06-05

Linux基础命令---gunzip

gunzip解压缩被gzip压缩过的文件。此命令的适用范围:RedHat、RHEL、Ubuntu、CentOS、SUSE、openSUSE、Fedora。1、语法gunzip [-acfhlLnNrtvV] [-S suffix] 文件
2023-06-05

Linux基础命令---gzexe

gzexe压缩可执行文件,在执行程序的时候可以自动实现解压。此命令的适用范围:RedHat、RHEL、Ubuntu、CentOS、SUSE、openSUSE、Fedora。1、语法gzexe file 2、选项列表选项说明--help帮助信
2023-06-06

Linux基础命令---chgrp

chgrp改变文件或者目录所属的群组,使用参数“--reference”,可以改变文件的群组为指定的关联文件群组。此命令的适用范围:RedHat、RHEL、Ubuntu、CentOS、SUSE、openSUSE、Fedora。 1、语法ch
2023-06-06

编程热搜

目录