ThinkChat🤖让你学习和工作更高效,注册即送10W Token,即刻开启你的AI之旅 广告
[TOC] # <span style="font-size:15px">1、将文件压缩为.zip格式</span> ``` zip [-AcdDfFghjJKlLmoqrSTuvVwXyz$] [-b <工作目录>] [-ll] [-n <字尾字符串>] [-t <日期时间>] [-<压缩效率>] [压缩文件] [文件...] [-i <范本样式>][-x <范本样式>] ``` > * \-A 调整可执行的自动解压缩文件。 > * \-b 指定暂时存放文件的目录。 > * \-c 替每个被压缩的文件加上注释。 > * \-d 从压缩文件内删除指定的文件。 > * \-D 压缩文件内不建立目录名称。 > * -e 压缩文件加密 > * \-f 更新现有的文件。 > * \-F 尝试修复已损坏的压缩文件。 > * \-g 将文件压缩后附加在既有的压缩文件之后,而非另行建立新的压缩文件。 > * \-h 在线帮助。 > * \-i 只压缩符合条件的文件。 > * \-j 只保存文件名称及其内容,而不存放任何目录名称。 > * \-J 删除压缩文件前面不必要的数据。 > * \-k 使用MS-DOS兼容格式的文件名称。 > * \-l 压缩文件时,把LF字符置换成LF+CR字符。 > * \-ll 压缩文件时,把LF+CR字符置换成LF字符。 > * \-L 显示版权信息。 > * \-m 将文件压缩并加入压缩文件后,删除原始文件,即把文件移到压缩文件中。 > * \-n 不压缩具有特定字尾字符串的文件。 > * \-o 以压缩文件内拥有最新更改时间的文件为准,将压缩文件的更改时间设成和该文件相同。 > * \-q 不显示指令执行过程。 > * \-r 递归处理,将指定目录下的所有文件和子目录一并处理。 > * \-S 包含系统和隐藏文件。 > * \-t 把压缩文件的日期设成指定的日期。 > * \-T 检查备份文件内的每个文件是否正确无误。 > * \-u 与 -f 参数类似,但是除了更新现有的文件外,也会将压缩文件中的其他文件解压缩到目录中。 > * \-v 显示指令执行过程或显示版本信息。 > * \-V 保存VMS操作系统的文件属性。 > * \-w 在文件名称里假如版本编号,本参数仅在VMS操作系统下有效。 > * \-x 压缩时排除符合条件的文件。 > * \-X 不保存额外的文件属性。 > * \-y 直接保存符号连接,而非该连接所指向的文件,本参数仅在UNIX之类的系统下有效。 > * \-z 替压缩文件加上注释。 > * \-$ 保存第一个被压缩文件所在磁盘的卷册名称。 > * \- 压缩效率是一个介于1-9的数值(数值越高,压缩越慢,压缩率越佳) | 命令 | 注释 | | --- | --- | |zip -q -r test.zip /home/www| 压缩/home/www这个目录下所有文件和文件夹到当前目录,命名为test.zip| | zip -dv cp.zip a.c | 从压缩文件 cp.zip 中删除文件 a.c | |zip -q -r test.zip test/ -x './test/file.txt'| 压缩test目录,并排除test目录中的file.txt文件| |zip -q -r test.zip test/ -i './test/www/*'| 压缩test目录中的www文件夹及其所有文件 | |zip test.zip -g test.log| 向压缩包中添加文件 test.log | |zip -q -er test.zip test/ | 压缩test目录并加密,需要输入两次密码| |zip -f test.zip ./test/file.log| 覆盖压缩包中的文件(压缩包中有test/file.log文件,用于覆盖的文件需与压缩包中的文件保持相同目录) | # <span style="font-size:15px">2、解压.zip压缩包</span> ``` unzip [-cflptuvz][-agCjLMnoqsVX][-P <密码>][.zip文件][文件][-d <目录>][-x <文件>] 或 unzip [-Z] ``` > * -c 将解压缩的结果显示到屏幕上,并对字符做适当的转换。 > * -f 覆盖现有文件,即只提取那些已经存在于磁盘上并且比磁盘副本更新的文件 > * -l 显示压缩文件内所包含的文件。 > * -p 与-c参数类似,会将解压缩的结果显示到屏幕上,但不会执行任何的转换。 > * -t 检查压缩文件是否正确。 > * -u 与-f参数类似,但是除了更新现有的文件外,也会将压缩文件中的其他文件解压缩到目录中。 > * -v 看压缩文件目录信息,但是不解压该文件。 > * -z 仅显示压缩文件的备注文字。 > * -a 对文本文件进行必要的字符转换。 > * -b 不要对文本文件进行字符转换。 > * -C 压缩文件中的文件名称区分大小写。 > * -j 不会重新创建存档的目录结构;所有文件都存放在提取目录中。 > * -L 将压缩文件中的全部文件名改为小写。 > * -M 将输出结果送到more程序处理。 > * -n 解压缩时不要覆盖原有的文件。 > * -o 不提示覆盖现有文件,通常与-f一起使用。 > * -P 使用zip的密码选项。 > * -q 执行时不显示任何信息。 > * -s 将文件名中的空白字符转换为底线字符。 > * -V 保留VMS的文件版本信息。 > * -X 解压缩时同时回存文件原来的UID/GID。 > * [.zip文件\] 指定.zip压缩文件。 > * [文件\] 指定要处理.zip压缩文件中的哪些文件。 > * -d 指定文件解压缩后所要存储的目录。 > * -x 指定不要处理.zip压缩文件中的哪些文件。 > * -Z unzip -Z等于执行zipinfo指令。 | 命令 | 注释 | | --- | --- | |unzip -l test.zip| 只查看压缩包中的文件,不解压| |unzip -of test.zip -d /home/| 解压test.zip至home目录(目录下存在test文件夹),覆盖文件且不提示 | |unzip -of test.zip '*log' -d /home/| 解压test.zip至home目录,仅解压压缩包中log结尾的文件,* 为通配符 | |unzip test.zip -x '*log'| 解压除了名称以log结尾的其他文件到当前目录| |unzip -LL test.zip| 解压时将压缩包中的文件名都改成小写 | # <span style="font-size:15px">3、列出压缩文件信息</span> ``` zipinfo [-12hlmMstTvz][压缩文件][文件...][-x <范本样式>] ``` > * \-1 只列出文件名称。 > * \-2 此参数的效果和指定"-1"参数类似,但可搭配"-h","-t"和"-z"参数使用。 > * \-h 只列出压缩文件的文件名称。 > * \-l 此参数的效果和指定"-m"参数类似,但会列出原始文件的大小而非每个文件的压缩率。 > * \-m 此参数的效果和指定"-s"参数类似,但多会列出每个文件的压缩率。 > * \-M 若信息内容超过一个画面,则采用类似more指令的方式列出信息。 > * \-s 用类似执行"ls -l"指令的效果列出压缩文件内容。 > * \-t 只列出压缩文件内所包含的文件数目,压缩前后的文件大小及压缩率。 > * \-T 将压缩文件内每个文件的日期时间用年,月,日,时,分,秒的顺序列出。 > * \-v 详细显示压缩文件内每一个文件的信息。 > * \-x 不列出符合条件的文件的信息。 > * \-z 如果压缩文件内含有注释,就将注释显示出来。 | 命令 | 注释 | | --- | --- | |zipinfo -1 test.zip 或 zipinfo -2h test.zip| 只查看压缩包中的文件名称|