Linux shell编程学习笔记81:zcat命令——快速查看压缩文件内容

news2024/9/19 10:19:43

0 引言

Linux shell编程学习笔记80:gzip命令——让文件瘦身-CSDN博客icon-default.png?t=O83Ahttps://blog.csdn.net/Purpleendurer/article/details/141862213?spm=1001.2014.3001.5501中,我们使用gzip命令可以创建压缩文件。那么,我们可以使用zcat命令来查看压缩文件的内容。

1 zcat 的功能,帮助信息,格式,选项和参数说明

1.1 zcat 的功能

在Linux中,cat命令常用于显示常规文本文件的内容.

zcat命令则是针对压缩文件的cat命令版本,全称为“concatenate for gzipped files”,主要用于显示gzip压缩文件的内容。这个命令可以说是查看压缩文件内容的捷径,因为它免去了先解压再查看的繁琐步骤。

1.2 zcat 的帮助信息


我们可以使用 zcat -help 命令获取帮助信息。

1.2.1 bash中的zcat帮助信息 

[prupleendurer @ bash ~] zcat --help
Usage: /usr/bin/zcat [OPTION]... [FILE]...
Uncompress FILEs to standard output.

  -f, --force       force; read compressed data even from a terminal
  -l, --list        list compressed file contents
  -q, --quiet       suppress all warnings
  -r, --recursive   operate recursively on directories
  -S, --suffix=SUF  use suffix SUF on compressed files
  -t, --test        test compressed file integrity
  -v, --verbose     verbose mode
      --help        display this help and exit
      --version     display version information and exit

With no FILE, or when FILE is -, read standard input.

Report bugs to <bug-gzip@gnu.org>.
[prupleendurer @ bash ~] 

1.2.2 银河麒麟(kylin)系统中的zcat帮助信息

[purpleendurer @ kylin ~] zcat --help
Usage: /bin/zcat [OPTION]... [FILE]...
Uncompress FILEs to standard output.

  -f, --force       force; read compressed data even from a terminal
  -l, --list        list compressed file contents
  -q, --quiet       suppress all warnings
  -r, --recursive   operate recursively on directories
  -S, --suffix=SUF  use suffix SUF on compressed files
  -t, --test        test compressed file integrity
  -v, --verbose     verbose mode
      --help        display this help and exit
      --version     display version information and exit

With no FILE, or when FILE is -, read standard input.

Report bugs to <bug-gzip@gnu.org>.
[purpleendurer @ kylin ~]

1.3 zcat 的命令格式

zcat [选项]... [文件]...

1.4 zcat 的选项和参数说明

1.4.1 zcat的选项

选项说明备注
-f, --force强制读取;甚至可以从终端读取压缩数据
-l, --list列出压缩文件内容与gzip相同
-q, --quiet抑制所有警告,即不显示警告信息与gzip相同
-r,--recursive对目录递归操作与gzip相同
-S, --suffix=SUF在压缩文件上使用后缀 SUF,当压缩包文件后缀不是标准压缩包后缀时使用此选项。
-t, --test测试压缩文件的完整性与gzip相同
-v, --verbose详细模式与gzip相同
--help显示帮助信息并退出与gzip相同
--version显示版本信息并退出与gzip相同

1.4.2 zcat的参数

文件:表示要查看的一个或多个压缩文件。 

2 zcat使用实例

2.1 创建演示文件

我们先使用 echo 命令和输出重定向在当前目录下创建文件f1.txt 和 f2.txt,然后使用 gzip命令对f1.txt和f2.txt 进行压缩,生成压缩文件f1.txt.gz 和 f2.txt.gz

[purpleendurer @ bash ~] echo "f1" > f1.txt
[purpleendurer @ bash ~] echo "f2" > f2.txt
[purpleendurer @ bash ~] gzip  < f1.txt > f1.txt.gz
[purpleendurer @ bash ~] gzip  < f2.txt > f2.txt.gz
[purpleendurer @ bash ~] ls
Code  f1.txt  f1.txt.gz  f2.txt  f2.txt.gz
[purpleendurer @ bash ~] 

2.2 查看压缩文件

2.2.1 zcat 文件名

例如,我们要查看目录下的所有以英文字母f开头的压缩文件 

[purpleendurer @ bash ~] zcat f*.txt.gz
f1
f2
[purpleendurer @ bash ~] zcat -iv f*.txt.gz

如果我们只指定文件名,不指定任何选项, 命令显示的信息非常有限。

2.2.2 zcat -l 文件名 : 查看压缩文件的内容

使用-l参数,我们可以看到压缩文件的内容。

例如,我们要查看目录下的所有以英文字母f开头的压缩文件的信息

[purpleendurer @ bash ~] zcat -l f*.txt.gz
         compressed        uncompressed  ratio uncompressed_name
                 23                   3 -66.7% f1.txt
                 23                   3 -66.7% f2.txt
                 46                   6 -366.7% (totals)
[purpleendurer @ bash ~] gzip -l f*.txt.gz
         compressed        uncompressed  ratio uncompressed_name
                 23                   3 -66.7% f1.txt
                 23                   3 -66.7% f2.txt
                 46                   6 -366.7% (totals)
[purpleendurer @ bash ~] 

zcat -l命令显示的信息包括4列内容,其含意分别是:

  1. compressed               :压缩后
  2. uncompressed           :压缩前
  3. ratio                            :压缩率
  4. uncompressed_name :解压缩的文件名称

可以看到,zcat -lv命令执行的结果和gzip -lv命令执行的结果是相同的。

 

可以看到,zcat -l命令执行的结果和gzip -l命令执行的结果是相同的。

2.2.3 zcat -lv 文件名:查看压缩文件的详细内容

使用-v参数,我们可以看到压缩文件更详细的信息。

例如,我们要查看目录下的所有以英文字母f开头的压缩文件的详细信息:

[purpleendurer @ bash ~] zcat -lv f*.gz
method  crc     date  time           compressed        uncompressed  ratio uncompressed_name
defla 9593802c Sep 18 23:20                  23                   3 -66.7% f1.txt
defla bebed3ef Sep 18 23:20                  23                   3 -66.7% f2.txt
                                             46                   6 -366.7% (totals)
[purpleendurer @ bash ~] gzip -lv f*.gz
method  crc     date  time           compressed        uncompressed  ratio uncompressed_name
defla 9593802c Sep 18 23:20                  23                   3 -66.7% f1.txt
defla bebed3ef Sep 18 23:20                  23                   3 -66.7% f2.txt
                                             46                   6 -366.7% (totals)
[purpleendurer @ bash ~] 

zcat -lv命令显示的信息包括8列内容,比zcat -l命令多了前面4列。这8列信息的含意分别是:

  1. method                       :压缩方法
  2. crc                              :crc校验码
  3. date                            :日期
  4. time                            :时刻
  5. compressed               :压缩后
  6. uncompressed           :压缩前
  7. ratio                            :压缩率
  8. uncompressed_name :解压缩的文件名称

可以看到,zcat -lv命令执行的结果和gzip -lv命令执行的结果是相同的。

2.3 zcat -tv 文件名:测试压缩文件完整性

使用-t参数,我们可以测试压缩文件的完整性。

例如,我们要查看目录下的所有以英文字母f开头的压缩文件的详细信息:

[purpleendurer @ bash ~] zcat -t f*.gz
[purpleendurer @ bash ~] zcat -tv f*.gz
f1.txt.gz:       OK
f2.txt.gz:       OK
[purpleendurer @ bash ~] gzip -t f*.gz
[purpleendurer @ bash ~] gzip -tv f*.gz
f1.txt.gz:       OK
f2.txt.gz:       OK
[purpleendurer @ bash ~] 

如果只使用-t选项,zcat没有显示反馈信息。

我们让-v和-t两个选项一起使用,就可以看到测试的结果。

我们同样看到,zcat -tv命令执行的结果和gzip -tv命令执行的结果是相同的。

2.4 zcat -ltv 文件名 = zcat -lv 文件名

如果我们同时使用ltv三个选项,会看到什么结果呢?

我们以查看目录下的所有以英文字母f开头的压缩文件为例来看看:

[purpleendurer @ bash ~] zcat -ltv f*.gz
method  crc     date  time           compressed        uncompressed  ratio uncompressed_name
defla 9593802c Sep 18 23:20                  23                   3 -66.7% f1.txt
defla bebed3ef Sep 18 23:20                  23                   3 -66.7% f2.txt
                                             46                   6 -366.7% (totals)
[purpleendurer @ bash ~] gzip -ltv f*.gz
method  crc     date  time           compressed        uncompressed  ratio uncompressed_name
defla 9593802c Sep 18 23:20                  23                   3 -66.7% f1.txt
defla bebed3ef Sep 18 23:20                  23                   3 -66.7% f2.txt
                                             46                   6 -366.7% (totals)
[purpleendurer @ bash ~] 

 

 2.5 zcat -V:查看版本信息

[purpleendurer @ bash ~] zcat -V
gzip 1.5
Copyright (C) 2007, 2010, 2011 Free Software Foundation, Inc.
Copyright (C) 1993 Jean-loup Gailly.
This is free software.  You may redistribute copies of it under the terms of
the GNU General Public License <http://www.gnu.org/licenses/gpl.html>.
There is NO WARRANTY, to the extent permitted by law.

Written by Jean-loup Gailly.
[purpleendurer @ bash ~] gzip -V
gzip 1.5
Copyright (C) 2007, 2010, 2011 Free Software Foundation, Inc.
Copyright (C) 1993 Jean-loup Gailly.
This is free software.  You may redistribute copies of it under the terms of
the GNU General Public License <http://www.gnu.org/licenses/gpl.html>.
There is NO WARRANTY, to the extent permitted by law.

Written by Jean-loup Gailly.
[purpleendurer @ bash ~] 

zcat和gzip是亲如一家呀 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2146079.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

传输层协议——udp/tcp

目录 再谈端口号 udp 协议 理解报头 udp特点 缓冲区 udp使用的注意事项 tcp协议 TCP的可靠性与提高效率的策略 序号/确认序号 窗口大小 ACK&#xff1a; PSH URG RST 保活机制 重传 三次握手(SYN) 四次挥手(FIN) 流量控制 滑动窗口 拥塞控制 延迟应答 捎带应答 面…

JavaScript match() 方法

match() 方法可在字符串内检索指定的值&#xff0c;或找到一个或多个正则表达式的匹配。 如果想了解更多正则表达式教程请查看&#xff1a; RegExp 教程 和我们的 RegExp 对象参考手册。 注意&#xff1a; match() 方法将检索字符串 String Object&#xff0c;以找到一个或多个…

Vue3 项目引入阿里 iconfont 图标和字体的多种方式

&#x1f680; 个人简介&#xff1a;某大型国企资深软件研发工程师&#xff0c;信息系统项目管理师、CSDN优质创作者、阿里云专家博主&#xff0c;华为云云享专家&#xff0c;分享前端后端相关技术与工作常见问题~ &#x1f49f; 作 者&#xff1a;码喽的自我修养&#x1f9…

计算机人工智能前沿进展-大语言模型方向-2024-09-19

计算机人工智能前沿进展-大语言模型方向-2024-09-19 1. SAM4MLLM: Enhance Multi-Modal Large Language Model for Referring Expression Segmentation Authors: Yi-Chia Chen, Wei-Hua Li, Cheng Sun, Yu-Chiang Frank Wang, Chu-Song Chen SAM4MLLM: 增强多模态大型语言模型…

Java面试篇基础部分-Java线程生命周期

线程的生命周期分别为 新建(New)、就绪(Runnable)、运行(Running)、阻塞(Blocked)和死亡(Dead)这五种状态。   在系统运行过程中有线程不断地被创建,而旧的线程在执行完毕之后被清理,线程通过排队的方式获取共享资源或者锁的时候被阻塞,所以运行中的线程就会在…

基于yolov8的红外小目标无人机飞鸟检测系统python源码+onnx模型+评估指标曲线+精美GUI界面

【算法介绍】 基于YOLOv8的红外小目标无人机与飞鸟检测系统是一项集成了前沿技术的创新解决方案。该系统利用YOLOv8深度学习模型的强大目标检测能力&#xff0c;结合红外成像技术&#xff0c;实现了对小型无人机和飞鸟等低空飞行目标的快速、准确检测。 YOLOv8作为YOLO系列的…

supermap iclient3d for cesium中的平移,旋转

昨天写的模型机头不是速度的方向 基础知识 屏幕坐标系&#xff0c;笛卡尔空间直角坐标系&#xff0c;大地坐标系 平移和旋转都是基于笛卡尔空间直角坐标系&#xff0c;也就是基于地心。但是我们想实现模型的旋转是基于模型的局部坐标系&#xff0c;那么就要坐标转换。 向量归…

C++调用C# DLL之踩坑记录

C是非托管代码&#xff0c;C#则是托管代码&#xff0c;无法直接调用 CLR的介绍见CLR简介 MSDN提到了两种非托管-托管的交互技术&#xff1a;CLR Interop和COM Interop 后者要将C# 类库注册为COM组件&#xff0c;本文只探讨CLR&#xff0c;要通过C CLR写中间层代码 方式一&…

全新 HLOB 模型:预测限价订单簿中间价格变化方向的利器

作者:老余捞鱼 原创不易,转载请标明出处及原作者。 写在前面的话: 本文介绍了一个名为HLOB的新型大规模深度学习模型,用于预测限价订单簿中间价格的变化。该模型利用信息过滤网络(特别是三角最大化过滤图)来揭示订单簿中不同成交量水平间的深层和非平凡依赖结构,…

[Meachines] [Medium] Bart Server Monitor+Internal Chat+UA投毒+Winlogon用户密码泄露权限提升

信息收集 IP AddressOpening Ports10.10.10.81TCP:80 $ nmap -p- 10.10.10.81 --min-rate 1000 -sC -sV PORT STATE SERVICE VERSION 80/tcp open http Microsoft IIS httpd 10.0 | http-methods: |_ Potentially risky methods: TRACE |_http-server-header: Micros…

【java系】记录一次ClassLoader.getResourceAsStream获取不到文件流

问题描述反馈&#xff0c;开发同事在本地获取对应文件流是可以正常业务操作&#xff0c;发布到linux服务器对应环境就会出现异常。 源码部分截图 看到这里&#xff0c;我猜想是否和window底层文件操作系统不区分大小写有关呢&#xff1f;而服务器linux是严格区分大小写这个应该…

ZLMediaKit Windows编译以及使用

1.运行ZLMediaKit 2.通过ffmpeg把视频源推流给ZLMediaKit 执行以下命令&#xff0c;将本地视频通过RTSP协议推流给ZLMediaKit。 ffmpeg -re -stream_loop -1 -i "D:\workplace\armgb\public\1.fileh264" -vcodec h264 -f rtsp rtsp://127.0.0.1/live/test 若想将本…

网络安全:建筑公司会计软件遭受暴力攻击

黑客正在暴力破解基金会会计服务器上高权限账户的密码&#xff0c;这些账户广泛用于建筑行业&#xff0c;从而侵入企业网络。 这一恶意活动最先被 Huntress 发现&#xff0c;其研究人员于 2024 年 9 月 14 日检测到了此次攻击。 Huntress 已经发现这些攻击对管道、暖通空调、…

Stylized Smooth Clouds 卡通风格化云朵包

下载:​​Unity资源商店链接资源下载链接 效果图:

PyCharm的使用

PyCharm的入门使用教程 下载和安装PyCharm&#xff1a; 首先&#xff0c;访问JetBrains官方网站&#xff08;https://www.jetbrains.com/pycharm/&#xff09;下载PyCharm的最新版本。根据您的操作系统选择合适的版本进行下载。 安装完成后&#xff0c;打开PyCharm。 创建新…

Golang | Leetcode Golang题解之第413题等差数列划分

题目&#xff1a; 题解&#xff1a; func numberOfArithmeticSlices(nums []int) (ans int) {n : len(nums)if n 1 {return}d, t : nums[0]-nums[1], 0// 因为等差数列的长度至少为 3&#xff0c;所以可以从 i2 开始枚举for i : 2; i < n; i {if nums[i-1]-nums[i] d {t}…

出厂非澎湃OS手机解BL锁

脚本作者&#xff1a;酷安mlgmxyysd 脚本项目链接&#xff1a;https://github.com/MlgmXyysd/Xiaomi-HyperOS-BootLoader-Bypass/ 参考 B站作者&#xff1a;蓝空穹 https://www.bilibili.com/read/cv33210124/ 其他参考&#xff1a;云墨清风、水墨青竹、Magisk中文网 决定解BL…

HarmonyOS元服务与卡片

元服务与卡片 文章目录 一、元服务1.介绍2.常见元服务项目步骤 二、卡片1.介绍2.卡片的创建3.卡片的数据的变更4.卡片的进程间通讯4.1使用工具包4.2使用步骤 5.卡片路由postCardAction&#xff1a;快速拉起后台5.1格式5.2快速拉起指定页面--router5.3调用后台功能--call5.3卡片…

idea连接docker 自动化部署

进入Linux服务器 vim /lib/systemd/system/docker.service将 ExecStart/usr/bin/dockerd -H fd:// --containerd/run/containerd/containerd.sock 替换为 ExecStart/usr/bin/dockerd -H tcp://0.0.0.0:2375 -H unix://var/run/docker.sock新建文件 Dockerfile配置Dockerfile文…

rocky9虚拟机配置双网卡的详细过程

编辑虚拟机配置->添加->选择网络适配器->确认->打开虚拟机 1.ip add查看第二个网卡的名称&#xff0c;我这里是ens36 2.cd到网卡的配置文件目录 cd /etc/NetworkManager/system-connections/ ls3.复制一份网卡的配置文件并改名为ens36.nmconnection(根据自己的第…