Linux文档压缩打包与安装
在windows下接触最多的压缩文件就是.rar格式的了。但在linux下这样的格式是不能识别的,它有自己所特有的压缩工具。但有一种文件在windows和linux下都能使用那就是.zip格式的文件。
在linux下最常见的压缩文件通常都是以.tar.gz 为结尾的,除此之外还有.tar, .gz, .bz2, .zip等等。以下介绍常见的后缀名所对应的压缩工具。
- .gz gzip 压缩工具压缩的文件
- .bz2 bzip2 压缩工具压缩的文件
- .tar tar 打包程序打包的文件(tar并没有压缩功能,只是把一个目录合并成一个文件)
- .tar.gz 可以理解为先用tar打包,然后再gzip压缩
- .tar.bz2 同上,先用tar打包,然后再bzip2压缩
1.gzip压缩工具
语法: gzip [-d#] filename 其中#为1-9的数字
“-d” : 解压缩时使用
“-#” : 压缩等级,1压缩最差,9压缩最好,6为默认
“gzip -d” 后面跟压缩文件,会解压压缩文件。gzip 是不支持压缩目录的。
2.bzip2压缩工具
语法: bzip2 [-dz] filename
bzip2 只有两个选项需要您掌握。
“-d” : 解压缩
“-z” : 压缩
压缩时,可以加 “-z” 也可以不加,都可以压缩文件,”-d” 则为解压的选项:
3.tar压缩工具
tar 本身为一个打包工具,可以把目录打包成一个文件,它的好处是它把所有文件整合成一个大文件整体,方便拷贝或者移动。
语法:tar [-zjxcvfpP] filename tar 命令有多个选项。
“-z” : 同时用gzip压缩
“-j” : 同时用bzip2压缩
“-x” : 解包或者解压缩
“-t” : 查看tar包里面的文件
“-c” : 建立一个tar包或者压缩文件包
“-v” : 可视化
“-f” : 后面跟文件名,压缩时跟 “-f 文件名”,意思是压缩后的文件名为filename, 解压时跟 “-f 文件名”,意思是解压filename. 请注意,如果是多个参数组合的情况下带有 “-f”,请把 “-f” 写到最后面。
“-p” : 使用原文件的属性,压缩前什么属性压缩后还什么属性。(不常用)
“-P” : 可以使用绝对路径。(不常用)
--exclude filename : 在打包或者压缩时,不要将filename文件包括在内。(不常用)
首先在test目录下建立test111目录,然后在test111目录下建立test2.txt, 并写入 “nihao” 到test2.txt中,接着是用tar把test111打包成test111.tar. 请记住 “-f” 参数后跟的是打包后的文件名, 然后再是要打包的目录或者文件。tar 打包后,原文件不会消失,而依旧存在。在上例中,使用一个特殊的符号 ”!$” 它表示上一条命令的最后一个参数,比如在本例中,它表示”test111/test2.txt”. tar 不仅可以打包目录也可以打包文件,打包的时候也可以不加 “-v” 选项表示,表示不可视化
删除原来的test111目录,然后解包test.tar,不管是打包还是解包,原来的文件是不会删除的,而且它会覆盖当前已经存在的文件或者目录。
打包的同时使用gzip压缩
tar命令非常好用的一个功能就是可以在打包的时候直接压缩,它支持gzip压缩和bzip2压缩。
“-tf” 可以查看包或者压缩包的文件列表:
“-zxvf” 用来解压.tar.gz的压缩包
打包的同时使用bzip2压缩
和gzip压缩不同的是,这里使用 “-cjvf” 选项来压缩
同样可以使用 “-tf” 来查看压缩包文件列表
下面介绍一下 --exclude 这个选项的使用。排除;test111里面的test.txt3文件,并打包压缩test113.tar
4.RPM工具
RPM是 “Redhat Package Manager” 的缩写。RPM 是以一种数据库记录的方式来将您所需要的套件安装到您的Linux 主机的一套管理程序。也就是说,您的linux系统中存在着一个关于RPM的数据库,它记录了安装的包以及包与包之间依赖相关性。RPM包是预先在linux机器上编译好并打包好的文件,安装起来非常快捷。但是也有一些缺点,比如安装的环境必须与编译时的环境一致或者相当;包与包之间存在着相互依赖的情况;卸载包时需要先把依赖的包卸载掉,如果依赖的包是系统所必须的,那就不能卸载这个包,否则会造成系统崩溃。
如果您的光驱中还有系统安装盘的话,我们可以通过 mount /dev/cdrom /mnt 命令把光驱挂载到/mnt目录下,那么您会在/mnt/Packages目录下看到很多.rpm的文件,这就是RPM包了。
每一个rpm包的名称都由 - 和 . 分成了若干部分。就拿 “abrt-cli-2.0.8-15.el6.centos.i686.rpm” 这个包来解释一下, “abrt-cli” 为包名, “2.0.8” 则为版本信息, “15.el6.centos” 为发布版本号, “i686” 为运行平台。其中运行平台常见的有i386, i586, i686, x86_64 ,需要您注意的是cpu目前是分32位和64位的,i386,i586和i686都为32位平台,x86_64则代表为64位的平台。另外有些rpm包并没有写具体的平台而是noarch,这代表这个rpm包没有硬件平台限制。例如 “alacarte-0.10.0-1.fc6.noarch.rpm”. 下面介绍一下rpm常用的命令。
5.安装一个rpm包
“-i” : 安装的意思
“-v” : 可视化
“-h” : 显示安装进度
另外在安装一个rpm包时常用的附带参数有:
--force : 强制安装,即使覆盖属于其他包的文件也要安装
--nodeps : 当要安装的rpm包依赖其他包时,即使其他包没有安装,也要安装这个包
6.升级一个rpm包
rpm -Uvh filename
-U:即刻升级
7.卸载一个rpm包
rpm -e filename
8.查询一个包是否安装
9.得到一个已安装rpm包的相关信息
rpm -qi 包名
10.列出某一个文件属于rpm包
11.yum工具
比rpm工具好用,当然前提是使用的linux系统是支持yum的。yum最大的优势在于可以联网去下载所需要的rpm包,然后自动安装,在这个工程中如果要安装的rpm包有依赖关系,yum会帮您解决掉这些依赖关系依次安装所有rpm包。
12列出所有可用的rpm包--yum list
上例中可以看到有 “mirrors.btte.net” 信息出现,这是在告诉用户,它是从mirrors.btte.net这里下载到的rpm包资源。还可以看到最左侧是rpm包名字,中间是版本信息,最右侧是安装信息,如果安装了就显示类似 “@anaconda-CentOS”, “@base” 或者 “@extras”, 他们前面都会有一个 “@” 符号,这很好区分。未安装则显示base或者extras, 如果是该rpm包已安装但需要升级则显示updates. ”yum list” 会先列出已经安装的包(Installed Packages) 然后再列出可以安装的包(Available Packages)
13.搜索一个rpm包,可以同时使用grep来过滤
14.安装一个rpm包
命令 yum install [-y] [rpm包名]
如果不加 “-y” 选项,则会以与用户交互的方式安装,首先是列出需要安装的rpm包信息,然后会问用户是否需要安装,输入y则安装,输入n则不安装。而阿铭嫌这样太麻烦,所以直接加上 “-y” 选项,这样就省略掉了问用户是否安装的那一步。
15.卸载一个rpm包
命令 yum remove [-y] [rpm包名],卸载和安装一样,也可以直接加上 “-y” 选项来省略掉和用户交互的步骤。
16.升级一个rpm包
命令 yum update [-y] [rpm包]