Linux 操作系统 010-压缩与解压缩

Linux 操作系统 010-压缩与解压缩

本节关键字:Linux、压缩、解压缩

本节相关指令:zip、unzip、tar、gzip、gunzip、rpm、yum

压缩与解压缩

gzip与gunzip

功能描述:gzip用户压缩文件,gunzip用于解压缩文件

基本语法:gzip 文件/目录

gunzip 文件.gz

案例1:gzip压缩,将/home下的hello.txt文件进行压缩

gzip /home/hello.txt

案例2:gunzip,将/home下的hello.txt.gz文件进行解压缩

gunzip /home/hello.txt.gz

zip与unzip

功能描述:zip用于压缩文件,unzip用于解压,这个项目打包发布中很有用的

基本语法:zip [选项] xxx.zip 将要压缩的内容

unzip [选项] xxx.zip

zip常用选项:

-r 递归压缩,即压缩目录

unzip常用选项

-d<目录> 指定解压后文件的存放目录

-l 不解压.zip文件,只查看其中的内容

-n 不覆盖已存在的文件

-v 查看压缩文件的文件列表及压缩比率

-t 检查文件是否损坏

案例1:将 /home下的所有文件进行压缩成myhome.zip

zip -r myhome.zip /home/

案例2:将myhome.zip解压到/opt/tmp目录下

mkdir /opt/tmp

unzip -d /opt/tmp /home/myhome.zip

tar

功能描述:打包指令,打包后的文件是.tar.gz的文件

基本语法:tar [选项] xxx.tar.gz 打包前的内容

选项说明:

-c 产生.tar打包文件

-v 显示详细信息

-f 指定压缩后的文件名

-z 打包同时压缩

-x 解包.tar文件

案例1:压缩多个文件,将/home/pig.txt和/home/cat.txt压缩成pc.tar.gz

tar -czvf pc.tar.gz /home/pig.txt /home/cat.txt

案例2:将/home的文件夹压缩成myhome.tar.gz

tar -czvf myhome.tar.gz /home

案例3:将pc.tar.gz解压到当前目录

tar -xzvf pc.tar.gz

案例4:将myhome.tar.gz解压到/opt/tmp2目录下

tar -xzvf myhome.tar.gz -C /opt/tmp2

案例5:查看压缩包archive中的内容

zcat archive.tar.gz

zless archive.tar.gz

zmore archive.tar.gz

下载

rpm管理

rpm用户互联网下载包的打包及安装工具,它包含在某些Linux分发版中,它生成具有.RPM扩展名的文件。RPM是RedHat Package Manager(红帽软件包管理工具)的缩写,类似windows的setup.exe,这一文件格式名称虽然打上了RedHat的标志,但理念是通用的。

  • 查询已安装的rpm列表
    rpm -qa | grep xx
  • 查询软件包是否安装
    rpm -q 软件包名称
  • 查询软件包信息
    rpm -qi 软件包名称
  • 查询软件包中的文件
    rpm -ql 软件包名称
  • 查询文件所属的软件包
    rpm -qf 文件全路径名
  • 卸载已安装的软件包
    rpm -e RPM包的名称
  • 安装rpm包
    rpm -ivh RPM包全路径名称
    参数说明:-i install安装; -v verbose提示; -h hash进度条

使用细节

  1. 如果其它软件包依赖于您要卸载的软件包,卸载时则会产生错误信息,如 $rpm -e foo
    removing these packages woule break dependencies:foo is needed by bar-1.0-1
  2. 如果我们就是要删除foo这个rpm包,可以增加参数 --nodeps,就可以强制删除,但是一般不推荐,如 $rpm -e --nodeps foo
yum的使用

Yum是一个Shell前段软件包管理器,基于RPM包管理,能够从指定的服务器自动下载RPM包并且安装,可以自动处理依赖性关系,并且一次安装所有依赖的软件包

命令 命令说明
yum install package_name 下载并安装一个rpm包
yum localinstall package_name.rpm 将安装一个rpm包,使用你自己的软件仓库为你解决所有依赖关系
yum update package_name.rpm 更新当前系统中所有安装的rpm包
yum update package_name 更新一个rpm包
yum remove package_name 删除一个rpm包
yum list 列出当前系统中安装的所有包
yum search package_name 在rpm仓库中搜寻软件包
yum clean packages 清理rpm缓存删除下载的包
yum clean headers 删除所有头文件
yum clean all 删除所有缓存的包和头文件
相关推荐
舒一笑3 小时前
程序员效率神器:一文掌握 tmux(服务器开发必备工具)
运维·后端·程序员
Johny_Zhao4 小时前
centos7安装部署openclaw
linux·人工智能·信息安全·云计算·yum源·系统运维·openclaw
haibindev4 小时前
在 Windows+WSL2 上部署 OpenClaw AI员工的实践与踩坑
linux·wsl2·openclaw
NineData5 小时前
数据库管理工具NineData,一年进化成为数万+开发者的首选数据库工具?
运维·数据结构·数据库
梦想很大很大1 天前
拒绝“盲猜式”调优:在 Go Gin 项目中落地 OpenTelemetry 链路追踪
运维·后端·go
Sinclair1 天前
内网服务器离线安装 Nginx+PHP+MySQL 的方法
运维
叶落阁主1 天前
Tailscale 完全指南:从入门到私有 DERP 部署
运维·安全·远程工作
0xDevNull1 天前
Linux切换JDK版本详细教程
linux
进击的丸子1 天前
虹软人脸服务器版SDK(Linux/ARM Pro)多线程调用及性能优化
linux·数据库·后端