如何在Linux中使用zip命令

2023-10-27

The zipLinux 中的命令是一个实用程序,用于将一组文件打包到 zip 存档中。 zip 命令还可以用于压缩文件,从而减少它们在计算机硬盘上占用的空间。此外,zip命令可用于加密文件,使未经授权的用户更难以访问zip存档的内容。

要解压缩 zip 存档,您可以使用unzip命令。此命令将解压缩 zip 存档中的文件,以便您访问它们。

Zip 命令示例

查看以下 Linux zip 命令的真实示例。

  1. 压缩目录中的所有文件
  2. 此命令将创建 /backup 目录中所有文件的 zip。我不会递归地归档子目录下的文件。

    zip backup.zip /backup/* 
    
    
    
    Output:
    adding: backup/anaconda.ifcfg.log (deflated 47%) adding: backup/anaconda.log (deflated 78%) adding: backup/anaconda.program.log (deflated 84%) adding: backup/anaconda.storage.log (deflated 90%) adding: backup/boot.log (deflated 72%) adding: backup/dracut.log (deflated 92%) adding: backup/httpd/ (stored 0%) adding: backup/kadmind.log (deflated 74%) adding: backup/krb5kdc.log (deflated 71%) adding: backup/mysqld.log (deflated 82%)

  3. 使用通配符压缩文件
  4. 使用 Linux 通配符仅归档特定扩展名的文件。就像仅备份目录中的 .log 扩展名文件一样。

    zip backup.zip /backup/*.log 
    
    
    
    Output:
    adding: backup/anaconda.ifcfg.log (deflated 47%) adding: backup/anaconda.log (deflated 78%) adding: backup/anaconda.program.log (deflated 84%) adding: backup/anaconda.storage.log (deflated 90%) adding: backup/boot.log (deflated 72%) adding: backup/dracut.log (deflated 92%) adding: backup/kadmind.log (deflated 74%) adding: backup/krb5kdc.log (deflated 71%) adding: backup/mysqld.log (deflated 82%) adding: backup/pm-powersave.log (deflated 15%) adding: backup/wpa_supplicant.log (stored 0%) adding: backup/Xorg.0.log (deflated 83%) adding: backup/Xorg.9.log (deflated 83%) adding: backup/yum.log (deflated 77%)

  5. 递归压缩文件
  6. 以下命令将递归地创建包含文件、目录及其子目录的存档。它还将目录结构维护为源文件。

    zip -r backup.zip /backup 
    

  7. 创建受密码保护的 zip
  8. 有时我们需要创建一个受密码保护的存档。 zip 命令为您提供了创建受密码保护的存档文件的选项。要创建受密码保护的存档,请使用-e选项。这将提示输入密码并确认密码。

    zip -e backup.zip /backup/*.log 
    
    
    
    Output:
    Enter password: Verify password: adding: backup/anaconda.ifcfg.log (deflated 47%) adding: backup/anaconda.log (deflated 78%) adding: backup/anaconda.program.log (deflated 84%) adding: backup/anaconda.storage.log (deflated 90%)

  9. 具有压缩级别的 Zip
  10. 您还可以使用 zip 命令定义压缩级别。有 10 个压缩级别,范围从 0 到 9。

  • -6 用作默认压缩级别。
  • -0 用于最低级别的压缩。
  • -9 用于最高级别的压缩
zip -9 high-compressed-file.zip /backup/* 
zip -0 lowest-compressed-file.zip /backup/* 

检查压缩文件之间的差异

ls -lh lowest-compressed-file.zip high-compressed-file.zip 

Output:
-rw-r--r--. 1 root root 50K Apr 11 14:14 high-compressed-file.zip -rw-r--r--. 1 root root 447K Apr 11 14:14 lowest-compressed-file.zip

您可以看到两个文件大小之间的差异。

  • 列出 zip 文件的内容
  • Using -l使用 unzip 命令切换以仅列出 zip 存档内的文件而不解压缩它。

    unzip -l backup.zip 
    
    
    
    Output:
    Archive: backup.zip Length Date Time Name --------- ---------- ----- ---- 140 04-11-2013 14:07 backup/anaconda.ifcfg.log 11153 04-11-2013 14:07 backup/anaconda.log 15446 04-11-2013 14:07 backup/anaconda.program.log 136167 04-11-2013 14:07 backup/anaconda.storage.log 2722 04-11-2013 14:07 backup/boot.log 211614 04-11-2013 14:07 backup/dracut.log 0 04-11-2013 14:08 backup/httpd/ 1382 04-11-2013 14:07 backup/kadmind.log 1248 04-11-2013 14:07 backup/krb5kdc.log 6485 04-11-2013 14:07 backup/mysqld.log 87 04-11-2013 14:07 backup/pm-powersave.log 0 04-11-2013 14:07 backup/wpa_supplicant.log 30186 04-11-2013 14:07 backup/Xorg.0.log 31094 04-11-2013 14:07 backup/Xorg.9.log 6739 04-11-2013 14:07 backup/yum.log --------- ------- 454463 15 files

  • 提取 zip 文件。
  • The unzip命令用于提取 zip 文件。使用以下命令简单地提取 zip 文件。

    unzip backup.zip 
    

  • 检查存档文件
  • Use -t检查和归档文件。该选项提取内存中的每个指定文件并比较CRC(循环冗余校验,增强型校验和)。

    unzip -t backup.zip 
    
    
     
    
    Output:
    Archive: backup-11Apr2013.zip testing: backup/anaconda.ifcfg.log OK testing: backup/anaconda.log OK testing: backup/anaconda.program.log OK testing: backup/anaconda.storage.log OK testing: backup/boot.log OK testing: backup/dracut.log OK testing: backup/httpd/ OK testing: backup/kadmind.log OK testing: backup/krb5kdc.log OK testing: backup/mysqld.log OK testing: backup/pm-powersave.log OK testing: backup/wpa_supplicant.log OK testing: backup/Xorg.0.log OK testing: backup/Xorg.9.log OK testing: backup/yum.log OK No errors detected in compressed data of backup.zip.

    Wrap Up

    我们向您展示了如何使用终端在 Linux 中压缩文件。这是一项方便的技能,当您需要向某人发送压缩文件或节省计算机上的存储空间时,它可以派上用场。此外,解压缩存档很容易,我们将向您展示如何快速轻松地完成此操作。

    本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

    如何在Linux中使用zip命令 的相关文章

    • 在 Swift 中从字符串创建 ZIP 文件

      let data InPractiseThisWillBeAReheallyLongString createDir let docsDir FileManager default urls for documentDirectory in
    • Ant 构建类路径 jar 生成“打开 zip 文件时出错”

      我有一个在 eclipse 中构建的项目 依赖于第 3 方 jar 我正在尝试为 ant 生成一个合适的构建文件 使用 Eclipses 内置的导出 gt ant 构建文件功能作为起始块 当我运行构建目标时 出现以下错误 javac err
    • C# 如何杀死阻塞的线程?

      我有一个线程 void threadCode object o doStuffHere o Blocking call Sometimes hangs 我这样称呼它 Thread t new Thread new ThreadStart d
    • 如何提取具有非 Unicode 非拉丁文件名的 Zip 文件?

      有时 您收到的 Zip 文件中的文件或目录的名称中包含一些无法识别的字符 因此您无法提取它们 您使用什么工具将它们提取为正确转换的文件名 我在网上搜索但未能找到好的脚本 所以出于必要我自己写了一个Python脚本 希望它对某人有用 欢迎提出
    • PHP 中的 zipArchive 打开错误

      无法在 PHP 中创建 zip 存档 总是返回Ziparchive ER MULTIDISK fileName SERVER DOCUMENT ROOT temp temp zip zip new ZipArchive err zip gt
    • 如何在 IOS 5 中包含 SSZipArchive?

      对于我正在从事的项目 我需要解压缩某些文件 为此 我找到了图书馆SSZip存档 https github com samsoffes ssziparchive 我将其包含在 Xcode 4 2 中 右键单击 类 文件夹 gt 将文件添加到项
    • 可以列出 zip / rar 文件内容的 PHP 库 [关闭]

      就目前情况而言 这个问题不太适合我们的问答形式 我们希望答案得到事实 参考资料或专业知识的支持 但这个问题可能会引发辩论 争论 民意调查或扩展讨论 如果您觉得这个问题可以改进并可能重新开放 访问帮助中心 help reopen questi
    • 使用node.js核心zlib模块压缩成.zip文件

      如何压缩一个或多个文件并将其保存到 zip包含所提供的 node js 的扩展文件zlib https nodejs org api zlib html模块 我想出了如何保存到 gz使用 gzip 如下 const gzip zlib cr
    • 更新 ZipArchive 中的文件

      我有一个 ZipArchive 对象 其中包含我正在修改的 XML 文件 然后我想返回修改后的 ZipArchive 这是我的代码 var package File ReadAllBytes location of existing zip
    • 覆盖 ZipArchiveEntry 的内容

      如何覆盖 a 的内容ZipArchiveEntry 以下代码使用StreamWriter with StringBuilder如果新文件内容比原始文件内容短 则会失败 例如 using System IO Compression using
    • 返回 zip 以从 django 中的视图下载

      我尝试在 Django 应用程序中下载 zip 文件 我应该如何从视图中返回它 我尝试了下面的代码 但我在浏览器中收到了某种警报 其中包含我的 zip 中的文件内容 我究竟做错了什么 def download logs request da
    • 将文件添加到现有 zip 文件

      我正在使用 python 的zipfile module zip 文件位于以下路径 home user a b c test zip并在下面创建另一个文件 home user a b c 1 txt我想将此文件添加到现有的 zip 中 我这
    • Zip 文件是使用 Windows 路径分隔符创建的

      我使用下面的代码创建一个 zip 文件 Zip 已正确创建 然后在我的程序中 我尝试从此文件中获取 zip 条目 如果我打印一个 zip 条目名称 我会得到 Windows 路径分隔符 例如 a b c 但我需要这样a b c 我还没有发布
    • Github 下载文件夹为 zip

      如何为我的 Github 存储库的访问者提供一个链接 以将我的存储库的 builds 文件夹下载为 zip 文件 该文件夹包含应用程序所需的可执行文件 着色器和纹理 当然 我可以手动构建该目录的 zip 文件并将其添加到存储库中 但这会导致
    • 需要使用 Node.js 压缩整个目录

      我需要使用 Node js 压缩整个目录 我目前正在使用node zip 每次该进程运行时都会生成一个无效的ZIP文件 正如您可以从这个 Github 问题 https github com Stuk jszip issues 41 是否有
    • SharpZipLib - 将文件夹/目录添加到 zip 存档

      通过示例 我很好地掌握了如何提取 zip 文件 几乎在每个示例中 识别 ZipEntry 是否为目录的方法如下 string directoryName Path GetDirectoryName theEntry Name string
    • 如何在 Python 中仅列出 zip 存档中的文件夹?

      如何仅列出 zip 存档中的文件夹 这将列出存档中的每个文件夹和文件 import zipfile file zipfile ZipFile samples sample zip r for name in file namelist pr
    • ZipArchives 存储绝对路径

      我可以使用相对路径压缩文件吗 例如 zip gt addFile c wamp www foo file txt ZIP 应该具有如下目录结构 foo gt file txt and not wamp gt www gt foo gt fi
    • 为什么 Python zipfile 不提供与命令行 zip 相同的输出 .zip 文件大小?

      这是生成的文件的大小zip seq 10000 gt 1 txt zip 1 1 txt adding 1 txt deflated 54 ls og 1 zip rw r r 1 22762 Aug 29 10 04 1 zip 这是一个
    • ZipResourceFile 无法解析为类型

      我正在尝试重写我的应用程序以使用 APK 扩展文件 我一直在关注这里的文档http developer android com google play expansion files html http developer android

    随机推荐

    • 2 指定目录编译

      1 目录结构 指定目录编译 go build o bin calc1 exe day01 package example main 转载于 https www cnblogs com jec1999 p 9822834 html
    • TCP数据的传输过程

      TCP数据的传输过程 TCP Transmission Control Protocol 传输控制协议 是一种面向连接的 可靠的 基于字节流的通信协议 数据在传输前要建立连接 传输完毕后还要断开连接 客户端在收发数据前要使用 connect
    • Spark集群运行问题

      spark输出太多warning messages WARN Executor 2 block locks were not released by TID Lock release errors occur frequently in e
    • 阿里云对象存储oss费用明细

      https www aliyun com price product spm a311a 7996332 0 0 137630803P2qTh oss detail 最终决定 阿里云割韭菜 弃用选择业界其他便宜的 第二年阿里云只给你个续费
    • java操作svn--部分方法

      package com svnutil import java io File import java text DateFormat import java util ArrayList import java util Collecti
    • Fedora12 编译s3c2416 U-Boot1.3.4的Makefile和头文件

      复制Makefile到 和smdk2416 h到include configs 执行 make distclean make smdk2416 config make C Copyright 2007 2008 Jong pill Lee
    • matlab练习程序(Canny边缘检测)

      我可没直接调用系统函数 要是那样就太水了 其实我的matlab代码很容易就能翻译成c c 的 canny边缘检测一共四个部分 1 对原图像高斯平滑 2 对高斯平滑后的图像进行sobel边缘检测 这里需要求横的和竖的还有联合的 所以一共三个需
    • C语言链表——增删改查

      目录 一 链表的概念 1 1 什么是链表 二 链表和数组的区别 2 1 链表和数组的优缺点 2 1 1 数组的优缺点 2 1 2 链表的优缺点 三 链表的静态添加和动态遍历 四 统计链表节点个数及链表查找 五 链表插入 5 1 链表从指定节
    • 【程序设计训练】2-12 绩点计算

      问题描述 学校对本科生的成绩施行绩点制 GPA 将学生的实际考分根据不同学科的不同学分按一定的公式进行计算 规定如下 实际成绩 绩点 90 100 4 0 85 89 3 7 82 84 3 3 78 81 3 0 75 77 2 7 72
    • MIT教授Tegmark:GPT-4敲响警钟,百年后人类何去何从丨智源大会嘉宾风采

      导读 一封呼吁暂停大模型研究6个月的公开信让一家名为未来生命研究所 Future of Life Institute 简称 FLI 站上了风口浪尖 这家研究所的联合创始人Max Tegmark是来自麻省理工学院的物理学家和人工智能研究员 生
    • 对象存储OSS-iOS

      文章目录 对象存储OSS iOS 一 基础解读 1 相关名词 2 OSS的上传和下载 3 基于SDK快速开始 4 基于OSS的移动开发 4 1 整体流程 4 1 1 客户端申请STS凭证 4 1 2 AppServer请求AssumeRol
    • 2022华数杯B题论文思路分析+完整代码(水下机器人组装计划)(一二问答案接出来和标准答案一样)(问题三四逼近正确答案)(完整论文,代码可直接跑)

      写在前面 学校最近搞数学建模竞赛培训 以2022华数杯B题作为训练题目 在查资料过程中发现网上没有哪一篇论文解出了正确答案 而我们组利用Lingo软件准确的解出了正确答案 但是在第三问时 由于决策的变量激增 基于Lingo的模型已经无法解出
    • 五大板块(2)—— 指针

      参考 五大板块 2 指针 作者 丶PURSUING 发布时间 2021 03 18 16 01 22 网址 https blog csdn net weixin 44742824 article details 114981482 本文为学
    • TypeError: parse() got an unexpected keyword argument 'transport_encoding'

      pip install XXX 出现问题 TypeError parse got an unexpected keyword argument transport encoding 解决方法 conda install pip
    • 如何在 Git 中创建空分支(无父分支)

      Git 是一个强大的版本控制系统 使开发人员能够跟踪其代码库中的更改并有效地管理其项目 Git 的关键功能之一是分支 它允许开发人员创建代码库的单独版本并同时处理它们 在本文中 我们将了解如何使用 Git 创建空分支 orphan opti
    • 如何在 Ubuntu 18.04 上安装和配置 VNC 服务器

      VNC 代表 虚拟网络计算 是一组用于远程共享桌面系统的协议 有许多软件可用于远程访问基于 Linux 的桌面 包括 TigerVNC TightVNC Vino vnc4server 等等 TigerVNC 是一款免费 开源 高性能的 V
    • 如何在 Shell 脚本中为用户分配密码

      Command 回声 passwd stdin 例子 使用以下命令在 shell 脚本中更改用户 jack 的密码 例如我们使用字符串密码作为密码 echo password passwd stdin jack 分配用户输入密码 使用以下命
    • 如何在 Ubuntu 20.04 上安装 Google Cloud SDK

      谷歌云SDK 软件开发套件 提供了一组用于管理 Google Cloud Platform GCP 上托管的资源的工具 SDK 提供 gcloud gsutil 和 nd bq 命令 能够通过终端访问 Google Cloud Cloud
    • 如何在 Fedora 上安装 Apache Solr

      Apache Solr 是一个基于名为 Lucene 的 Java 库构建的开源搜索平台 Solr 是一个流行的网站搜索平台 因为它可以索引和搜索多个网站 并根据搜索查询的分类返回相关内容的推荐 本指南将引导您完成在 Fedora 系统上安
    • 如何在Linux中使用zip命令

      The zipLinux 中的命令是一个实用程序 用于将一组文件打包到 zip 存档中 zip 命令还可以用于压缩文件 从而减少它们在计算机硬盘上占用的空间 此外 zip命令可用于加密文件 使未经授权的用户更难以访问zip存档的内容 要解压