解压缩操作命令zip和unzip
yum install -y zipzip -r we.zip ./yum install -y unzipunzip test.zip
它会默认将文件解压到当前目录,如果要解压到指定目录,可以加上 -d 选项:
unzip test.zip -d /root/
-x 参数后加要排除的文件或目录的完整路径, 注意引号不可少 zip -r fscyyapi.zip ./ -x ‘public/uploads/‘ -x ‘uploads/‘
-i 参数后加要打包的文件或目录的完整路径, 注意引号不可少:
zip -r temp.zip /usr/local/temp/ -i '/usr/local/temp/*/*.sh' -i '/usr/local/temp/*/*.jar'
-r 递归压缩,将指定目录下的所有文件以及子目录全部压缩-d 从压缩文件内删除指定的文件-i “文件列表” 只压缩文件列表中的文件(可多个)-x “文件列表” 压缩时排除文件列表中指定的文件(可多个)-u 更新文件到压缩文件中-m 将文件加入压缩文件压缩后,删除原始文件,zhidao即把文件移到压缩文件中-F 尝试修复损坏的压缩文件-T 检查压缩文件内的每个文件是否正确无误
使用通配符进行模糊压缩
你可以直接使用通配符(如 *)来匹配文件名,然后将匹配到的文件进行压缩。
基本语法
zip [压缩包名称].zip [模糊匹配的文件名]
示例 如果你想压缩当前目录下所有以
.txt结尾的文件,可以执行以下命令:zip my_files.zip *.txt
这个命令会找到所有
.txt文件,并将它们打包到my_files.zip中。
压缩目录时的模糊匹配
在压缩整个目录时,你也可以结合通配符来匹配特定的子目录或文件。
- 示例
假设你想压缩当前目录下所有以
qwe开头的文件夹,可以使用:
这里的zip -r new_archive.zip ./qwe*
-r参数表示递归压缩,会将匹配到的所有文件夹及其内容都打包进去。
处理更复杂的模糊匹配
对于更复杂的查找和压缩需求,例如在多级目录下查找特定文件,可以将 zip 命令与 find 命令结合使用,实现更强大的模糊匹配功能。
- 示例
以下命令会查找
/var/log目录下所有 7 天前的.log文件,并将它们压缩到old_logs.zip中:
这个组合命令非常灵活,可以满足各种复杂的文件查找和打包需求。find /var/log -name "*.log" -mtime +7 -exec zip old_logs.zip {} +
