如何在Linux中解压文件
ZIP是最广泛使用的档案文件格式,支持无损数据压缩。ZIP文件是一个包含一个或多个压缩文件或目录的数据容器。
在本教程中,我们将解释如何在Linux系统中通过命令行使用unzip
命令来解压缩文件。
安装unzip
在大多数Linux发行版中,unzip
并不是默认安装的,但你可以使用你的发行版的软件包管理器轻松地安装它。
在Ubuntu和Debian上安装unzip
的方法
sudo apt install unzip
在CentOS和Fedora上安装unzip
的方法
sudo yum install unzip
如何解压ZIP文件
在最简单的形式下,当不使用任何选项时,unzip
命令从指定的ZIP压缩包中提取所有的文件到当前目录。
举个例子,假设你下载了Wordpress安装 ZIP文件。要将这个文件解压到当前目录,你只需运行以下命令。
unzip latest.zip
ZIP 文件不支持 Linux 样式的所有权信息。提取的文件归用户所有 运行命令。
你必须对解压ZIP档案的目录有写的权限。
抑制unzip
命令的输出
默认情况下,unzip
会打印出它正在提取的所有文件的名称,并在提取完成后打印出一个摘要。
使用-q
开关,可以抑制这些信息的打印。
unzip -q filename.zip
将ZIP文件解压到另一个目录
要将ZIP文件解压到与当前目录不同的目录中,请使用-d
开关。
unzip filename.zip -d /path/to/directory
例如,要解压WordPress的存档latest.zip
到/var/www/
目录,你会使用下面的命令。
sudo unzip latest.zip -d /var/www
在上面的命令中,我们使用sudo
,因为通常我们登录的用户对/var/www
目录没有写权限。当使用sudo
对ZIP文件进行解压时,提取的文件和目录由用户root拥有。
解开一个受密码保护的ZIP文件
要解开一个受密码保护的文件,请用-P
选项和密码一起调用unzip
命令。
unzip -P PasswOrd filename.zip
在命令行上输入密码是不安全的,应该避免。一个更安全的选择是正常提取文件而不提供密码。如果ZIP文件是加密的,unzip
会提示你输入密码。
unzip filename.zip
输出
archive: filename.zip
[filename.zip] file.txt password:
只要密码正确,unzip
就会对所有被编码的文件使用相同的密码。
在解压缩ZIP文件时,排除文件
要排除特定的文件或目录被提取,请使用-x
选项,后面是用空格分隔的要排除提取的档案文件的列表。
unzip filename.zip -x file1-to-exclude file2-to-exclude
在下面的例子中,我们从ZIP档案中提取所有的文件和目录,除了.git
目录之外。
unzip filename.zip -x "*.git/*"
覆盖现有的文件
比方说,你已经解开了一个ZIP文件,你又要运行同样的命令了。
unzip latest.zip
默认情况下,unzip
会问你是否愿意只覆盖当前文件,覆盖所有文件,跳过当前文件的提取,跳过所有文件的提取,或者重命名当前文件。
输出
Archive: latest.zip
replace wordpress/xmlrpc.php? [y]es, [n]o, [A]ll, [N]one, [r]ename:
如果你想在不提示的情况下覆盖现有的文件,请使用-o
选项。
unzip -o filename.zip
谨慎地使用这个选项。如果你对文件做了任何改动,这些改动会丢失。
在不覆盖现有文件的情况下解压缩一个ZIP文件
假设你已经解压了一个ZIP文件,并对一些文件进行了修改,但你不小心删除了一些文件。你想保留这些修改,并从ZIP档案中恢复被删除的文件。
在这种情况下,使用-n
选项,该选项迫使unzip
跳过已经存在的文件的提取。
unzip -n filename.zip
解压缩多个ZIP文件
你可以使用正则表达式来匹配多个档案。
例如,如果您的当前工作目录中有多个ZIP文件,您可以只使用一个命令来解压所有的文件。
unzip '*.zip'
注意*.zip
周围的单引号。如果你忘了给参数加引号,shell会展开通配符,你会得到一个错误。
列出一个压缩文件的内容
要列出一个ZIP文件的内容,请使用-l
选项。
unzip -l filename.zip
在下面的例子中,我们正在列出所有的WordPress安装文件。
unzip -l latest.zip
输出结果将看起来像这样。
输出
Archive: latest.zip
Length Date Time Name
--------- ---------- ----- ----
0 2018-08-02 22:39 wordpress/
3065 2016-08-31 18:31 wordpress/xmlrpc.php
364 2015-12-19 12:20 wordpress/wp-blog-header.php
7415 2018-03-18 17:13 wordpress/readme.html
...
...
21323 2018-03-09 01:15 wordpress/wp-admin/themes.php
8353 2017-09-10 18:20 wordpress/wp-admin/options-reading.php
4620 2017-10-24 00:12 wordpress/wp-trackback.php
1889 2018-05-03 00:11 wordpress/wp-comments-post.php
--------- -------
27271400 1648 files
总结
unzip
是一个帮助你列出、测试和提取压缩的ZIP档案的实用程序。
要在Linux系统上创建ZIP压缩文件,你需要使用zip命令 。
如果您有任何问题,请随时留言咨询。