linux 打包压缩的常用命令gzip、bzip2、tar

1.概述

压缩:

指通过某些算法,将文件尺寸进行相应的缩小,同时不损失文件的内容。

打包:

指将多个文件(或目录)合并成一个文件,方便传递或部署。

在Linux系统中,文件的后缀名不重要,但是针对于压缩文件的后缀名是必须的,因为可以让其他的程序员根据文件的后缀名使用对应的算法进行解压。

Linux常见的压缩文件后缀名:

*.gz 

gzip程序压缩的文件

*.bz2

bzip2 程序压缩的文件

*.tar 

tar命令打包的数据,并没有压缩过

*.tar.gz 

tar程序打包的文件,并且经过 gzip 的压缩 

*.tar.bz2

tar程序打包的文件,并且经过 bzip2 的压缩

 2.压缩命令

2.1gzip

压缩/解压命令

选项:

-c :

将压缩的数据输出到标准输出(stdout)上

-d :

解压缩

-t :

可以用来检验一个压缩文件的一致性,看看文件有无错误

-v :

可以显示出原文件/压缩文件的压缩比等信息

-(1,2,...,9):

压缩等级,1最快,但是压缩比最差;9最慢,但是压缩比最好,默认是6。

-l :

查看压缩文件的压缩比: gzip –l  *.gz

gzip -c :将压缩的数据输出到标准输出(stdout)上 (标注输出--即控制台上)

gzip -d :解压缩后压缩文件就没了

--------------------------------------------------------------------

gzip 可以用数据重定向:

如: gzip -c passwd >> passwd.gz                

通过-c指令,将流输出到passwd.gz中, >>表示进行对标准输出进行数据重定向

案例:

cp /root/install.log /home/gzip 

1,gzip -c install.log //将压缩的数据输出到标准输出

2,gzip –v install.log  //压缩完显示

这时发现源文件不在了,如果想保留源文件,可以用数据重导向技术

3,gzip -d install.log.gz  //解压

4,gzip -c install.log > install.log.gz

5,gzip -t  install.log.gz    //检查文件是否有误

6,gzip -c9v install.log    //提高压缩比(文件如果本身很小可能体现不出来)

2.2bzip2

压缩/解压命令:

选项

-c :

将压缩的过程产生的数据输出到标准输出(stdout)

-d :

解压缩的参数

-k :

保留源文件,而不会删除原始的文件

-v :

可以显示出原文件/压缩文件案的压缩比等信息;

-(1,2,...,9):

与gzip同样的,都是在计算压缩比的参数,-9最佳,-1最快

 

  • gzip拥有更快的压缩性能。
  • bzip2拥有更高的压缩比。
  • 单纯从压缩比方面来说,那么bzip2 > gzip > compress
  • bzip2 不能使用数据重定向

查看压缩文件中的内容:

  • cat:可以用来查看文本文件中的内容。
  • zcat:可以用来查看gzip算法压缩的压缩文件内容。
  • bzcat:可以用来查看bzip2算法压缩的压缩文件内容。

3. 打包、解包命令

tar:可以将一个文件/夹打包成一个文件。可以结合gzip、bzip2的算法对包文件进行相应的压缩和解压。

语法:

压缩: tar [选项] newFileName.tar.gz sourceFileName

解压: tar [选项] fileName.tar.gz [-C /path]

选项:

-c :

建立打包文件,

-t :

查看打包文件的内容含有哪些文件

-x :

解打包或解压缩的功能,可以搭配-C(大写)在指定目录解开

-j :

通过bzip2的支持进行压缩/解压缩:此时文件最好为 *.tar.bz2

-z :

通过gzip的支持进行压缩/解压缩:此时文件最好为 *.tar.gz

-v :

在压缩/解压缩的过程中,将正在处理的文件名显示出来

-f filename:

-f 后面跟处理文件的全名称(路径+文件名+后缀名)

-C 目录:

这个选项用在解压的时候,若要在特定目录解压,可以使用这个选项

注:

使用命令进行打包、压缩的时候,使用了什么算法,文件后缀名就一定要与其对应

案例:

压缩:

1、使用gzip的算法进行打包压缩。

# bash

tar -zcvf install.log.tar.gz install.log

注意tar的语法,tar -zcvf       newFile      sourceFile

2、使用bzip2的算法进行打包压缩。

# bash

tar -jcvf install.log.tar.bz2 install.log

3、如果想要压缩指定目录中的内容是,可以考虑使用绝对路径。

# bash

tar -zcvf [path]/newFileName.tar.gz [path]/sourceFile



解压:

1、将一个压缩包文件解压到当前目录下

# bash

tar -zxvf install.log.tar.gz 

执行完成之后,文件会在当前的目录下,解压后会覆盖原文件。

2、将一个压缩包文件解压到指定目录下

# bash

tar -zxvf install.log.tar.gz -C /

3、只解压包中的某个文件

# bash

tar -zxvf etc.tar.gz etc/shells

4、配置jdk环境变量:

# bash

tar -zxvf jdk-8u131-linux-x64.tar.gz

cd jdk1.8.0_131

pwd    # 复制路径

vim /etc/profile     # profile文件是系统环境变量的配置文件

在该文件的最后一行添加内容:

export JAVA_HOME=[path]

export PATH=$JAVA_HOME/bin:$PATH

保存退出

source /etc/profile

使环境变量生效


 

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值