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进度条
使用细节
- 如果其它软件包依赖于您要卸载的软件包,卸载时则会产生错误信息,如 $rpm -e foo
removing these packages woule break dependencies:foo is needed by bar-1.0-1 - 如果我们就是要删除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 | 删除所有缓存的包和头文件 |