linux unzip 包括目录,Linux 命令(目录管理 - zip/unzip)
简述
zip/unzip 是 Linux 中广泛使用的压缩/解压缩程序,zip 命令用来将文件压缩为常用的 zip 格式(扩展名为 .zip);unzip 命令则用来解压缩 zip 文件。
zip
命令介绍
命令名称
zip
基本语法
zip [选项] [打包后的文件名] [打包的目录路径]
功能描述
打包和压缩文件
命令选项
选项
说明
-A
调整可执行的自动解压缩文件
-c
为每个被压缩的文件加上注释
-d
从压缩文件内删除指定文件
-F
尝试修复损坏的压缩文件
-h
在线帮助
-m
将文件压缩并加入压缩文件后,删除原始文件,即把文件移到压缩文件中
-n
不压缩具有特定字尾字符串的文件
-o
将压缩文件内的所有文件的最新变动时间设置为压缩时候的时间
-q
安静模式,压缩时不显示命令的执行过程
-r
递归处理,将指定目录下的所有子目录以及文件一并处理
-S
包含系统文件和隐藏文件
-t
将压缩文件的最后修改日期设为指定的日期,日期格式为:mmddyyyy-x
-T
检查备份文件内的每个文件是否正确无误
-v
显示命令执行过程或版本信息
-x
指定不要处理 .zip 压缩文件中的哪些文件
-z
替压缩文件加上注释
-
压缩效率是一个介于 1-9 的数值
使用范例
1.压缩文件
将文件 debug.log 压缩为 debug.zip:
[wang@localhost doc]$ zip debug.zip debug.log
adding: debug.log (deflated 98%)
[wang@localhost doc]$ ls -l debug.zip
-rw-rw-r--. 1 wang wang 8388 10月 8 15:37 debug.zip
2.压缩率为 8
[wang@localhost doc]$ zip debug2.zip -8 debug.log
adding: debug.log (deflated 98%)
[wang@localhost doc]$ ls -l debug2.zip
-rw-rw-r--. 1 wang wang 7747 10月 8 15:38 debug2.zip
3.压缩目录
选项 -r 表示递归压缩子目录下所有文件,将目录 c 压缩为 c.zip:
[wang@localhost doc]$ zip -r c.zip c
adding: c/ (stored 0%)
adding: c/hello.c (stored 0%)
adding: c/qt5_cadaques.pdf (deflated 4%)
adding: c/QmlBook-In-Chinese.pdf (deflated 21%)
adding: c/qwt-6.1.1.pdf (deflated 5%)
将目录 c 和文件 debug.log 压缩成为 cDebug.zip:
[wang@localhost doc]$ zip -r cDebug.zip c debug.log
adding: c/ (stored 0%)
adding: c/hello.c (stored 0%)
adding: c/qt5_cadaques.pdf (deflated 4%)
adding: c/QmlBook-In-Chinese.pdf (deflated 21%)
adding: c/qwt-6.1.1.pdf (deflated 5%)
adding: debug.log (deflated 98%)
4.从压缩文件内删除指定文件
# 查看 c.zip 中的内容
[wang@localhost doc]$ unzip -v c.zip
Archive: c.zip
Length Method Size Cmpr Date Time CRC-32 Name -------- ------ ------- ---- ---------- ----- -------- ---- 0 Stored 0 0% 10-08-2016 15:19 00000000 c/
60 Stored 60 0% 09-29-2016 11:05 1c70977f c/hello.c
7484327 Defl:N 7156991 4% 12-16-2015 09:24 419f4101 c/qt5_cadaques.pdf
7283461 Defl:N 5778374 21% 12-14-2015 11:19 a2ef8f24 c/QmlBook-In-Chinese.pdf
2604948 Defl:N 2466270 5% 01-18-2016 19:06 6dae3792 c/qwt-6.1.1.pdf
-------- ------- --- -------
17372796 15401695 11% 5 files
# 删除 c.zip 中的文件 c/QmlBook-In-Chinese.pdf
[wang@localhost doc]$ zip -d c.zip c/QmlBook-In-Chinese.pdf
deleting: c/QmlBook-In-Chinese.pdf
# 再次查看 c.zip 中的内容
[wang@localhost doc]$ unzip -v c.zip
Archive: c.zip
Length Method Size Cmpr Date Time CRC-32 Name -------- ------ ------- ---- ---------- ----- -------- ---- 0 Stored 0 0% 10-08-2016 15:19 00000000 c/
60 Stored 60 0% 09-29-2016 11:05 1c70977f c/hello.c
7484327 Defl:N 7156991 4% 12-16-2015 09:24 419f4101 c/qt5_cadaques.pdf
2604948 Defl:N 2466270 5% 01-18-2016 19:06 6dae3792 c/qwt-6.1.1.pdf
-------- ------- --- -------
10089335 9623321 5% 4 files
显然,使用 -d 选项删除指定文件后,c.zip 中的文件数从之前的 5 个变为 4 个。
5.向压缩文件中添加指定文件
使用 -m 选项将文件压缩并加入至压缩文件后,原始文件将被删除。
# 查看 c.zip 中的内容
[wang@localhost doc]$ unzip -v c.zip
Archive: c.zip
Length Method Size Cmpr Date Time CRC-32 Name
-------- ------ ------- ---- ---------- ----- -------- ----
0 Stored 0 0% 10-08-2016 15:19 00000000 c/
60 Stored 60 0% 09-29-2016 11:05 1c70977f c/hello.c
7484327 Defl:N 7156991 4% 12-16-2015 09:24 419f4101 c/qt5_cadaques.pdf
2604948 Defl:N 2466270 5% 01-18-2016 19:06 6dae3792 c/qwt-6.1.1.pdf
-------- ------- --- -------
10089335 9623321 5% 4 files
# 将文件 debug.log 压缩并加入至压缩文件 c.zip后,删除原始文件 debug.log
[wang@localhost doc]$ zip -m c.zip debug.log
adding: debug.log (deflated 98%)
[wang@localhost doc]$ unzip -v c.zip
Archive: c.zip
Length Method Size Cmpr Date Time CRC-32 Name
-------- ------ ------- ---- ---------- ----- -------- ----
0 Stored 0 0% 10-08-2016 15:19 00000000 c/
60 Stored 60 0% 09-29-2016 11:05 1c70977f c/hello.c
7484327 Defl:N 7156991 4% 12-16-2015 09:24 419f4101 c/qt5_cadaques.pdf
2604948 Defl:N 2466270 5% 01-18-2016 19:06 6dae3792 c/qwt-6.1.1.pdf
368640 Defl:N 8220 98% 09-30-2016 16:23 7c861caf debug.log
-------- ------- --- -------
10457975 9631541 8% 5 files
6.压缩文件时排除某个文件
# 查看目录树,包含两个文件
[wang@localhost doc]$ tree linux/
linux/
├── hello.sh
└── linux-program.pdf
0 directories, 2 files
# 压缩时,排除文件 linux/hello.sh
[wang@localhost doc]$ zip -r linux.zip linux -x linux/hello.sh
adding: linux/ (stored 0%)
adding: linux/linux-program.pdf (deflated 2%)
# 查看 linux.zip 中的内容
[wang@localhost doc]$ unzip -v linux.zip
Archive: linux.zip
Length Method Size Cmpr Date Time CRC-32 Name
-------- ------ ------- ---- ---------- ----- -------- ----
0 Stored 0 0% 10-08-2016 16:26 00000000 linux/
33921784 Defl:N 33208837 2% 06-07-2016 11:02 e968a493 linux/linux-program.pdf
-------- ------- --- -------
33921784 33208837 2% 2 files
unzip
命令介绍
命令名称
unzip
基本语法
unzip [-Z] [-cflptTuvz[abjnoqsCDKLMUVWX$/:^]] file[.zip] [file(s) …] [-x xfile(s) …] [-d exdir]
功能描述
列出、测试、提取 zip 文件中的压缩文件
命令选项
选项
说明
-c
将解压缩的结果显示到屏幕上,并对字符做适当的转换
-f
更新现有文件
-l
显示压缩文件内所包含的文件
-p
与 -c 选项类似,会将解压缩的结果显示到屏幕上,但不会执行任何的转换
-t
检查压缩文件是否正确,但不解压
-u
与 -f 选项类似,但是除了更新现有的文件外,也会将压缩文件中的其他文件解压缩到目录中
-v
执行时显示详细的信息,或查看压缩文件目录,但不解压。
-z
仅显示压缩文件的备注文字
-a
对文本文件进行必要的字符转换
-b
不要对文本文件进行字符转换
-C
压缩文件中的文件名称区分大小写
-j
不处理压缩文件中原有的目录路径
-L
将压缩文件中的全部文件名改为小写
-M
将输出结果送到 more 程序处理
-n
解压缩时不覆盖原有文件
-o
不必先询问用户,unzip 执行后覆盖原有文件
-q
执行时不显示任何信息
-s
将文件名中的空白字符转换为底线字符
-V
保留 VMS 的文件版本信息
-X
解压缩时同时回存文件原来的 UID/GID
file[.zip]
指定 .zip 压缩文件
[file(s) ...]
指定要处理 .zip 压缩文件中的哪些文件
[-x xfile(s) ...]
指定不要处理 .zip 压缩文件中的哪些文件
[-d exdir]
指定文件解压缩后所要存储的目录
-Z
unzip -Z 等于执行 zipinfo 指令
使用范例
1.将压缩文件解压缩至当前目录下
如果当前目录存在同名文件,会进行询问“是否替换?”。
[wang@localhost doc]$ unzip c.zip
Archive: c.zip
replace c/hello.c? [y]es, [n]o, [A]ll, [N]one, [r]ename: N
2.解压缩时不覆盖原有文件
[wang@localhost doc]$ unzip -n c.zip
Archive: c.zip
3..解压缩时覆盖原有文件
不必询问用户,unzip 执行后覆盖原有文件
[wang@localhost doc]$ unzip -o c.zip
Archive: c.zip
extracting: c/hello.c
inflating: c/qt5_cadaques.pdf
inflating: c/qwt-6.1.1.pdf
inflating: debug.log
4.将压缩文件解压缩至指定目录下
[wang@localhost doc]$ unzip -n c.zip -d /tmp/
Archive: c.zip
creating: /tmp/c/
extracting: /tmp/c/hello.c
inflating: /tmp/c/qt5_cadaques.pdf
inflating: /tmp/c/qwt-6.1.1.pdf
inflating: /tmp/debug.log
5.查看压缩文件目录(不解压)
[wang@localhost doc]$ unzip -v c.zip
Archive: c.zip
Length Method Size Cmpr Date Time CRC-32 Name
-------- ------ ------- ---- ---------- ----- -------- ----
0 Stored 0 0% 10-08-2016 15:19 00000000 c/
60 Stored 60 0% 09-29-2016 11:05 1c70977f c/hello.c
7484327 Defl:N 7156991 4% 12-16-2015 09:24 419f4101 c/qt5_cadaques.pdf
2604948 Defl:N 2466270 5% 01-18-2016 19:06 6dae3792 c/qwt-6.1.1.pdf
368640 Defl:N 8220 98% 09-30-2016 16:23 7c861caf debug.log
-------- ------- --- -------
10457975 9631541 8% 5 files
linux unzip 包括目录,Linux 命令(目录管理 - zip/unzip)相关推荐
- Linux 命令(文件和目录管理 - zip/unzip)
简述 zip/unzip 是 Linux 中广泛使用的压缩/解压缩程序,zip 命令用来将文件压缩为常用的 zip 格式(扩展名为 .zip):unzip 命令则用来解压缩 zip 文件. | 版权声 ...
- 命令行管理 Linux服务器困难?别怕,今天介绍一款基于 Web 的Linux管理神器:Webmin
对于任何 Linux 初学者来说,从命令行管理和管理 Linux 服务器都是非常困难的,在这种情况下,您可以使用 Webmin 从基于 Web 的界面管理您的 Linux 服务器. Webmin 是一 ...
- linux函数怎么判断目录是否存在,linux C之判断文件或目录是否存在 access函数
http://blog.sina.com.cn/s/blog_6a1837e90100uh5d.html access():判断是否具有存取文件的权限 相关函数 stat,open,chmod, ...
- 【Linux系统管理】05 常用命令 06 vim编辑器
一.命令的基本格式 1.1 命令的提示符 [root@localhost ~]# []:这是提示符的分隔符号,没有特殊含义. root:显示的是当前的登录用户,现在使用的是root用户登录. @:分隔 ...
- Linux下Crontab定时执行命令
Linux下Crontab定时执行命令 目录 Crontab概述及安装 Crontab规则 常见例子 1. Crontab概述及安装 1. Crontab指令是Linux下执行定时任务的一个命令. 2 ...
- Linux创建磁盘并分区命令
Linux创建磁盘并且分区命令 目录 1.首先创建磁盘 1.1 首先点击虚拟机,再点设置 1.2点击内存在点下面的磁盘添加 1.4 添加磁盘向导 2.创建磁盘分区 2.1 启动Linux,用超级管理员 ...
- linux 源码安装 zip/unzip
linux 源码安装 zip/unzip 场景说明 Linux服务器,没有root权限 需要使用zip/unzip,但遗憾的是服务器没有安装 解决办法 自己用源码编译 步骤 下载zip/unzip的源 ...
- Linux常用命令(本篇包括,Linux目录结构介绍、Linux Shell介绍、9个常见命令介绍、文件的概念、文件的操作(20个)、目录的操作、文件和目录的权限、文件压缩及解压缩)
Linux常用命令(本篇包括,Linux目录结构介绍.Linux Shell介绍.9个常见命令介绍.文件的概念.文件的操作(20个).目录的操作.文件和目录的权限.文件压缩及解压缩) ...
- Linux基本命令(1)管理文件和目录的命令
Linux管理文件和目录的命令 命令 功能 命令 功能 pwd 显示当前目录 ls 查看目录下的内容 cd 改变所在目录 cat 显示文件的内容 grep 在文件中查找某字符 cp 复制文件 touc ...
- 第十九天:初识Linux+系统与设置命令+目录管理
Linux 1 初识Linux 在前面的课程中,我们无论是开发.测试.部署.存储都在Windwos操作系统的环境中,从今天开始我们一起学习下Linux,Linux系统和Windows系统最大的区别就是 ...
最新文章
- HDU 4946 Area of Mushroom 凸包
- 问题 B: 小鱼的搭配购物(并查集+01背包)
- 鼓励自己最有效的20个方法
- java写的教育管理的项目_干货分享|推荐12款适合做Java后台管理系统的项目
- 调整地面材质_【C4DtoA 13】Arnold渲染器(材质七): Shadow Matte Shader
- mysql中的存储机制_Mysql的存储引擎
- python资料-(转)python资料汇总(建议收藏)零基础必看
- 全网首发:linux任务栏分组的研究
- matlab给图片滤波,matlab每日学习 图片滤波
- easy Connect连接成功,但是虚拟IP地址获取失败,而导致网页无法打开
- 微pe工具箱具体分区教程
- 【暗恋不可耻但无用】QQ空间爬虫-Python版(pyzone-crawler)
- xp怎么查看计算机配置,怎么查看xp系统的配置信息
- Angular 从入坑到挖坑 - 路由守卫连连看
- 计算机无法连接路由器上网,电脑连接路由器不能上网怎么办
- 双十一适合买什么,缓解失眠助眠好物推荐榜
- PacBio vs. Oxford Nanopore sequencing
- python全栈开发书籍推荐_python全栈开发学习 01
- 【经历分享 工作体会 推荐】那些“资质平平”的计算机系学生,现在怎么样了?
- AnyChat开发流程指南