Linux gzip命令教程:如何有效地压缩和解压文件(附实例详解和注意事项)

Linux gzip命令介绍

gzip(GNU zip)是一种在Linux系统中常见的命令行压缩工具。它使用DEFLATE压缩算法来减小文件的大小,使文件更易于存储和传输。gzip主要用于压缩文本文件、Tar归档文件和网页。不建议使用gzip来压缩图像、音频、PDF文档和其他已经压缩的二进制文件。

Linux gzip命令适用的Linux版本

gzip命令在大多数Linux发行版中都可以使用,包括Debian、Ubuntu、Alpine、Arch Linux、Kali Linux、RedHat/CentOS、Fedora和Raspbian。如果在某些Linux发行版中无法使用gzip命令,通常可以通过包管理器(如aptyumdnf)来安装。

例如,在Debian或Ubuntu上,可以使用以下命令来安装gzip

[linux@bashcommandnotfound.cn ~]$ sudo apt-get install gzip

在RedHat/CentOS 7上,可以使用以下命令来安装gzip

[linux@bashcommandnotfound.cn ~]$ sudo yum install gzip

在RedHat/CentOS 8或Fedora上,可以使用以下命令来安装gzip

[linux@bashcommandnotfound.cn ~]$ sudo dnf install gzip

Linux gzip命令的基本语法

gzip命令的基本语法如下:

gzip [OPTION]... [FILE]...

gzip只能压缩单个文件,并为每个给定的文件创建一个压缩文件。

Linux gzip命令的常用选项或参数说明

以下是gzip命令的一些常用选项:

选项说明
-d解压缩文件
-f强制压缩文件,即使已经存在同名的压缩文件
-k压缩文件并保留原始文件
-r递归地压缩目录中的所有文件
-v显示正在处理的文件的名称和压缩比
-1最快的压缩速度,最小的压缩比
-9最慢的压缩速度,最大的压缩比

Linux gzip命令实例详解

以下是一些gzip命令的使用实例:

实例1:压缩单个文件

要压缩单个文件,可以调用gzip命令,后面跟着文件名:

[linux@bashcommandnotfound.cn ~]$ gzip filename

gzip将创建一个名为filename.gz的文件,并删除原始文件。

实例2:保留原始文件

如果你想保留输入(原始)文件,可以使用-k选项:

[linux@bashcommandnotfound.cn ~]$ gzip -k filename

实例3:压缩多个文件

你也可以将多个文件作为参数传递给命令。例如,要压缩名为file1file2file3的文件,你可以运行以下命令:

[linux@bashcommandnotfound.cn ~]$ gzip file1 file2 file3

以上命令将创建三个压缩文件,file1.gzfile2.gzfile3.gz

实例4:改变压缩级别

gzip允许你指定从1到9的压缩级别。-1--fast表示最快的压缩速度和最小的压缩比,-9--best表示最慢的压缩速度和最大的压缩比。例如,要获得最大的压缩,你可以运行:

[linux@bashcommandnotfound.cn ~]$ gzip -9 filename

实例5:解压缩文件

要解压缩一个gzip压缩的文件,你可以使用-d选项:

[linux@bashcommandnotfound.cn ~]$ gzip -d filename.gz

这将创建一个名为filename的文件,并删除原始的压缩文件filename.gz

实例6:递归压缩目录

要递归地压缩一个目录中的所有文件,你可以使用-r选项:

[linux@bashcommandnotfound.cn ~]$ gzip -r directoryname

这将压缩directoryname目录中的所有文件,并将每个文件替换为一个.gz压缩文件。

实例7:查看压缩文件的内容

要查看gzip压缩文件的内容,而不解压缩文件,你可以使用zcat命令:

[linux@bashcommandnotfound.cn ~]$ zcat filename.gz

这将在终端中显示filename.gz文件的内容。

实例8:压缩文件并显示进度

如果你想在压缩文件时看到进度,你可以使用-v选项:

[linux@bashcommandnotfound.cn ~]$ gzip -v filename

这将显示正在处理的文件的名称和压缩比。

实例9:解压缩文件并保留原始文件

如果你想解压缩一个gzip压缩的文件,并保留原始的压缩文件,你可以使用-d-k选项:

[linux@bashcommandnotfound.cn ~]$ gzip -dk filename.gz

这将创建一个名为filename的文件,并保留原始的压缩文件filename.gz

实例10:解压缩多个文件

你也可以将多个压缩文件作为参数传递给命令。例如,要解压缩名为file1.gzfile2.gzfile3.gz的文件,你可以运行以下命令:

[linux@bashcommandnotfound.cn ~]$ gzip -d file1.gz file2.gz file3.gz

以上命令将创建三个解压缩的文件,file1file2file3,并删除原始的压缩文件。

实例11:查看压缩文件的内容并保留原始文件

要查看gzip压缩文件的内容,而不解压缩文件,你可以使用zcat命令,并使用-k选项来保留原始的压缩文件:

[linux@bashcommandnotfound.cn ~]$ zcat -k filename.gz

这将在终端中显示filename.gz文件的内容,并保留原始的压缩文件。

实例12:解压缩文件并显示进度

如果你想在解压缩文件时看到进度,你可以使用-d-v选项:

[linux@bashcommandnotfound.cn ~]$ gzip -dv filename.gz

这将显示正在处理的文件的名称和解压缩进度。

Linux gzip命令的注意事项

  • gzip可以压缩的只是常规文件。符号链接会被忽略。
  • 如果你在尝试使用gzip命令时遇到了bash: gzip: command not found的错误,你可以按照上面的指示来安装gzip

Linux gzip相关命令

  • gzip命令:用于压缩或解压缩文件
  • gunzip命令:用于解压gzip压缩的文件
  • zcat命令:用于查看gzip压缩的文件内容
  • zip命令:用于压缩文件
  • unzip命令:用于解压.zip压缩的文件
  • bzip2命令:用于高效的文件压缩工具
  • bunzip2命令:用于解压缩bzip2压缩的文件
  • tar命令:用于归档文件
  • rar命令:用于压缩解压rar文件
  • 7z命令:用于压缩和解压7z格式的文件

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

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

相关文章

【P1506 拯救oibh总部】

拯救oibh总部 题目背景 oibh 总部突然被水淹没了!现在需要你的救援…… 题目描述 oibh 被突来的洪水淹没了,还好 oibh 总部有在某些重要的地方起一些围墙。用 * 号表示,而一个四面被围墙围住的区域洪水是进不去的。 oibh 总部内部也有许…

【后端高频面试题--SpringBoot篇】

🚀 作者 :“码上有前” 🚀 文章简介 :后端高频面试题 🚀 欢迎小伙伴们 点赞👍、收藏⭐、留言💬 这里写目录标题 1.什么是SpringBoot?它的主要特点是什么?2.列举一些Spri…

《CSS 简易速速上手小册》第4章:视觉美学(2024 最新版)

文章目录 4.1 颜色理论在 CSS 设计中的应用:网页的调色盘4.1.1 基础知识4.1.2 重点案例:创建一个具有情感设计的登录页面4.1.3 拓展案例 1:使用颜色增强信息的可视化表示4.1.4 拓展案例 2:利用颜色创建网站的品牌身份 4.2 字体与文…

JS逆向手记01__前端基础

系列文章目录 系列手记占位 文章目录 系列文章目录前言一、js自执行函数语法二、js变量类型的转换(与字符串相加)三、浏览器环境(BOM)四、html渲染环境(DOM)五、html发起请求(表单form&#xf…

书生·浦语大模型第四课作业

基础作业: 构建数据集,使用 XTuner 微调 InternLM-Chat-7B 模型, 让模型学习到它是你的智能小助手,效果如下图所示,本作业训练出来的模型的输出需要将不要葱姜蒜大佬替换成自己名字或昵称! 1.安装 # 如果你是在 Int…

Java是如何实现的平台无关?

🎬作者简介:大家好,我是小徐🥇☁️博客首页:CSDN主页小徐的博客🌄每日一句:好学而不勤非真好学者 📜 欢迎大家关注! ❤️ 1、什么是平台无关性 平台无关性就是一种语言在…

寒假作业

手写盗版微信登入界面 #include "mainwindow.h" #include "ui_mainwindow.h"MainWindow::MainWindow(QWidget *parent): QMainWindow(parent), ui(new Ui::MainWindow) {ui->setupUi(this);this->resize(421,575);this->setFixedSize(421,575);th…

C#系列-C#EF框架实现雪花主键(20)

在C#中,使用Entity Framework (EF) 框架并不直接涉及到主键的生成策略。主键的生成通常是在数据库层面或者在应用程序层面处理的。雪花主键(Snowflake ID)是一种在分布式系统中生成唯一ID的算法,它通常是由Twitter的雪花算法演变而…

接口测试框架分析

框架大体上已经写完了,不过说实话好多代码让我自己写我也写不出来,那该怎么办呢?很简单,把现在已经写好的代码保存起来,等用的时候拿出来复制粘贴就好了,如果你是大神,自己会写,那就…

TikTok:短视频时代的崛起

导言: TikTok,作为一款全球短视频社交应用,正风靡全球,引领着数字娱乐的新潮流。其简洁的用户界面、创意无限的短视频内容,以及强大的社交互动功能,使其成为全球数以亿计的用户喜爱的平台。 TikTok的特点&a…

H5 红色文字抖动网址发布页/引导页源码

H5 红色文字抖动网址发布页/引导页源码 源码介绍:一款红色文字抖动网页源码,可用于引导页或网址发布页。 下载地址: https://www.changyouzuhao.cn/10470.html

第9讲用户信息修改实现

用户信息修改实现 后端修改用户昵称: /*** 更新用户昵称* param wxUserInfo* param token* return*/ RequestMapping("/updateNickName") public R updateNickName(RequestBody WxUserInfo wxUserInfo,RequestHeader String token){if(StringUtil.isNot…

在JavaScript或TypeScript中,@符号的用法

在JavaScript或TypeScript中,符号在导入语句中用作包名的一部分,表示该包是一个命名空间包(Namespace package)或作用域包(Scoped package)。这种命名方式主要用于组织和管理由同一组织或个人发布的相关包。…

MySQL篇----第二十二篇

系列文章目录 文章目录 系列文章目录前言一、什么是表级锁二、什么是页级锁三、什么是行级锁四、什么是悲观锁前言 前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家。点击跳转到网站,这篇文章男女通用,看懂了就去分享给你的码吧。 一、…

selenium 驱动 Edge浏览器,解决selenium打开Edge浏览器闪退问题

一、Edge浏览器驱动下载 1、在设置中查看浏览器的版本号 2、在官网中进行对应下载 Microsoft Edge WebDriver - Microsoft Edge Developer 二、环境变量配置 1、打开设置界面 右击【此电脑】---选择【属性】----选择【高级系统设置】-----点击【环境变量】 2、变量设置 在…

SpringCloud-项目引入Nacos

一、安装Nacos服务 首先,我们需要从 Nacos 的官方网站下载发布版本。下载地址:Releases alibaba/nacos GitHub 选择合适的版本并下载,解压缩得到 Nacos 的安装包。 在解压后的 Nacos 目录中,找到 bin 文件夹。 用写字板编辑…

Git 为 ssh 协议设置代理

前言 我们为终端设置clash代理的时候,一般都是设置的http/https或者socks.但是我们用github的时候一般是用密钥也就是ssh链接. 教程 在~/.ssh/config文件中加入以下的代码. Host github.comHostname ssh.github.comPort 443User gitProxyCommand nc -v -x 172.28.208.1:789…

【玩转408数据结构】线性表——线性表的顺序表示(顺序表)

知识回顾 通过前文,我们了解到线性表是具有相同数据类型的有限个数据元素序列;并且,线性表只是一种逻辑结构,其不同存储形式所展现出的也略有不同,那么今天我们来了解一下线性表的顺序存储——顺序表。 顺序表的定义 …

【ES6】模块化

nodejs遵循了CommonJs的模块化规范 导入 require() 导出 module.exports 模块化的好处: 模块化可以避免命名冲突的问题大家都遵循同样的模块化写代码,降低了沟通的成本,极大方便了各个模块之间的相互调用需要啥模块,调用就行 …

在centos中安装chrome,为selenium做准备

一、安装chrome浏览器 1.系统需求 CentOS 7 系统必须是 64 位系统,Chrome 没有 32 位系统的软件包。 2.在 CentOS 7 系统中添加谷歌官方 Yum 软件源 在 CentOS 7 系统下的 /etc/yum.repos.d/ 文件夹中创建 google-chrome.repo 文件: sudo vi /et…