解压缩操作命令zip和unzip

  1. yum install -y zip
  2. zip -r we.zip ./
  3. yum install -y unzip
  4. unzip test.zip

它会默认将文件解压到当前目录,如果要解压到指定目录,可以加上 -d 选项:

  1. unzip test.zip -d /root/

-x 参数后加要排除的文件或目录的完整路径, 注意引号不可少 zip -r fscyyapi.zip ./ -x ‘public/uploads/‘ -x ‘uploads/

-i 参数后加要打包的文件或目录的完整路径, 注意引号不可少:

  1. zip -r temp.zip /usr/local/temp/ -i '/usr/local/temp/*/*.sh' -i '/usr/local/temp/*/*.jar'
  1. -r 递归压缩,将指定目录下的所有文件以及子目录全部压缩
  2. -d 从压缩文件内删除指定的文件
  3. -i “文件列表” 只压缩文件列表中的文件(可多个)
  4. -x “文件列表” 压缩时排除文件列表中指定的文件(可多个)
  5. -u 更新文件到压缩文件中
  6. -m 将文件加入压缩文件压缩后,删除原始文件,zhidao即把文件移到压缩文件中
  7. -F 尝试修复损坏的压缩文件
  8. -T 检查压缩文件内的每个文件是否正确无误

使用通配符进行模糊压缩

你可以直接使用通配符(如 *)来匹配文件名,然后将匹配到的文件进行压缩。

  • 基本语法

    1. zip [压缩包名称].zip [模糊匹配的文件名]
  • 示例 如果你想压缩当前目录下所有以 .txt 结尾的文件,可以执行以下命令:

    1. zip my_files.zip *.txt

    这个命令会找到所有 .txt 文件,并将它们打包到 my_files.zip 中。

压缩目录时的模糊匹配

在压缩整个目录时,你也可以结合通配符来匹配特定的子目录或文件。

  • 示例 假设你想压缩当前目录下所有以 qwe 开头的文件夹,可以使用:
    1. zip -r new_archive.zip ./qwe*
    这里的 -r 参数表示递归压缩,会将匹配到的所有文件夹及其内容都打包进去。

处理更复杂的模糊匹配

对于更复杂的查找和压缩需求,例如在多级目录下查找特定文件,可以将 zip 命令与 find 命令结合使用,实现更强大的模糊匹配功能。

  • 示例 以下命令会查找 /var/log 目录下所有 7 天前的 .log 文件,并将它们压缩到 old_logs.zip 中:
    1. find /var/log -name "*.log" -mtime +7 -exec zip old_logs.zip {} +
    这个组合命令非常灵活,可以满足各种复杂的文件查找和打包需求。