赞
踩
tar命令作用:
打包:将一大堆文件或目录变成一个总的文件【tar命令】
压缩:将一个大的文件通过一些压缩算法变成一个小文件【gzip,bzip2等】
Linux中很多压缩程序只能针对一个文件进行压缩,这样当你想要压缩一大堆文件时,你得将这一大堆文件先打成一个包(tar命令),然后再用压缩程序进行压缩(gzip bzip2命令)。
tar 命令格式:
tar [必要参数] [选项参数] 文档名
常用必要参数:
-c 建立新的压缩文件
-x 从压缩的文件中提取文件
-t 显示压缩文件的内容
-z 支持gzip解压文件
-j 支持bzip2解压文件
-Z 支持compress解压文件
-v 显示操作过程
选项参数:
-C 切换到指定目录
-f 指定压缩文件
--help 显示帮助信息
压缩实例 :
mkdir etc
cp /etc/* ./etc
习惯上以 .tar后缀代表tar包,用xxx.tar.gz或.tgz代表gzip压缩过的tar文件,用.tar.bz2代表bzip2压缩过的tar文件。
将目标目录打包成一个打包文件并不压缩
[root@localhost ~]# tar -cvf etc.tar etc
[root@localhost ~]# ll
总用量 27464
-rw-------. 1 root root 1293 5月 30 12:28 anaconda-ks.cfg
drwxr-xr-x. 2 root root 6 5月 31 02:46 d1
drwxrwx---. 74 root group1 8192 5月 31 01:46 etc
-rw-r--r--. 1 root root 28098560 5月 31 02:47 etc.tar
-rwxr-xr--. 1 user4 group1 1304 5月 31 01:37 file1
-rwxr-xr-x. 1 root user4 1304 5月 31 01:37 file2
将打包好的tar文件进行压缩
文件压缩算法1 : GZIP
GZIP最早由Jean-loup Gailly和Mark Adler创建,用于UNⅨ系统的文件压缩。我们在Linux中经常会用到后缀为.gz的文件,它们就是GZIP格式的。
现今已经成为Internet 上使用非常普遍的一种数据压缩格式,或者说一种文件格式。
HTTP协议上的GZIP编码是一种用来改进WEB应用程序性能的技术。大流量的WEB站点常常使用GZIP压缩技术来让用户感受更快的速度。
这一般是指WWW服务器中安装的一个功能,当有人来访问这个服务器中的网站时,服务器中的这个功能就将网页内容压缩后传输到来访的电脑浏览器中显示出来.
一般对纯文本内容可压缩到原大小的40%.这样传输就快了,效果就是你点击网址后会很快的显示出来.当然这也会增加服务器的负载. 一般服务器中都安装有这个功能模块的。
操作 :
[root@localhost ~]# tar -zcvf etc.tar.gz etc
......压缩细节略
[root@localhost ~]# ll
总用量 36992
-rw-------. 1 root root 1293 5月 30 12:28 anaconda-ks.cfg
drwxr-xr-x. 2 root root 6 5月 31 02:46 d1
drwxrwx---. 74 root group1 8192 5月 31 01:46 etc
-rw-r--r--. 1 root root 28098560 5月 31 02:49 etc.tar
-rw-r--r--. 1 root root 9754562 5月 31 02:51 etc.tar.gz
-rwxr-xr--. 1 user4 group1 1304 5月 31 01:37 file1
-rwxr-xr-x. 1 root user4 1304 5月 31 01:37 file2
再换一种压缩方式 以bzip2来压缩
bzip2 是一个基于Burrows-Wheeler 变换的无损压缩软件,压缩效果比传统的LZ77/LZ78压缩算法来得好。
它是一款免费软件。可以自由分发免费使用。
它广泛存在于UNIX && LINUX的许多发行版本中。
bzip2能够进行高质量的数据压缩。它利用先进的压缩技术,能够把普通的数据文件压缩10%至15%,压缩的速度和解压的效率都非常高!支持大多数压缩格式,包括tar、gzip 等等。
先安装bzip2
[hadoop@nn1 ~]$ su root <== 切换root用户安装
[root@nn1 hadoop]# yum install -y bzip2 <=== 安装bzip2
开始压缩
[root@localhost ~]# tar -jcvf etc.tar.bz2 etc
[root@localhost ~]# ll
总用量 45372
-rw-------. 1 root root 1293 5月 30 12:28 anaconda-ks.cfg
drwxr-xr-x. 2 root root 6 5月 31 02:46 d1
drwxrwx---. 74 root group1 8192 5月 31 01:46 etc
-rw-r--r--. 1 root root 28098560 5月 31 02:49 etc.tar
-rw-r--r--. 1 root root 8577097 5月 31 02:55 etc.tar.bz2
-rw-r--r--. 1 root root 9754562 5月 31 02:51 etc.tar.gz
-rwxr-xr--. 1 user4 group1 1304 5月 31 01:37 file1
-rwxr-xr-x. 1 root user4 1304 5月 31 01:37 file2
查看实例 :
查看etc.tar中的所有内容
[root@localhost ~]# tar -tf etc.tar
hadoop_base_op/
hadoop_base_op/exe.sh
hadoop_base_op/ips
hadoop_base_op/scp_all.sh
hadoop_base_op/ssh_all.sh
hadoop_base_op/ssh_root.sh
hadoop_zookeeper_op/
hadoop_zookeeper_op/ips_zookeeper
hadoop_zookeeper_op/scp_all_zookeeper.sh
hadoop_zookeeper_op/ssh_all_zookeeper.sh
hadoop_zookeeper_op/ssh_root_zookeeper.sh
加-v参数查看详细信息,-z可有可无
[root@localhost ~]# tar -ztvf etc.tar.gz
.....显示略
查看img.tar.bz2内容
加-v参数查看详细信息,-j可有可无
[root@localhost ~]# tar jtf etc.tar.bz2
----显示略
解压缩实例
将etc.tar解压到temp目录
-C 参数 解压到指定目录下
-C(大C参数很有用,改变文件目录,多层时用) -C, --directory=DIR change to directory DIR
使用了-C参数改变目录为-C后面 目录,不管是在打包还是解压都很有用。
用法:tar temp.tar file -C fileDir
举个例子: 在 ~ 目录下 解压 op.tar 到/tmp下
[hadoop@nn1 ~]$ tar -xf op.tar -C /tmp/
解压各种压缩文件
1、*.tar 用 tar –xvf 解压
2、*.gz 用 gzip -d或者gunzip 解压
3、*.tar.gz和*.tgz 用 tar –xzf 解压
4、*.bz2 用 bzip2 -d或者用bunzip2 解压
5、*.tar.bz2用tar –xjf 解压
6、*.Z 用 uncompress 解压
7、*.tar.Z 用tar –xZf 解压
8、*.rar 用 unrar x 解压
9、*.zip 用 unzip 解压
算法介绍
ZIP,是一个文件的压缩的算法,原名Deflate(真空),发明者为菲利普·卡兹(Phil Katz)),他于1989年1月公布了该格式的资料。
ZIP通常使用后缀名“.zip”,它的MIME格式为 application/zip 。
目前,ZIP格式属于几种主流的压缩格式之一,其竞争者包括RAR格式以及开放源码的7-Zip格式。
从性能上比较,RAR格式较ZIP格式压缩率较高,但是它的压缩时间远远高于Zip。而7-Zip(7z)由于提供了免费的压缩工具而逐渐在更多的领域得到应用。
语法
zip [参数] [打包后的文件名] [打包的目录路径]
使用 :
先安装zip
[root@localhost ~]# yum install -y zip
常用参数 :
1.参数:-r ,将指定的目录下的所有子目录以及文件一起处理
[root@localhost ~]# zip -r etc.zip etc >> log
2.参数:-q,安静模式,在压缩的时候不显示指令的执行过程
[root@localhost ~]# zip -r -q etc.zip etc
解压zip包的命令
安装
[root@localhost ~]# yum install -y unzip
语法 :
unzip [参数] <压缩文件> [压缩包中将被释放的文件]
参数:-d,解压到指定的目录,该目录可以是不存在的
[root@localhost ~]# unzip -q etc.zip -d /tmp/
replace /tmp/etc/fstab? [y]es, [n]o, [A]ll, [N]one, [r]ename: A
因为我们之前已经解压过一个了 所以此处询问是否替换 选择A 代表全部替换
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。