Linux 压缩软件操作

tar 命令

tar命令作用:

  1. 打包:将一大堆文件或目录变成一个总的文件【tar命令】

  2. 压缩:将一个大的文件通过一些压缩算法变成一个小文件【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 531 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 531 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 531 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 531 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 531 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 531 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 命令

算法介绍

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

unzip 命令

解压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 代表全部替换

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值