压缩文件是一种在计算机和服务器之间传输它们的简单而有效的方式,它使用的带宽远远低于发送全尺寸文件的带宽。 当你在Linux中收到一个压缩档案时,解压缩它同样简单。 以下是在Linux命令行中使用unzip命令的几种方法。
将单个压缩文件解压缩到当前文件夹中
解压缩文件的基本语法是:
解压缩文件名
举个例子,假设你已经把Ugly Kid Joe乐队的一张名为“Menace To Sobriety”的专辑压缩成一个名为“威胁清醒”的zip文件。
要将此文件解压缩到当前文件夹中,只需运行以下命令:
解压缩“威胁到清醒”
解压缩多个文件
man命令使您可以使用以下语法一次解压缩多个文件:
解压缩文件名1文件名2文件名3
假设你分别压缩了名为“垃圾箱”,“嘿Stoopid”和“Dragontown”的Alice Cooper专辑的三个文件。 要解压这些文件,您可以尝试输入以下内容:
解压缩“Trash.zip”“Dragontown.zip”“嘿Stoopid.zip”
然后,你会得到这个错误:
存档:Trash.zip警告:文件名不匹配:Dragontown.zip <
假设这三个文件位于同一文件夹中,更好的方法是使用以下命令:
解压缩'* .zip'
不过要小心:这个命令是不加区分的,并且会解压当前文件夹中的每个zip文件。
解压缩文件但排除某些其他文件
如果您有一个zip文件,并且您想要提取除一个以外的所有文件,请使用-x开关,如下所示:
解压缩filename.zip -x filetoexclude.zip
继续我们的例子,Alice Cooper的专辑“Trash”有一首名为“Bed Of Nails”的歌曲。 要提取除“指甲之床”之外的所有歌曲,请使用以下语法:
解压缩Trash.zip -x“Bed Of Nails.mp3”
将一个Zip文件解压到不同的目录
如果要将zip文件的内容放在与当前不同的目录中,请使用-d开关,如下所示:
解压缩filename.zip -d路径/到/提取/到
例如,要将“Trash.zip”文件解压缩到“/ home / music / Alice Cooper / Trash”,您可以使用以下语法:
解压缩Trash.zip -d / home / music / Alice Cooper / Trash
如何显示压缩的Zip文件的内容
要列出压缩文件的内容,请使用-l开关:
unzip -l filename.zip
要查看专辑“Trash.zip”中的所有歌曲,请使用以下内容:
解压缩-l Trash.zip
返回的信息包括:
- 长度以字节为单位
- 创建日期
- 创建时间
- 名称
如何测试Zip文件是否有效
要在解压缩之前测试zip文件是否正常,请使用-t开关:
unzip -t filename.zip
例如,要测试“Trash.zip”是否有效,可以运行以下命令:
解压缩-t Trash.zip
每个文件将被列出,并且“OK”应该出现在它旁边。 在输出的底部,应该出现一条消息,指出“在...的压缩数据中未检测到错误”
显示关于压缩文件的详细信息
如果您需要更详细的信息,请使用-v开关,该开关输出更详细的信息:
语法如下:
解压缩-v文件名
例如:
解压缩-v Trash.zip
详细输出包含以下信息:
- 长度以字节为单位
- 方法
- 尺寸
- 压缩比例
- 创建日期和时间
- CRC
- 名称
在不创建目录的情况下将Zip文件解压缩到当前目录
如果您在创建zip文件时添加了文件夹,则标准的unzip命令将在解压缩后重新创建文件夹结构。
例如,如果使用以下结构提取名为“filename1.zip”的zip文件,则在解压缩文件夹时将重新创建这些文件夹:
- 文件夹1:filea.txt,fileb.txt,filec.txt
- 文件夹2:filed.txt,filee.txt
- 文件夹3:filef.txt
如果您希望所有“.txt”文件解压缩到当前文件夹中而不重新创建文件夹,则可以使用-j开关,如下所示:
unzip -j filename.zip
文件已存在时解压缩文件而不提示
想象一下你有一个你已经解压缩的zip文件,并且你已经开始处理你已经提取的文件。
如果您想要解压缩另一个文件,并且zip文件包含目标文件夹中已存在的文件,则在系统覆盖文件之前会显示一条警告。 这是可以的,但如果你正在提取一个包含1000个文件的文件,你不希望每次都提示。
因此,如果您不想覆盖现有文件,请使用-n开关:
unzip -n filename.zip
如果您不关心文件是否已经存在,并且您始终想要在不提示的情况下覆盖解压文件,请使用-o开关:
unzip -o filename.zip
提取受密码保护的Zip文件
如果您需要解压缩需要密码才能访问的文件,请使用-P开关,然后输入密码:
解压缩-P密码filename.zip
例如,要使用密码“kittens123”解压缩名为“cats.zip”的文件,请使用以下命令:
unzip -P kittens123 filename.zip
解压缩文件而不显示任何输出
默认情况下,“unzip”命令会列出正在进行的所有操作,包括列出存档中的每个文件。 您可以通过使用-q开关来抑制此输出:
解压缩-q filename.zip
这将解压缩文件名而不提供任何输出,并在完成时返回到光标。
Linux提供了许多其他交换机。 访问Linux手册页以了解更多信息。