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 删除所有缓存的包和头文件
相关推荐
分布式存储与RustFS1 分钟前
训练集放在 RustFS 上,怎么像本地盘一样快?用 Curvine 加一层 POSIX 缓存
运维·云原生·开源·对象存储·分布式存储·s3·性能基准
pride.li2 分钟前
第12章 Python 教程-流程控制:循环结构
linux·服务器·python·算法
迷途之人不知返7 分钟前
【基础IO】-5-简单理解三个标准流——stdin、stdout、stderr
linux
牛马鸡niumasi8 分钟前
【Linux】进程退出
linux
北京中科新远科技10 分钟前
高速光链路故障排查实战:从DOM光功率到FEC与BER
运维·服务器·网络
秋名山小白29 分钟前
UI自动化-Airtest框架落地实战
运维·ui·自动化
刘胡子大叔30 分钟前
Docker 容器名 ping 不通
运维·docker·容器
a5986521 小时前
Docker多开云手机,六边云独立端口隔离访问实战
android·运维·docker·容器·智能手机·云手机
戴西软件1 小时前
企业如何搭建自己的AI智能体?戴西智能体管理与戴西SKILL管理实战解析
运维·jvm·人工智能·自动化·rpa