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系统中经常使用的一个对文件进行压 ...
随机推荐
- python之class Meta用法
Django model中的 class Meta 详解 通过一个内嵌类 "class Meta" 给你的 model 定义元数据, 类似下面这样: class Foo(mod ...
- 小白的springboot之路(十七)、阿里云OSS 的使用
0-前言 项目中,文件服务必不可少,常用的有各云服务商的OSS服务(如阿里云OSS,腾讯云OSS,七牛云).自建(fastDFS.minio): 推荐:如果用云服务的话,阿里云OSS很方便,如果自建的 ...
- 吾日三省吾身 java核心代码 高并发集群 spring源码&思想
阿里面试题 未解决https://my.oschina.net/wuweixiang/blog/1863322 java基础 有答案 https://www.cnblogs.com/xdp- ...
- vue v-for渲染数据出现DOMException: Failed to execute 'removeChild' on 'Node': The node .....
在项目中,使用了vue的v-for渲染数组数据,在一次改变数组的时候出现异常报错,而实际的数组是已经变化过的了,页面卡死 网上找了一下原因,说是vue的DOM渲染的时候,删除之后DOM里面的还没有反应 ...
- google protocol buffer——protobuf的问题和改进2
这一系列文章主要是对protocol buffer这种编码格式的使用方式.特点.使用技巧进行说明,并在原生protobuf的基础上进行扩展和优化,使得它能更好地为我们服务. 在上一篇文章中,我们举例了 ...
- 看动画学算法之:排序-count排序
目录 简介 count排序的例子 count排序的java实现 count排序的第二种方法 count排序的时间复杂度 简介 今天我们介绍一种不需要作比较就能排序的算法:count排序. count排 ...
- breakpad系列(1)——起步
原文来自breakpad目录中doc目录下的getting_started_with_breakpad文档,建议去看原文! 介绍 Breakpad是一个比Linux core机制更强大的.用于记录程序 ...
- JS实现简单的多选选项的全选反选按钮
1 <!DOCTYPE html> 2 <html> 3 <head lang="en"> 4 <!-- 5 需求: 6 1.写三个按钮: ...
- 刷题[网鼎杯 2020 朱雀组]phpweb
解题思路 打开是一个蛮有意思的背景,众生皆懒狗,是自己没错了.源代码看一看,啥都没有.抓个包 诶,一看到func和p两个参数,想到了call_user_func(). 尝试着把date改成system ...
- axios之post提交
axios官网地址:https://github.com/axios/axios post提交到后台需要做相对应的处理 使用URLSearchParams可以让post 数据提交到后台 对应gitHu ...