源码部署unzip解压缩工具
2023-09-14 09:09:03 时间
unzip命令是用于 .zip
格式文件的解压缩工具,unzip命令将列出、测试或从zip格式存档中提取文件,这些文件通常位于MS-DOS系统上。Man手册
默认行为(就是没有选项)是从指定的ZIP存档中提取所有的文件到当前目录(及其下面的子目录)。一个配套程序zip(1L)创建ZIP存档;这两个程序都与PKWARE的PKZIP和PKUNZIP为MS-DOS创建的存档文件兼容,但许多情况下,程序选项或默认行为是不同的。
1、获取unzip源码
官网链接
sudo wget http://downloads.sourceforge.net/infozip/unzip60.tar.gz (ubuntu)
wget http://downloads.sourceforge.net/infozip/unzip60.tar.gz (centos)
2、解压
tar -zxf unzip60.tar.gz
3、进入目录
cd unzip60/
4、将Makefile从unix子目录复制到当前目录
cp unix/Makefile .
5、安装
# Ubuntu
make prefix=/usr linux
sudo make prefix=/usr install
# CentOS
make clean
make generic
# 若要自定义交叉编译工具,比如在嵌入式系统运行,则只要修改unix\Makefile文件下的:
44 # UnZip flags
45 CC = cc# 尝试使用“gcc”目标,而不是改变它 (CC and LD
46 LD = $(CC)# must match, 否则“未解析的符号:__main”是可能的)
--<
#CC = cc 这句屏蔽 并修改对应的路径
CC = /home/mipsel-unknown-linux-gnu/bin/mipsel-unknown-linux-gnu-gcc
然后重新clean 后再编译即可:
make -f unix/Makefile clean
make -f unix/Makefile generic
6、验证
zip -v
unzip -v
7、命令使用
功能说明:解压缩zip文件
# 语法:
unzip [-cflptuvz][-agCjLMnoqsVX][-P ][.zip文 件][文件][-d ][-x ] 或 unzip [-Z]
补充说明:unzip为.zip压缩文件的解压缩程序。
# 参数:
-c 将解压缩的结果显示到屏幕上,并对字符做适当的转换
-f 更新现有的文件
-l 显示压缩文件内所包含的文件
-p 与-c参数类似,会将解压缩的结果显示到屏幕上,但不会执行任何的转换
-t 检查压缩文件是否正确。但不解压
-u 与-f参数类似,但是除了更新现有的文件外,也会将压缩文件中 的其他文件解压缩到目录中
-v 执行是时显示详细的信息。或查看压缩文件目录,但不解压
-z 仅显示压缩文件的备注文字
-a 对文本文件进行必要的字符转换
-b 不要对文本文件进行字符转换
-C 压缩文件中的文件名称区分大小写
-j 不处理压缩文件中原有的目录路径
-L 将压缩文件中的全部文件名改为小写
-M 将输出结果送到more程序处理
-n 解压缩时不要覆盖原有的文件
-o 不必先询问用户,unzip执行后覆盖原有文件
-P 使用zip的密码选项
-q 执行时不显示任何信息
-s 将文件名中的空白字符转换为底线字符
-V 保留VMS的文件版本信息
-X 解压缩时同时回存文件原来的UID/GID
[.zip文件] 指定.zip压缩文件
[文件] 指定要处理.zip压缩文件中的哪些文件
-d 指定文件解压缩后所要存储的目录
-x 指定不要处理.zip压缩文件中的哪些文件
-Z unzip -Z等于执行zipinfo指令
Linux的unzip命令详解实例
例1:将压缩文件text.zip在当前目录下解压缩。
[root@master ~]# unzip test.zip
例2:将压缩文件text.zip在指定目录/tmp下解压缩,如果已有相同的文件存在,要求unzip命令不覆盖原先的文件。
[root@master ~]# unzip -n test.zip -d /tmp
例3:查看压缩文件目录,但不解压。
[root@master ~]# unzip -v test.zip
例4:将压缩文件test.zip在指定目录tmp下解压缩,如果已有相同的文件存在,要求unzip命令覆盖原先的文件。
[root@master ~]# unzip -o test.zip -d tmp/
例5:解压当前目录下的所有zip文件
unzip "*.zip"
ls *.zip | xargs -n1 unzip
Now that the environment won’t change, changing yourself is the only solution.
相关文章
- Spring Framework 源码学习笔记(五)
- 不会部署并调试SpringBoot源码?一看必会IDEA操作[通俗易懂]
- Spark3.12+Kyuubi1.5.2+kyuubi-spark-authz源码编译打包+部署配置HA
- 开源在线客服系统源码h5|thinkphp在线客服完整源码|网页在线客服源码
- 关于羊了个羊程序代码小程序H5源码部署讲解方案
- 【说站】mbti人格类型测试助手微信小程序源码
- 跨境电商ERP店群管理系统源码支持二开,企业数据私有化部署
- Android 时钟TextClock 使用及源码分析
- 去中心化互助公排循环游戏dapp系统开发合约部署(案例源码)
- NeurIPS 2022 | 模型轻量化部署!?根源分析异常值对Transformer的影响(含源码)
- react的源码架构
- 三行代码完成模型部署,支持云边端几十款AI硬件部署,覆盖CV、NLP、Speech(附源码)
- 阅读源码入门实践系列之 element ui(1)
- react源码之hooks
- 从recat源码角度看setState流程
- 最强大脑(量化交易)合约版系统开发源码(搭建部署)
- Spring Boot 源码解读与原理剖析|文末赠书
- mold源码阅读 其三 符号决议
- 源码安装apache脚本部署过程详解
- ThreadLocal的使用与源码解析详解编程语言
- 疑似俄罗斯黑客团体Fancy Bear使用的攻击程序源码文件
- 一个可分页的基于文本的PHP留言板源码