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 删除所有缓存的包和头文件
相关推荐
神奇侠20247 分钟前
基于Centos7.X系统端口占用处理
linux·运维·服务器
阿智@112 小时前
Node.js 助力前端开发:自动化操作实战
运维·前端·node.js·自动化
万万君2 小时前
Linux 更改Jenkins使用其他账户启动
linux·jenkins
赤叶丶秋枫2 小时前
Jenkins入门使用
运维·jenkins
开心最重要(*^▽^*)2 小时前
Metricbeat安装教程——Linux——Metricbeat监控ES集群
linux·elasticsearch
紫菜(Nori)2 小时前
Jenkins Api Token 访问问题
运维·jenkins
love530love2 小时前
Windows 11 中利用 WSL - Linux 虚拟环境部署 ChatTTS-Enhanced 项目教程
linux·运维·windows
冷曦_sole2 小时前
linux-22 目录管理(二)rmdir命令,删除目录
linux·运维·服务器
群联云防护小杜2 小时前
服务器被攻击怎么办
运维·服务器·网络·网络协议·安全·web安全
活跃的煤矿打工人2 小时前
【星海随笔】删除ceph
linux·服务器·ceph