解压缩zip文件
unzip命令的全称是unzip compressed files,意思是解压缩压缩文件。unzip命令可以从ZIP归档文件中提取文件,也可以列出或测试归档文件的内容。unzip命令还支持一些选项,用来控制解压缩的过程和结果。
unzip命令在大多数Linux发行版中都是可用的,但并不是默认安装的。你可以使用你的发行版的包管理器来安装它。
$ sudo apt install unzip
$ sudo yum install unzip
unzip [选项] [ZIP文件] [文件列表] [-x 排除文件列表] [-d 解压目录]
选项 | 说明 |
---|---|
-c | 将提取的文件内容输出到标准输出,不改变原始文件。 |
-f | 只更新已经存在的文件,不提取新的文件。 |
-j | 不重建目录结构,将所有文件都提取到当前目录。 |
-l | 列出ZIP文件的内容,不提取文件。 |
-n | 不覆盖已经存在的文件,跳过提取。 |
-o | 覆盖已经存在的文件,不询问。 |
-p | 将提取的文件内容输出到标准输出,不改变原始文件,同时不显示任何信息。 |
-q | 安静模式,不显示任何信息。 |
-t | 测试ZIP文件的完整性,不提取文件。 |
-u | 更新已经存在的文件,并提取新的文件。 |
-v | 详细模式,显示更多信息。 |
-x | 排除指定的文件或目录,不提取。 |
-z | 显示ZIP文件的注释,不提取文件。 |
-P | 指定ZIP文件的密码,用来解密加密的文件。 |
-d | 指定解压缩的目标目录,如果不存在,则会自动创建。 |
假设你有一个名为test.zip的ZIP文件,你想要将它解压缩到当前目录,你可以使用以下命令:
$ unzip test.zip
这个命令会将test.zip文件中的所有文件和目录都提取到当前目录,并显示提取的过程和结果。
假设你有一个名为test.zip的ZIP文件,你想要将它解压缩到一个名为output的目录,你可以使用以下命令:
$ unzip test.zip -d output
这个命令会将test.zip文件中的所有文件和目录都提取到output目录,并显示提取的过程和结果。如果output目录不存在,则会自动创建。
假设你有一个名为test.zip的ZIP文件,你只想要提取其中的file1.txt和file2.txt文件,你可以使用以下命令:
$ unzip test.zip file1.txt file2.txt
这个命令会将test.zip文件中的file1.txt和file2.txt文件提取到当前目录,并显示提取的过程和结果。
假设你有一个名为test.zip的ZIP文件,你只想要提取其中的以.txt结尾的文件,但是排除file3.txt和file4.txt文件,你可以使用以下命令:
$ unzip test.zip "*.txt" -x file3.txt file4.txt
这个命令会将test.zip文件中的所有以.txt结尾的文件,除了file3.txt和file4.txt文件,提取到当前目录,并显示提取的过程和结果。
假设你有一个名为test.zip的ZIP文件,它包含了多个目录和文件,你想要将它解压缩到当前目录,但是不保留原来的目录结构,你可以使用以下命令:
$ unzip test.zip -j
这个命令会将test.zip文件中的所有文件,不管它们在哪个目录,都提取到当前目录,并显示提取的过程和结果。
假设你有一个名为test.zip的ZIP文件,你已经解压缩过它,但是后来ZIP文件有了更新,你想要将它解压缩到当前目录,但是只更新已经存在的文件,不提取新的文件,你可以使用以下命令:
$ unzip test.zip -f
这个命令会将test.zip文件中的所有文件,如果在当前目录已经存在,且ZIP文件中的版本比较新,则更新它,否则跳过它,并显示提取的过程和结果。
假设你有一个名为test.zip的ZIP文件,你已经解压缩过它,但是后来ZIP文件有了更新,你想要将它解压缩到当前目录,更新已经存在的文件,并提取新的文件,你可以使用以下命令:
$ unzip test.zip -u
这个命令会将test.zip文件中的所有文件,如果在当前目录已经存在,且ZIP文件中的版本比较新,则更新它,否则提取它,并显示提取的过程和结果。
假设你有一个名为test.zip的ZIP文件,你想要将它解压缩到当前目录,覆盖已经存在的文件,不询问你是否要覆盖,你可以使用以下命令:
$ unzip test.zip -o
这个命令会将test.zip文件中的所有文件,如果在当前目录已经存在,则覆盖它,不显示任何提示,并显示提取的过程和结果。
假设你有一个名为test.zip的ZIP文件,你想要将它解压缩到当前目录,不覆盖已经存在的文件,跳过提取,你可以使用以下命令:
$ unzip test.zip -n
这个命令会将test.zip文件中的所有文件,如果在当前目录已经存在,则跳过提取,不显示任何提示,并显示提取的过程和结果。
假设你有一个名为test.zip的ZIP文件,你想要将它解压缩,但是不改变原始文件,只是将提取的文件内容输出到标准输出,你可以使用以下命令:
$ unzip test.zip -c
这个命令会将test.zip文件中的所有文件的内容输出到标准输出,并显示提取的过程和结果。
假设你有一个名为test.zip的ZIP文件,你想要将它解压缩,但是不改变原始文件,只是将提取的文件内容输出到标准输出,同时不显示任何信息,你可以使用以下命令:
$ unzip test.zip -p
这个命令会将test.zip文件中的所有文件的内容输出到标准输出,不显示任何提取的过程和结果。
假设你有一个名为test.zip的ZIP文件,你想要查看它的内容,但是不提取文件,你可以使用以下命令:
$ unzip test.zip -l
这个命令会列出test.zip文件中的所有文件和目录的信息,包括大小,日期,时间,压缩比等,并显示总计的信息。
假设你有一个名为test.zip的ZIP文件,你想要检查它是否有损坏或错误,但是不提取文件,你可以使用以下命令:
$ unzip test.zip -t
这个命令会测试test.zip文件中的所有文件和目录的完整性,如果有错误或警告,则显示出来,并显示总计的信息。
假设你有一个名为test.zip的ZIP文件,它包含了一些注释,你想要查看它的注释,但是不提取文件,你可以使用以下命令:
$ unzip test.zip -z
这个命令会显示test.zip文件的注释,如果有的话,并显示总计的信息。
假设你有一个名为test.zip的ZIP文件,它是加密的,你知道它的密码,你想要将它解压缩到当前目录,你可以使用以下命令:
$ unzip test.zip -P 密码
这个命令会使用指定的密码来解密test.zip文件中的加密文件,并将它们提取到当前目录,并显示提取的过程和结果。