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 删除所有缓存的包和头文件

你可能感兴趣的:(Linux,操作系统,linux,服务器,运维)