Windows压缩和解压(zip、unzip)

📝 ✏️ 📌
Windows压缩和解压(zip、unzip)

一、zip

zip命令的功能是用于压缩文件,解压命令为unzip。通过zip命令可以将文件打包成.zip格式的压缩包,里面会包含文件的名称、路径、创建时间、上次修改时间等等信息 。

使用格式:

zip [选项] 压缩包名 源文件或源目录列表

zip [OPTIONS] [ZIPFILE [FILE...]]

常用参数:

参数

意义

-r

递归压缩目录,及将制定目录下的所有文件以及子目录全部压缩

-m

将文件压缩之后,删除原始文件,相当于把文件移到压缩文件中

-v

显示详细的压缩过程信息

-q

在压缩的时候不显示命令的执行过程

-z

替压缩文件加上注释

-u

更新压缩文件,即往压缩文件中添加新文件

-e

加密

-d

更新压缩包内文件

-n<字尾字符串>

不压缩具有特定字尾字符串的文件

-压缩级别

压缩级别是从 1~9 的数字,-1 代表压缩速度更快,-9 代表压缩效果更好

示例

(1)压缩指定文件。

zip passwd.zip /etc/passwd

adding: etc/passwd (deflated 58%)

输出中 deflated 58% 表示压缩率为 58%,即压缩后的文件大小是原文件的 42%。

(2)压缩文件时进行加密。

zip -e passwd.zip /etc/passwd

Enter password:

Verify password:

adding: etc/passwd (deflated 58%)

(3)使用 -r 选项递归压缩指定目录。

zip -r shell.zip shell

adding: shell/ (stored 0%)

adding: shell/sleepParent.sh (stored 0%)

adding: shell/sleep.sh (deflated 22%)

adding: shell/dir/ (stored 0%)

adding: shell/dir/test.sh (stored 0%)

(4)使用 -r 和 -0 选项只打包不压缩指定目录。

zip -r -0 shell.zip shell

(5)静默模式执行 zip,不显示 zip 命令执行过程。

zip -rq shell.zip shell

(6)向压缩文件追加文件。比如向上面生成的 shell.zip 追加文件 /etc/passwd。

zip -g shell.zip /etc/passwd

adding: etc/passwd (deflated 58%)

(7)从 zip 压缩文件中删除指定文件。

zip -d shell.zip /etc/passwd

deleting: etc/passwd

(8)压缩文件时显示已压缩的条目数和剩余条目数。

zip -dg -r shell.zip shell

0/ 5 adding: shell/ (stored 0%)

1/ 4 adding: shell/sleepParent.sh (stored 0%)

2/ 3 adding: shell/sleep.sh (deflated 22%)

3/ 2 adding: shell/dir/ (stored 0%)

4/ 1 adding: shell/dir/test.sh (stored 0%)

第一列表示已压缩的条目数,第二列表示剩余条目数。如果想显示已处理的字节和剩余的字节数,可以使用 -db 选项。

二、unzip

unzip 命令用于列出、测试和提取 ZIP 存档中的压缩文件。

如果 unzip 不跟任何选项(默认行为),会将指定的 ZIP 存档文件解压到当前目录。

命令格式:

unzip [-Z] [OPTIONS] [ZIP_FILE...] [FILE...] [-x FILE...] [-d EXDIR]

[ZIP_FILE…] 表示 ZIP 存档文件,[FILE…] 表示待处理的 ZIP 存档文件中的文件列表,[-x FILE…] 表示不处理的文件列表,[-d EXDIR] 表示解压缩后的文件存放的目录。文件名均可使用通配符表示。

注意,unzip 可以不跟任何选项和参数,单独执行 unzip 将打印简要帮助信息。

常用参数:

选项

说明

--help

帮助信息

--version

显示命令版本信息

-c

将解压结果送到标准输出

-f

解压时更新现有的文件,即仅解压磁盘上已经存在且比磁盘副本更新的文件。默认情况下,在覆盖之前解压缩查询,但是-o选项可以用于抑制查询

-l

显示压缩包内文件的详细信息。将打印指定文件的名称、未压缩文件大小、修改日期和时间,以及所有指定文件的总计。

-p

将解压结果送到标准输出,不对字符转换。只有文件数据被发送到stdout,文件总是以二进制格式提取

-t

检查压缩文件的正确性。该选项提取内存中的每个指定文件,并将扩展文件的CRC(循环冗余校验,增强校验和)与原始文件的存储CRC值进行比较。

-T

将存档上的时间戳设置为每个归档中最新文件的时间戳。这对应于zip的-go选项,但它可以用于通配符zip文件(例如,“unzip –T *.zip”),而且速度要快得多

-u

更新现有文件,并在需要时创建新文件。该选项执行与-f选项相同的功能

-v

列出存档文件(详细格式)或显示诊断版本信息。

-z

仅显示压缩文件的备注信息

-a

解压时,对文本文件做字符转换

-n

解压时,不覆盖原有的文件

-N

将文件注释解压缩为Amiga文件。

-o

不提示用户,覆盖原有文件

-P

解压时,输入密码

-q

静默模式

常用示例

(1)使用 -Z 选项查看 ZIP 归档文件 test.zip 的整体信息。

unzip -Z test.zip

Archive: test.zip

Zip file size: 1321 bytes, number of entries: 2

-rw-r--r-- 3.0 unx 1552 tx defN 19-Jan-04 14:56 etc/passwd

-rw-r--r-- 3.0 unx 642 tx defN 19-Jan-04 14:56 etc/group

2 files, 2194 bytes uncompressed, 1005 bytes compressed: 54.2%

(2)将压缩文件解压缩至当前目录。

unzip test.zip

(3)如果当前目录存在同名的文件,解压缩时不覆盖原有文件。

unzip -n test.zip

(4)解压缩时覆盖原有文件,不进行询问。

unzip -o test.zip

(5)将压缩文件解压缩至指定目录。

mkdir dir

unzip test.zip -d dir

(6)仅显示 zip 文件的注释说明,不解压。

unzip -z test.zip

Archive: test.zip

this is test.zip's comment

(7)仅查看 zip 文件中的文件列表,不解压。

unzip -l test.zip

Archive: test.zip

this is test.zip's comment

Length Date Time Name

--------- ---------- ----- ----

1552 01-04-2019 14:56 etc/passwd

642 01-04-2019 14:56 etc/group

--------- -------

2194 2 files

三、tar

🔗 相关推荐

✨ 💡 🎯
孕期 NF 检查
bt365体育网址

孕期 NF 检查

📅 08-12 👀 7458
衡阳市人民政府门户网站
365bet体育投注站

衡阳市人民政府门户网站

📅 07-20 👀 1132
ipad如何调节亮度
365bet体育投注站

ipad如何调节亮度

📅 10-25 👀 4090