(五)软件包管理和文件的压缩与解压
查询
#rpm �Cqa
查询系统中的所有安装的所有RPM包
#rpm �Cqa|grep X
和grep配合使用,查找包含特定串的软件包
#rpm �Cq xinetd
查询指定的软件包在系统中是否安装
#rpm �CqR 包名
查询某软件包的最低依赖要求
#rpm �Cq provides 包名
查询某个软件包提供的可使用的所有文件
#rpm �Cqi file
查询系统中已安装软件包的描述信息
#rpm �Cql file
查询系统中已安装软件包所包含的文件列表
#rpm �Cqf /etc/passwd
查询系统中文件所属的软件包,但并不是所有的文件都一定属于某个软件包
#rpm �Cqp cvs-1.11-1.i386.rpm
查询RPM包文件中的信息,常用于在未安装软件包之前了解软件包中的信息
安装
#rpm �Civh �Cpercents [url]http://fde.efe.com/linux/abc.1.1.1.i386.rpm[/url]
直接从网站上下载,但是速度比较慢,可以用参数percents来显示进度
#rpm �Civh --replacepkgs abc.1.1.1.i386.rpm
在LINUX上,如果重复安装同一个软件包,则系统不会再次安装并显示安装信息,如要再次安装软件,则用参数replacepkgs
#rpm �Civh --force abc.1.1.1.i386.rpm
#rpm �Civh --replacepkgs abc.1.1.1.i386.rpm
如果遇到软件冲突,则可加上面两个参数来强制安装,但无法保证一定可以安装成功
#rpm �C-nodeps abc.1.1.1.i386.rpm
遇到软件依赖性时,可以用以上参数,且安装时不再显示依赖性的信息,但不一定能安装成功
#rpm �Civh cvs-1.11-1.i386.rpm
安装RPM包并显示进度信息
删除
#rpm �Ce cvs-1.11-1
删除RPM包时,不可使用完整的RPM软件包名称,而应该使用软件名称的部分,或软件名称加上版本号
#rpm �Ce --nodeps cvs-1.11-1
遇到软件依赖性问题时,可以强制删除此软件包,但不一定能成功删除
升级
#rpm �CUhv cvs-1.11-1.i386.rpm
升级RPM包,会先删除所有旧版的软件,然后再安装新版的软件包
刷新
#rpm �CFhv cvs-1.11-1.i386.rpm
升级软件包,与U的最大不同是,如果系统中没有安装此软件包的任何版本,则F并不会进行安装,但是升级则不论是否已安装此软件包,均会以命令中指定的版本进行安装
#rpm �CFvh *.rpm
升级已安装在系统中的软件包
#rpm �CVp cvs-1.11-1.i386.rpm
验证指定的软件包
#rpm �CV cvs
验证指定软件包中的所有文件
#rpm �CVa
验证所有已安装的软件包
#rpm �Cimport /mnt/cdrom/RPM-GPG-KEY
输入RPM包的公钥
#rpm �Cqi gpg-pubkey-db42a
查询RPM公钥
#rpm �CK cvs-1.11-1.i386.rpm
对指定的RPM包文件做多种形式的校验,以验证其有效性
压缩与解压缩
ZIP
不论是否压缩一个或多个文件夹,使用ZIP的方法都是先指定压缩后的文件夹名称,然后输入所有要一起压缩的文件名称,链接文件的压缩,ZIP会先读取该链接指向的源文件内容,然后再进行压缩或解压缩,因此,链接文件压缩后,其链接不再存在
#zip
查询可用的参数
#zip file.zip acde.jpg kjl.doc jklj.txt
可压缩不同类型的文件,且可压缩的文件数量没有限制
#zip �Cm file.zip acde.jpg kjl.doc jklj.txt
压缩后,要求系统自动删除原始文件
#zip �Cr file.zip *
可以一并压缩子目录中的内容,也是系统默认的
#zip �Cj file.zip *
不压缩子目录中的内容
#zip �Ck file.zip *
如果压缩后的文件在其他的平台上进行解压缩,使用兼容的命令格式(8.3命名格式)
#zip �Cn .jpg: .mpg: .gif: .exe file.zip *
直接保存某些经过特殊编码的文件类型,此种类型不用压缩,用:来分隔
#zip �Cl file.zip *
可解决从LINUX到MS-DOS上打开时的换行问题,如果要压缩的文件是二进制文件,则不可使用此参数,否则会错误
#zip �Ct 102203 file.zip *
压缩某日期后建立的文件
#zip file.zip * -x file2
排除不要压缩的文件
#zip �Cy file.zip *
如果文件太大,用此参数来压缩链接,而非压缩原始文件
#zip -1 low.zip *
#zip -9 high.zip *
指定压缩率,(1-9),压缩率越高,压缩速度越慢,压缩率越低,压缩速度越快,1为压缩率最低,9为压缩率最高
#zip -@ file.zip
File1
File2
如果要压缩的文件太多,可用此参数来换行输入,输入完毕完按ctrl+D组合键结束
#unzip file.zip
解压缩指定文件
#unzip file.zip �Cx file1
排除解压缩特定的文件
#unzip �CZ file.zip
在没有解压缩的情形下查看压缩文件内的信息
#unzip �Cl file.zip
查看压缩文件中实际包含的文件内容
GZIP
GZIP无法将多个文件压缩成一个单一的文件,但可以用tar打包后再压缩
#gzip file.txt
无须指定压缩后的文件名,系统会自动加,同时,源文件会被删除
#gzip *
不能把多个文件压缩成单个文件
#gzip �Cd *.gz
#gunzip *.gz
Gzip gunzip的参数完全相同,同时只要用d参数,gzip也可以解压缩文件,gunzip除了可以解开.gz文件外,也可用来解开zip,compress或pack命令所建立的压缩文件
#gzip �CS .jack file1.txt
#gzip �CS .jack �Cd file1.txt.jack
定制压缩文件的压缩名,同时解压缩时也要说明定制的压缩名
#gzip �Cl *
查看压缩文件内的信息
#gzip -1 *
#gzip -9 *
指定压缩率
TAR
把文件或目录集合成一个文件,还可以将硬盘中的数据备份到磁带机,使用命令时也要先指定打包文件的名称
备份与还原
#tar �Ccpf /dev/st0
保存文件权限备份/目录到磁带设备/dev/st0中
#tar �Cxpf /dev/st0 �CC/
恢复备份到/
#tar �Cxpf /dev/st0 etc/passwd
从备份文件恢复指定的文件etc/passwd
#tar zcvf /backup/pp.tar.gz
做一个完全备份
#find / -mtime -7 �Cprint >/tmp/filelist
找到七天内修改过的文件,生成备份内容的文件列表
#tar -c �CT /tmp/filelist �Cf /backup/pp.tar.gz
每隔七天做增量备份
#dump -0f /dev/nst0 /boot
#dump -0f /dev/nst0 /
f为指定设备名 0为备份的层级
#restore �Crf /dev/nst0
进行还原操作
#restore �Cxf /dev/nst0 /etc
单独还原某个文件
#restore �Cif /dev/nst0
交互式还原
#tar cvf tmp.tar /tmp
用于把指定的目录或文件打包到指定的文件中。
#tar zcvf tmp.tar.gz /tmp
用于把指定的目录或文件打包后进行压缩并保存到指定的文件中。
#tar htvf tmp.tar
Tar命令保存的是符号链接,而不是对应的文件,所以通过-h参数来将源文件保存在tar文件中
#tar tvf tmp.tar
显示指定的tar包中的文件目录列表
#tar rvf test1.tar file3
添加新的文件附加到tar文件的最后
#tar ztvf tmp.tar.gz
显示指定压缩tar包中的文件目录列表
#tar xvf tmp.tar
释放指定tar包文件中的内容
#tar zxvf tmp.tar
释放指定压缩tar包文件中的内容
#tar cvf test.tar *
#gzip test.tar
#tar cvf test.tar * | gzip test.tar
Tar 和gzip合并使用压缩
#gzip �Cd test.tar.gz
#tar xvf test.tar
#tgzip �Cd test.tar.gz | tar xvf test.tar
Tar 和gzip合并使用解压缩
Compress
经过它压缩后的文件都具有。Z扩展名,无法将许多个文件压缩成单一个文件
#compress *
压缩链接文件时,会先读取指向的源向文件内容,然后再进行压缩或解压缩
#compress �Cv file*
显示compress执行时的信息以及压缩率
#compress �Cb 12
Compress 命令的压缩率范围为9至16,值越大表示压缩率越高,但是花费的时间也越长,用参数b来指定压缩率
#compress �Cd *
#uncompress *
解压缩文件
#bzip2 �Cv *
Bzip2只能压缩单个文件,通常用来压缩kernel或patch文件,v用于查看压缩时的过程信息
#bzip2 �Ck *
希望压缩后仍能保存源文件
#bunzip2 *
#bzip2 �Cd *
解压缩
#bzip2recover file1.bz2
修复压缩的文件