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 删除所有缓存的包和头文件
相关推荐
寂柒42 分钟前
Linux——基础IO
linux
杨云龙UP1 小时前
Oracle ASM磁盘组空间分配与冗余理解
linux·运维·数据库·sql·oracle
朽棘不雕1 小时前
Linux权限
linux
互成1 小时前
加密系统哪款最好用?2026年五款加密系统深度对比测评
运维·网络·安全
minji...1 小时前
Linux 库制作与原理(三)深入动静态链接原理
linux·运维·服务器·c++
CDN3601 小时前
游戏服稳定运行:360CDN SDK 游戏盾实测体验
运维·游戏·网络安全
bukeyiwanshui2 小时前
Linux实践
linux·运维·服务器
ChoSeitaku2 小时前
NO.2|proto3语法|消息类型|通讯录|文件读取|enum类型
java·服务器·前端
xlp666hub2 小时前
【Linux驱动实战】:字符设备之ioctl与mutex全解析
linux·面试
守望时空332 小时前
使用NetworkManager替换当前网络管理器
linux·运维