发表日期:2021-06-21
马春杰杰
分类:Linux
评论(0)
本文内容有更新,最后修改日期为:2021年11月25日
突然发现本博客大部分文章都是任务驱动的,看来有时间需要整理一些系统性的文章 。有朋友问如何在Linux下批量解压文件到单独的文件夹,下面就分享一下。
压缩
压缩好整,直接压就行:
zip xxx.zip xxx
批量压缩:for z in *; do (tmp=${z##*/}; tmptitle=${tmp%.*}; zip -r "$tmptitle".zip "$tmp") done
附上zip
命令详解:
语法
|
<span class="pln">zip </span><span class="pun">[-</span><span class="typ">AcdDfFghjJKlLmoqrSTuvVwXyz$</span><span class="pun">][-</span><span class="pln">b </span><span class="pun"><工作目录>][-</span><span class="pln">ll</span><span class="pun">][-</span><span class="pln">n </span><span class="pun"><字尾字符串>][-</span><span class="pln">t </span><span class="pun"><日期时间>][-<压缩效率>][压缩文件][文件...][-</span><span class="pln">i </span><span class="pun"><范本样式>][-</span><span class="pln">x </span><span class="pun"><范本样式>]</span> |
参数:
- -A 调整可执行的自动解压缩文件。
- -b<工作目录> 指定暂时存放文件的目录。
- -c 替每个被压缩的文件加上注释。
- -d 从压缩文件内删除指定的文件。
- -D 压缩文件内不建立目录名称。
- -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的数值。
解压
解压单个文件:unzip xxx.zip
解压多个文件到当前目录:unzip "*.zip"
解压多个文件到单独的目录:for z in *.zip; do (tmp=${z##*/}; unzip $z -d ${tmp%.*}) done
下面附上unzip
的详解:
语法
|
<span class="pln">unzip </span><span class="pun">[-</span><span class="pln">cflptuvz</span><span class="pun">][-</span><span class="pln">agCjLMnoqsVX</span><span class="pun">][-</span><span class="pln">P </span><span class="pun"><密码>][.</span><span class="pln">zip</span><span class="pun">文件][文件][-</span><span class="pln">d </span><span class="pun"><目录>][-</span><span class="pln">x </span><span class="pun"><文件>]</span><span class="pln"> </span><span class="pun">或</span><span class="pln"> unzip </span><span class="pun">[-</span><span class="pln">Z</span><span class="pun">]</span> |
参数:
- -c 将解压缩的结果显示到屏幕上,并对字符做适当的转换。
- -f 更新现有的文件。
- -l 显示压缩文件内所包含的文件。
- -p 与-c参数类似,会将解压缩的结果显示到屏幕上,但不会执行任何的转换。
- -t 检查压缩文件是否正确。
- -u 与-f参数类似,但是除了更新现有的文件外,也会将压缩文件中的其他文件解压缩到目录中。
- -v 执行是时显示详细的信息。
- -z 仅显示压缩文件的备注文字。
- -a 对文本文件进行必要的字符转换。
- -b 不要对文本文件进行字符转换。
- -C 压缩文件中的文件名称区分大小写。
- -j 不处理压缩文件中原有的目录路径。
- -L 将压缩文件中的全部文件名改为小写。
- -M 将输出结果送到more程序处理。
- -n 解压缩时不要覆盖原有的文件。
- -o 不必先询问用户,unzip执行后覆盖原有文件。
- -P<密码> 使用zip的密码选项。
- -q 执行时不显示任何信息。
- -s 将文件名中的空白字符转换为底线字符。
- -V 保留VMS的文件版本信息。
- -X 解压缩时同时回存文件原来的UID/GID。
- [.zip文件] 指定.zip压缩文件。
- [文件] 指定要处理.zip压缩文件中的哪些文件。
- -d<目录> 指定文件解压缩后所要存储的目录。
- -x<文件> 指定不要处理.zip压缩文件中的哪些文件。
- -Z unzip -Z等于执行zipinfo指令。
linux如何把多个压缩包解压到单独文件夹
本文最后更新于2021年11月25日,已超过 1 年没有更新,如果文章内容或图片资源失效,请留言反馈,我们会及时处理,谢谢!
如果你对这篇文章有什么疑问或建议,欢迎下面留言提出,我看到会立刻回复!
打赏