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

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 exitWith 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 exitWith 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.gzcompressed        uncompressed  ratio uncompressed_name23                   3 -66.7% f1.txt23                   3 -66.7% f2.txt46                   6 -366.7% (totals)
[purpleendurer @ bash ~] gzip -l f*.txt.gzcompressed        uncompressed  ratio uncompressed_name23                   3 -66.7% f1.txt23                   3 -66.7% f2.txt46                   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.txt46                   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.txt46                   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.txt46                   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.txt46                   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.xdnf.cn/news/1538762.html

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

相关文章

软考(中级-软件设计师)(0919)

软考 一、软件设计师-历年考试考点分布情况-上午-计算机与软件工程知识 知识点分数说明比例软件工程基础知识11开发模型、设计原则、测试方法、质量特性、CMM、Pert图、风险管理14.67%面向对象12面向对象基本概念、面向对象分析与设计、UML、常见算法16.00%数据结构与算法10…

SPI软件模拟读写W25Q64

1.SPI初始化 #include "stm32f10x.h" // Device headervoid MySPI_W_SS(uint8_t BitValue)//片选 {GPIO_WriteBit(GPIOA,GPIO_Pin_4,(BitAction)BitValue); }void MySPI_W_SCK(uint8_t BitValue)//时钟线 {GPIO_WriteBit(GPIOA,GPIO_Pin_5,(BitAct…

LabVIEW提高开发效率技巧----使用事件结构优化用户界面响应

事件结构&#xff08;Event Structure&#xff09; 是 LabVIEW 中用于处理用户界面事件的强大工具。通过事件驱动的编程方式&#xff0c;程序可以在用户操作时动态执行特定代码&#xff0c;而不是通过轮询&#xff08;Polling&#xff09;的方式不断检查界面控件状态。这种方式…

鸿蒙 ArkUI组件三

ArkUI组件&#xff08;续&#xff09; QRCode组件 用于显示单个二维码的组件。 说明 该组件从API Version 7开始支持。后续版本如有新增内容&#xff0c;则采用上角标单独标记该内容的起始版本。二维码组件的像素点数量与内容有关&#xff0c;当组件尺寸过小时&#xff0c;可能…

Kettle的实战练习指南:从数据导入到ETL自动化

在数据集成和数据仓库建设中&#xff0c;Kettle作为一个强大的开源ETL工具&#xff0c;提供了灵活的数据抽取、转换和加载功能。本文将通过实战案例&#xff0c;详细介绍Kettle在数据导入、ETL流程设计、自动化任务调度等方面的应用。 一、数据导入 1. SQL语句导入 导入sql语…

(11)(2.1.2) DShot ESCs(二)

文章目录 前言 3 配置伺服功能 4 检查RC横幅 5 参数说明 前言 DShot 是一种数字 ESC 协议&#xff0c;它允许快速、高分辨率的数字通信&#xff0c;可以改善飞行器控制&#xff0c;这在多旋翼和 quadplane 应用中特别有用。 3 配置伺服功能 如上所述&#xff0c;如果使用…

数据结构-3.链表

前言 本篇博客给大家带来的是链表的知识点, 其中包括面试经常会提问的真题 ArrayList 和 LinkedList 的区别 . 文章专栏: Java-数据结构 若有问题 评论区见 欢迎大家点赞 评论 收藏 分享 如果你不知道分享给谁,那就分享给薯条, 如果分享不成功, 那我就会回你一下,那样你就分享成…

c++与cmake:完整的C++项目构建注意事项

个人博客:Sekyoro的博客小屋 个人网站:Proanimer的个人网站 最近常常使用cmake构建c项目有感,从创建项目到打包发布总结一下需要注意的事情. 项目组织方式 具体的项目组织方式因人而异,这里推荐一种,在src目录中创建模块目录,再在include目录中常见对应的同名目录包含头文件,…

阿里巴巴API助力电商:商品详情获取与数据驱动的完美结合

阿里巴巴API在电商领域的应用&#xff0c;特别是在商品详情获取与数据驱动的决策过程中&#xff0c;发挥着至关重要的作用。以下是对这一主题的详细阐述&#xff1a; 一、阿里巴巴API在商品详情获取中的应用 丰富的数据支持&#xff1a; 阿里巴巴提供的商品详情API&#xff0…

html详细知识

1-标题标签、水平线、字体标签 <!--1.标题标签1&#xff09;格式&#xff1a;<hn></hn> n的范围是1-6&#xff0c;依次递减2&#xff09;标题标签特点&#xff1a;a:单独占一行b:自动加粗2.水平线1&#xff09;格式&#xff1a;<hr/>2)属性&#xff1a;…

深度学习对抗海洋赤潮危机!浙大GIS实验室提出ChloroFormer模型,可提前预警海洋藻类爆发

2014 年 8 月&#xff0c;美国俄亥俄州托莱多市超 50 万名居民突然收到市政府的一则紧急通知——不得擅自饮用自来水&#xff01; 水是人类生存的基本供给&#xff0c;此通告关系重大&#xff0c;发出后也引起了不小的恐慌。究其原因&#xff0c;其实是美国伊利湖爆发了大规模…

如何使用ssm实现在线视频网站开发

TOC ssm631在线视频网站开发jsp 绪论 1.1 选题背景 当人们发现随着生产规模的不断扩大&#xff0c;人为计算方面才是一个巨大的短板&#xff0c;所以发明了各种计算设备&#xff0c;从结绳记事&#xff0c;到算筹&#xff0c;以及算盘&#xff0c;到如今的计算机&#xff0…

关于嵌入式硬件需要了解的基础知识

成长路上不孤单&#x1f60a;&#x1f60a;&#x1f60a;&#x1f60a;&#x1f60a;&#x1f60a; 【14后&#x1f60a;///C爱好者&#x1f60a;///持续分享所学&#x1f60a;///如有需要欢迎收藏转发///&#x1f60a;】 今日分享关于嵌入式硬件基础知识的相关内容&#xff…

html,css基础知识点笔记(二)

9.18&#xff08;二&#xff09; 本文主要教列表的样式设计 1&#xff09;文本溢出 效果图 文字限制一行显示几个字&#xff0c;多余打点 line-height: 1.8em; white-space: nowrap; width: 40em; overflow: hidden; text-overflow: ellipsis;em表示一个文字的大小单位&…

828华为云征文|云服务器Flexus X实例|Ubunt部署Vue项目

概要 本章将深入阐述Vue项目在Ubuntu环境下&#xff0c;实现在华为云Flexus X云服务器上的部署过程&#xff0c;此次演示以Vue.js项目为核心华为云在已经到来的828 B2B企业节上&#xff0c;为Vue等前端项目的部署与运维提供强有力的支持。 Ubuntu部署Vue项目的影响&#xff1…

VS Code远程连接虚拟机

VS Code远程连接虚拟机 1.下载vscode2.打开VS Code下载Remote-SSH插件1.修改相关信息 3.虚拟机检查或安装ssh4.检查虚拟机服务是否安装成功5.开启ssh&#xff0c;并检查是否开启成功 1.下载vscode 2.打开VS Code下载Remote-SSH插件 1.修改相关信息 2. 3.虚拟机检查或安装ssh…

封装svg图片

前言 项目中有大量svg图片&#xff0c;为了方便引入&#xff0c;所以对svg进行了处理 一、svg是什么&#xff1f; svg是可缩放矢量图形&#xff0c;是一种图片格式 二、使用步骤 1.创建icons文件夹 将icons文件夹放进src中&#xff0c;并创建一个svg文件夹和index.js&…

PMP--一模--解题--161-170

文章目录 13.干系人管理161、 [单选] 项目经理正在领导一个公司内部项目&#xff0c;该项目正处于早期阶段。该项目与一年前结束的另一个项目很相似&#xff0c;项目经理该做什么来分析涉及的干系人&#xff1f; 10.沟通管理162、 [单选] 在项目执行过程中&#xff0c;一位关键…

Docker安装 ▎Docker详细讲解 ▎数据卷挂载 ▎Nginx安装理解

前言 Docker是一种容器化技术&#xff0c;简化软件的部署和管理。文章详细解释了Docker的架构、安装步骤和常用命令&#xff0c;帮助用户快速启动和管理容器。还介绍了Docker镜像命令和数据卷挂载的实例&#xff0c;增强对持久化存储的理解&#xff0c;并涵盖了Nginx的安装方法…

『功能项目』QFrameWork框架重构OnGUI【63】

我们打开上一篇62QFrameWork背包框架的项目&#xff0c; 上文将功能实现在一个脚本中 本章要做的事情让脚本实现背包框架思想 首先按照图示创建脚本&#xff1a; 创建脚本&#xff1a;Item.cs namespace QFramework {public class Item{//道具public string Key;public string …