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 |
帮助信息 |
-h2 | --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、退出码
0,正常,没有错误。
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、例子代码
|
7、实例
1)压缩文件
|
2)给压缩文件添加、删除内容
|
3)压缩时设置密码
|
Linux基础命令---zip的更多相关文章
- 常用的linux基础命令
常用的linux基础命令 1.ls 显示目录属性 -l:(也可以简写成ll),列表显示权限等属性 -a:显示所有文件包括隐藏文件等 -d:只列出目录本身 2.chgrp 改变档案所属群组 eg:chg ...
- [转帖]linux常用命令大全(linux基础命令入门到精通+实例讲解+持续更新+命令备忘录+面试复习)
linux常用命令大全(linux基础命令入门到精通+实例讲解+持续更新+命令备忘录+面试复习) https://www.cnblogs.com/caozy/p/9261224.html 总结的挺好的 ...
- Linux基础命令小结(超全!!)
Linux目录结构 1.bin 存放经常使用的指令比如ll,cp 2.sbin 系统管理员使用的系统管理指令 3.home 存放普通用户的住目录 4.root 系统管理员的用户主目录 5.boot 存 ...
- Linux基础命令整合
linux基础命令整理 1.系统相关命令 shutdown -h now 关闭系统(1) init 0 关闭系统(2) telinit 0 关闭系统(3) shutdown -h hours:minu ...
- 第四节,Linux基础命令
第四节,Linux基础命令 命令是系统操作员对系统传入的指令,传入指令后回车,系统接收到指令做出相应的行为 1.查看用户位于系统什么位置 [pmd]检查操作用户位于系统的什么位置 命令 ...
- 【Python之路】第一篇--Linux基础命令
pwd 命令 查看”当前工作目录“的完整路径 pwd -P # 显示出实际路径,而非使用连接(link)路径:pwd显示的是连接路径 . 表示当前目录 .. 表示上级目录 / 表示根目录 ls ...
- linux基础命令学习笔记(二)
linux基础命令学习笔记(二) 1.kill :终止进程 kill pid (唯一标示一个进程) kill -9 强制终止 kill -15 命令未结束不能终止 # ps aux 查看所有进程 ...
- 2.Linux基础命令
linux内一切皆文件,没有文件夹只有目录,目录也是一种文件 1.一些常用按键: 将鼠标的光标从虚拟机里切换回来:Ctrl+Alt 拖动Ubuntu内的对话框:Alt键+鼠标左键拖动 清屏:Ctrl+ ...
- linux基础命令一
linux基础命令一 1.date命令 date命令介绍:显示或者设置系统日期 date命令的语法: 显示日期:date [options...] [+FORMAT] FORMAT:为显示日期的格 ...
随机推荐
- Unity3D笔记 英保通五 鼠标事件与GUI系统双击检测
一.如何使用GUI事件来检测鼠标是否按下的事件: 获取当前事件:var e:Event=Event.current: using UnityEngine; using System.Collectio ...
- 神奇的thrust::device_vector与nvcc编译选项
在C++的GPU库thrust中,有两种vector thrust::device_vector<int> D; //GPU使用的内存中的向量 thrust::host_vector< ...
- 集成maven和Spring boot的profile 专题
maven中配置profile节点: <project> .... <profiles> <profile> <!-- 生产环境 --> <id& ...
- vue--拖动排序
https://blog.csdn.net/jx950915/article/details/79803485?from=singlemessage
- APM飞控的使用心得
硬件资源:APM,F450四轴机架,大疆电调和电机,富斯i6控和接收机. 刚开始的步骤都是大同小异,首先可以按照这个链接上面的步骤一步步的执行:http://tieba.baidu.com/p/297 ...
- 9.10Django模板
2018-9-10 16:37:29 模板就一个 不能嵌套 模板: http://www.cnblogs.com/liwenzhou/p/7931828.html 2018-9-10 21:23:3 ...
- Nginx限制IP访问及获取客户端realip实战
做网站时经常会用到remote_addr和x_forwarded_for这两个头信息来获取客户端的IP,然而当有反向代理或者CDN的情况下,这两个值就不够准确了,需要调整一些配置.Nginx作为web ...
- Python之logging日志模块
logging 用于便捷既然日志切线程安全的模块 vim log_test.py import logging logging.basicConfig(filename='log.log', form ...
- Cow Contest---poj3660
题目链接:http://poj.org/problem?id=3660 题意:有n头牛,m个关系,a b意思是a能打败b:求能确定排名的有几个: 如果一头牛被x头牛打败,并且可以打败y头牛,如果x+y ...
- IO流(1)File类构造方法
构造方法: * File(String pathname):根据一个路径得到File对象 * File(String parent, String child):根据一个目录和一个子文件/目录得到Fi ...