Ubuntu 中怎样解压缩文件

打印 上一主题 下一主题

主题 636|帖子 636|积分 1908

Zip 是最广泛使用的归档文件格式,支持无损数据压缩。一个 zip 文件是一个数据容器,其中包罗一个或多个压缩文件或目录,可以在以后提取以规复原始文件。
Zip 还提供了一系列高级功能。你可以给你的 ZIP 归档文件加上密码保护以保护你的数据,大概将大文件拆分成更小的部门以使其更易管理。
在本文中,我们将表明如安在 Linux 系统中使用 unzip 命令来解压文件。
安装 unzip

unzip 实用步伐在大多数 Linux 发行版中默认环境下未安装。但是,你可以使用你的发行版的软件包管理器轻松安装它。
在 Ubuntu 和 Debian 上安装 unzip

  1. sudo apt install unzip
复制代码
在 CentOS 和 Fedora 上安装 unzip

  1. sudo yum install unzip
复制代码
怎样解压 ZIP 文件

在最简单的形式下,当不带任何选项使用时,unzip 命令将从指定的 zip 归档中提取所有文件到当前目录。
比方,假设你下载了 WordPress 安装包 的 zip 文件。要将此文件解压到当前目录,你只需运行以下命令:
  1. unzip latest.zip
复制代码
Zip 文件不存储所有权信息。提取的文件将由运行该命令的用户拥有。
你必须对你正在提取 ZIP 归档的目录拥有写权限。
克制 unzip 命令的输出

默认环境下,unzip 会打印它正在提取的所有文件的名称,而且一旦提取过程完成,它还会给出一个摘要。
要克制消息的打印,使用 -q 选项:
  1. unzip -q filename.zip
复制代码
将 ZIP 文件解压到不同的目录

如果你想将 zip 文件的内容解压到除了当前工作目录以外的目录,你可以使用 -d 选项。这答应你指定你想要提取文件的目标目录的路径。
  1. unzip filename.zip
  2. -d /path/to/directory
复制代码
比方,要将 WordPress 归档 latest.zip 解压到 /var/www/ 目录,你可以使用以下命令:
  1. sudo unzip latest.zip
  2. -d /var/www
复制代码
在上面的命令中,我们使用了 [sudo](<https://linuxize.com/post/sudo-command-in-linux/>) 因为我们登录的用户通常没有写权限到 /var/www 目录。当使用 sudo 解压 zip 文件时,提取的文件和目录的所有者是 root 用户。
解压带密码保护的 ZIP 文件

如果你有一个受密码保护的 zip 文件,而且你想提取其内容,你可以使用 unzip 命令,并带上 -P 选项。该选项答应你指定打开文件所需的密码。一旦输入正确的密码,zip 文件的内容将被提取到当前目录。
  1. unzip -P 密码 filename.zip
复制代码
在命令行上输入密码是不安全的,应该克制使用。一个更安全的选择是在不使用 -P 选项的环境下运行该命令。
如果 zip 文件受密码保护,unzip 将提示你输入密码:
  1. unzip filename.zip
复制代码
输入密码并按回车键。
  1. archive:  filename.zip
  2. [filename.zip] file.txt password:
复制代码
只要密码正确,unzip 将为归档中的所有加密文件使用相同的密码。
在解压 ZIP 文件时排除文件

当你想要从归档中排除特定文件或目录时,使用 -x 选项,背面跟着你想要从提取过程中排除的归档文件列表,用空格分隔。
  1. unzip filename.zip
  2. -x 要排除的文件1 要排除的文件2
复制代码
在下面的示例中,我们正在从 zip 归档中提取所有文件和目录,但排除了 .git 目录:
  1. unzip filename.zip
  2. -x "*.git/*"
复制代码
覆盖现有文件

假设你先前已提取了 zip 文件的内容,现在你正在尝试再次执行相同的命令。换句话说,你正在尝试再次解压相同的文件。
  1. unzip latest.zip
复制代码
默认环境下,unzip 会询问你是否只想要覆盖当前文件、覆盖所有文件、跳过提取当前文件、跳过提取所有文件,大概重命名当前文件。
  1. Archive:  latest.zip
  2. replace wordpress/xmlrpc.php? [y]es, [n]o, [A]ll, [N]one, [r]ename:
复制代码
如果你想要在不提示的环境下覆盖现有文件,请使用 -o 选项:
  1. unzip -o filename.zip
复制代码
请谨慎使用此选项。如果之前对文件举行了任何更改,那些更改将会丢失。
解压 ZIP 文件而不覆盖现有文件

假设你已解压了一个 zip 文件并修改了其中一些文件。但是,你误删除了一些你现在需要从 zip 归档中规复的文件。现在你想要做的是从 zip 归档中规复已删除的文件,同时保留你所做的更改。
在这种环境下,使用 -n 选项,它指示 unzip 如果目标目录中已存在文件,则跳过该文件的提取:
  1. unzip -n filename.zip
复制代码
解压多个 ZIP 文件

你可以使用正则表达式来匹配多个归档。
比方,如果你的当前工作目录中有多个 zip 文件,你可以只使用一个命令来解压所有文件:
  1. unzip '*.zip'
复制代码
请注意在 *.zip 周围的单引号。如果忘记对参数加引号,shell 将会扩展通配符字符,而且你会收到错误。
列出 ZIP 文件的内容

要列出 zip 文件的内容,请使用 -l 选项:
  1. unzip -l filename.zip
复制代码
在下面的示例中,我们正在列出所有 WordPress 安装文件:
  1. unzip -l latest.zip
复制代码
输出将如下所示:
  1. Archive:  latest.zip
  2.   Length      Date    Time    Name
  3. ---------  ---------- -----   ----
  4.         0  2023-08-02 22:39   wordpress/
  5.      3065  2021-08-31 18:31   wordpress/xmlrpc.php
  6.       364  2021-12-19 12:20   wordpress/wp-blog-header.php
  7.      7415  2023-03-18 17:13   wordpress/readme.html
  8. ...
  9. ...
  10.     21323  2023-03-09 01:15   wordpress/wp-admin/themes.php
  11.      8353  2022-09-10 18:20   wordpress/wp-admin/options-reading.php
  12.      4620  2021-10-24 00:12   wordpress/wp-trackback.php
  13.      1889  2023-05-03 00:11   wordpress/wp-comments-post.php
  14. ---------                     -------
  15. 27271400                     1648 个文件
复制代码
结论

[unzip](https://linux.die.net/man/1/unzip) 是一个命令行工具,答应你列出、测试和提取压缩的 zip 归档文件。
要在 Linux 系统上创建 ZIP 归档文件,你可以使用 [zip 命令](https://linuxize.com/post/how-to-zip-files-and-directories-in-linux/) 。
如果你有任何标题,请随时留下评论。

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
回复

使用道具 举报

0 个回复

倒序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

前进之路

金牌会员
这个人很懒什么都没写!

标签云

快速回复 返回顶部 返回列表