linux(centos8):使用zip/unzip压缩和解压缩文件
一,查看zip命令所属的rpm包
1,zip
[root@kubemaster ~]# whereis zip
zip: /usr/bin/zip /usr/share/man/man1/zip.1.gz
[root@kubemaster ~]# rpm -qf /usr/bin/zip
zip-3.0-23.el8.x86_64
[root@kubemaster ~]# dnf install zip
2,unzip
[root@kubemaster ~]# whereis unzip
unzip: /usr/bin/unzip /usr/share/man/man1/unzip.1.gz
[root@kubemaster ~]# rpm -qf /usr/bin/unzip
unzip-6.0-43.el8.x86_64
如果找不到unzip命令,
可以用dnf进行安装
[root@kubemaster ~]# dnf install unzip
说明:刘宏缔的架构森林是一个专注架构的博客,地址:https://www.cnblogs.com/architectforest
对应的源码可以访问这里获取: https://github.com/liuhongdi/
说明:作者:刘宏缔 邮箱: 371125307@qq.com
二,查看zip命令的版本和帮助:
[root@kubemaster ~]# zip
Copyright (c) 1990-2008 Info-ZIP - Type 'zip "-L"' for software license.
Zip 3.0 (July 5th 2008). Usage:
zip [-options] [-b path] [-t mmddyyyy] [-n suffixes] [zipfile list] [-xi list]
The default action is to add or replace zipfile entries from list, which
can include the special name - to compress standard input.
...
[root@kubemaster ~]# unzip
UnZip 6.00 of 20 April 2009, by Info-ZIP. Maintained by C. Spieler. Send
bug reports using http://www.info-zip.org/zip-bug.html; see README for details. Usage: unzip [-Z] [-opts[modifiers]] file[.zip] [list] [-x xlist] [-d exdir]
Default action is to extract files in list, except those in xlist, to exdir;
...
三,zip的常用例子
[root@kubemaster zip]# zip t1.zip a.txt b.txt
adding: a.txt (deflated 82%)
adding: b.txt (deflated 82%)
2,查看zip包中包含的文件:
用zip查看
#-sf:--show-files:显示文件列表
[root@kubemaster zip]# zip -sf t1.zip
Archive contains:
a.txt
b.txt
Total 2 entries (112 bytes)
用unzip查看
#-l:列出文件
[root@kubemaster zip]# unzip -l t1.zip
Archive: t1.zip
Length Date Time Name
--------- ---------- ----- ----
56 07-28-2020 18:38 a.txt
56 07-28-2020 18:38 b.txt
--------- -------
112 2 files
用zipinfo查看:
[root@kubemaster zip]# zipinfo t1.zip
Archive: t1.zip
Zip file size: 318 bytes, number of entries: 2
-rw-r--r-- 3.0 unx 56 tx defN 20-Jul-28 18:38 a.txt
-rw-r--r-- 3.0 unx 56 tx defN 20-Jul-28 18:38 b.txt
2 files, 112 bytes uncompressed, 20 bytes compressed: 82.1%
说明:zipinfo是unzip包中自带的命令
3,添加一个文件到现有的zip包
[root@kubemaster zip]# zip t1.zip c.txt
adding: c.txt (deflated 82%)
[root@kubemaster zip]# zipinfo t1.zip
Archive: t1.zip
Zip file size: 466 bytes, number of entries: 3
-rw-r--r-- 3.0 unx 56 tx defN 20-Jul-28 18:38 a.txt
-rw-r--r-- 3.0 unx 56 tx defN 20-Jul-28 18:38 b.txt
-rw-r--r-- 3.0 unx 56 tx defN 20-Jul-28 19:02 c.txt
3 files, 168 bytes uncompressed, 30 bytes compressed: 82.1%
可以看到已添加成功
4,从现有的zip压缩包中删除一个文件
[root@kubemaster zip]# zip -d t1.zip c.txt
deleting: c.txt
[root@kubemaster zip]# zipinfo t1.zip
Archive: t1.zip
Zip file size: 318 bytes, number of entries: 2
-rw-r--r-- 3.0 unx 56 tx defN 20-Jul-28 18:38 a.txt
-rw-r--r-- 3.0 unx 56 tx defN 20-Jul-28 18:38 b.txt
2 files, 112 bytes uncompressed, 20 bytes compressed: 82.1%
可以看到已删除成功
5,添加到zip时去掉原目录,只保留文件名:
#-j:不处理压缩文件中原有的目录路径
[root@kubemaster zip]# zip -j t1.zip /var/log/cron
adding: cron (deflated 86%)
[root@kubemaster zip]# zipinfo t1.zip
Archive: t1.zip
Zip file size: 1559 bytes, number of entries: 4
-rw-r--r-- 3.0 unx 56 tx defN 20-Jul-28 18:38 a.txt
-rw-r--r-- 3.0 unx 56 tx defN 20-Jul-28 18:38 b.txt
-rw-r--r-- 3.0 unx 56 tx defN 20-Jul-28 19:02 c.txt
-rw------- 3.0 unx 6973 tx defN 20-Jul-28 19:01 cron
4 files, 7141 bytes uncompressed, 987 bytes compressed: 86.2%
可以看到cron已经被去掉了目录信息
6,替换zip包中的文件:
[root@kubemaster zip]# zipinfo t1.zip
Archive: t1.zip
Zip file size: 1559 bytes, number of entries: 4
-rw-r--r-- 3.0 unx 56 tx defN 20-Jul-28 18:38 a.txt
-rw-r--r-- 3.0 unx 56 tx defN 20-Jul-28 18:38 b.txt
-rw-r--r-- 3.0 unx 56 tx defN 20-Jul-28 19:02 c.txt
-rw------- 3.0 unx 6973 tx defN 20-Jul-28 19:01 cron
4 files, 7141 bytes uncompressed, 987 bytes compressed: 86.2%
可以看到a.txt的文件大小是56
我们修改a.txt文件后,替换压缩包中的此文件
[root@kubemaster zip]# zip -u t1.zip a.txt
[root@kubemaster zip]# zipinfo t1.zip
Archive: t1.zip
Zip file size: 1564 bytes, number of entries: 4
-rw-r--r-- 3.0 unx 252 tx defN 20-Jul-28 19:25 a.txt
-rw-r--r-- 3.0 unx 56 tx defN 20-Jul-28 18:38 b.txt
-rw-r--r-- 3.0 unx 56 tx defN 20-Jul-28 19:02 c.txt
-rw------- 3.0 unx 6973 tx defN 20-Jul-28 19:01 cron
4 files, 7337 bytes uncompressed, 992 bytes compressed: 86.5%
已替换成功
7,指定压缩比时,默认的压缩比是多少?
[root@kubemaster zip]# zip -h2
...
-0 store files (no compression)
-1 to -9 compress fastest to compress best (default is 6)
...
这个值一般不需要改动
[root@kubemaster goods]# ls
ga.txt gb.txt
[root@kubemaster goods]# cd ..
[root@kubemaster zip]# zip -r t1.zip ./goods/
adding: goods/ (stored 0%)
adding: goods/ga.txt (deflated 71%)
adding: goods/gb.txt (deflated 74%)
[root@kubemaster zip]# zipinfo t1.zip
Archive: t1.zip
Zip file size: 2020 bytes, number of entries: 7
-rw-r--r-- 3.0 unx 252 tx defN 20-Jul-28 19:25 a.txt
-rw-r--r-- 3.0 unx 56 tx defN 20-Jul-28 18:38 b.txt
-rw-r--r-- 3.0 unx 56 tx defN 20-Jul-28 19:02 c.txt
-rw------- 3.0 unx 6973 tx defN 20-Jul-28 19:01 cron
drwxr-xr-x 3.0 unx 0 bx stor 20-Jul-31 11:22 goods/
-rw-r--r-- 3.0 unx 21 tx defN 20-Jul-31 11:22 goods/ga.txt
-rw-r--r-- 3.0 unx 23 tx defN 20-Jul-31 11:22 goods/gb.txt
7 files, 7381 bytes uncompressed, 1004 bytes compressed: 86.4%
四,例子:zip包加密码
[root@kubemaster zip]# zip -P pass -r t2.zip goods
adding: goods/ (stored 0%)
adding: goods/ga.txt (deflated 71%)
adding: goods/gb.txt (deflated 74%)
[root@kubemaster zip]# unzip t2.zip
Archive: t2.zip
[t2.zip] goods/ga.txt password:
五,例子:zip包加备注 :
[root@kubemaster zip]# zip -z t1.zip
enter new zip file comment (end with .):
goods list zip
important files.
.
2,查看zip文件中已添加的注释
[root@kubemaster zip]# zipnote t1.zip
...
goods list zip
important files.
3,用zipinfo也可以查看注释
# -z: 打印注释
[root@kubemaster zip]# zipinfo -z t1.zip
Archive: t1.zip
goods list zip
important files.
Zip file size: 2052 bytes, number of entries: 7
-rw-r--r-- 3.0 unx 252 tx defN 20-Jul-28 19:25 a.txt
-rw-r--r-- 3.0 unx 56 tx defN 20-Jul-28 18:38 b.txt
-rw-r--r-- 3.0 unx 56 tx defN 20-Jul-28 19:02 c.txt
-rw------- 3.0 unx 6973 tx defN 20-Jul-28 19:01 cron
drwxr-xr-x 3.0 unx 0 bx stor 20-Jul-31 11:22 goods/
-rw-r--r-- 3.0 unx 21 tx defN 20-Jul-31 11:22 goods/ga.txt
-rw-r--r-- 3.0 unx 23 tx defN 20-Jul-31 11:22 goods/gb.txt
7 files, 7381 bytes uncompressed, 1004 bytes compressed: 86.4%
六,unzip的常用例子
[root@kubemaster zip]# unzip -t t2.zip
Archive: t2.zip
testing: goods/ OK
[t2.zip] goods/ga.txt password:
testing: goods/ga.txt OK
testing: goods/gb.txt OK
No errors detected in compressed data of t2.zip.
[root@kubemaster zip]# unzip t2.zip -d /root/unzip
Archive: t2.zip
creating: /root/unzip/goods/
[t2.zip] goods/ga.txt password:
inflating: /root/unzip/goods/ga.txt
inflating: /root/unzip/goods/gb.txt
[root@kubemaster zip]# ls /root/unzip/
goods
3,解压缩时取消目录:
#-j:忽略文件原有目录,把文件统一解压到第一级目录
[root@kubemaster zip]# unzip -j t2.zip -d /root/undir
Archive: t2.zip
[t2.zip] goods/ga.txt password:
inflating: /root/undir/ga.txt
inflating: /root/undir/gb.txt
[root@kubemaster zip]# ls /root/undir
ga.txt gb.txt
4,解压缩指定的文件
说明:把要解压的文件名写到命令行中zip包后面即可
[root@kubemaster zip]# unzip t2.zip goods/gb.txt -d /root/undir2
Archive: t2.zip
[t2.zip] goods/gb.txt password:
inflating: /root/undir2/goods/gb.txt
[root@kubemaster zip]# ls -R /root/undir2
/root/undir2:
goods /root/undir2/goods:
gb.txt
七,查看linux的版本:
[root@kubemaster ~]# cat /etc/redhat-release
CentOS Linux release 8.2.2004 (Core)
linux(centos8):使用zip/unzip压缩和解压缩文件的更多相关文章
- Linux常用命令学习3---(文件的压缩和解压缩命令zip unzip tar、关机和重启命令shutdown reboot……)
1.压缩和解压缩命令 常用压缩格式:.zip..gz..bz2..tar.gz..tar.bz2..rar .zip格式压缩和解压缩命令 zip 压缩文件名 源文件:压缩文件 ...
- 【转载】 Linux常用命令: zip、unzip 压缩和解压缩命令
Linux常用命令: zip.unzip 压缩和解压缩命令 Linux常用命令: zip.unzip 压缩和解压缩命令 zip的用法 基本用法是: zip [参数] [打包后的文件名] [打包的目 ...
- 【转载】linux 压缩和解压缩命令gz、tar、zip、bz2
linux系统下压缩解压缩很让人头大,每次都要查命令.转载下方便以后查阅.原文信息如下: 作者:capecape 来源:CSDN 原文:https://blog.csdn.net/capecape/a ...
- Linux系列教程(八)——Linux常用命令之压缩和解压缩命令
前面一篇博客我们讲解了Linux帮助和用户管理命令,对于帮助命令,man 命令能获得命令和配置文件的帮助信息,help命令能获得shell内置命令的帮助信息.我们可以通过which来区分什么是shel ...
- Linux常用命令之压缩和解压缩命令
目录 1.压缩解压缩格式 .gz 一.将文件压缩为 .gz 格式,只能压缩文件:gzip 二.将 .gz 文件解压:gunzip 2.压缩解压缩格式 .tar.gz 一.将文件或目录压缩为 .tar. ...
- Linux命令——压缩和解压缩
Linux命令--压缩和解压缩 尽管文件后缀名在Linux中没什么用,但还是来看看: .gz:表示由gzip压缩工具压缩的文件 .bz2:表示由bzip2压缩工具压缩的文件 .tar:表示由tar打包 ...
- Linux关于压缩和解压缩实例
在谈到压缩和解压缩,我想说说它们的应用场景,其实它们主要的应用场景是有这么几个方面? (1)备份(几十个数据库每天进行备份,即包含数据又包含脚本,还有其他十分重要的日志文件等等); (2)降低服务器存 ...
- 『学了就忘』Linux基础命令 — 32、压缩和解压缩相关命令
目录 1.".zip"格式压缩 2.".gz"格式压缩 3.".bz2"格式压缩 4.".tar"格式打包 5.打包和压 ...
- Linux下的压缩和解压缩命令——gzip/gunzip
gzip命令 gzip命令用来压缩文件.gzip是个使用广泛的压缩程序,文件经它压缩过后,其名称后面会多处".gz"扩展名. gzip是在Linux系统中经常使用的一个对文件进行压 ...
随机推荐
- xargs命令学习,于阮一峰博客
一.标准输入与管道命令 Unix 命令都带有参数,有些命令可以接受"标准输入"(stdin)作为参数. $ cat /etc/passwd | grep root 上面的代码使用了 ...
- [LeetCode] 46. 全排列(回溯)
###题目 给定一个没有重复数字的序列,返回其所有可能的全排列. 示例: 输入: [1,2,3] 输出: [ [1,2,3], [1,3,2], [2,1,3], [2,3,1], [3,1,2], ...
- 云计算openstack——高可以负载均衡(14)
一.云平台概要 1.本openstack云平台使用开源软件Openstack Ocata版…… 2.OpenStack 部署环境中,各节点可以分为几类: Cloud Controller Node ( ...
- 重磅来袭 Vue 3.0 One Piece 正式发布
代号为One Piece 的Vue3.0 在9月19日凌晨正式发布!! 此次vue3.0 为用户提供了全新的 composition-api 以及更小的包大小,和更好的 TypeScript 支持. ...
- ECMAScript 6新特性简介
目录 简介 ECMAScript和JavaScript的关系 let和const 解构赋值 数组的扩展 函数的扩展 简介 ECMAScript 6.0(以下简称 ES6)是 JavaScript 语言 ...
- 容器云平台No.3~kubernetes使用
今天是是第三篇,接着上一篇继续 首先,通过kubectl可以看到,三个节点都正常运行 [root@k8s-master001 ~]# kubectl get no NAME STATUS ROLES ...
- Flutter学习四之实现一个支持刷新加载的列表
上一篇文章用Scaffold widget搭建了一个带底部导航栏的的项目架构,这篇文章就来介绍一下在flutter中怎么实现一个带下拉刷新和上拉加载更多的一个列表,这里用到了pull_to_refre ...
- 趣图:普通人讲故事 VS 程序员讲故事
扩展阅读 趣图:我说自己菜 vs 大佬说自己菜 趣图:客户需求VS客户预算 趣图:在外行人眼中的程序员 如何处理前任程序员留下的代码 一个故事讲清楚NIO
- 刷题[GXYCTF2019]BabySQli
解题思路 只有一个登陆框,查看源码,链接到search.php后发现注释中有这样一段内容 MMZFM422K5HDASKDN5TVU3SKOZRFGQRRMMZFM6KJJBSG6WSYJJWESSC ...
- TypeScript实现设计模式——生成器模式
生成器模式是一种在TypeScript/JavaScript中非常常见的创建型设计模式,它使你能够分步骤创建复杂对象.当你需要创建一个可能有许多配置选项的对象时, 该模式会特别有用. 问题 假设我们需 ...