Linux通过命令压缩与解压缩的方法| tar, tar.gz, tar.bz2

所属分类: 脚本专栏 / linux shell 阅读数: 321
收藏 0 赞 0 分享

我最开始用 Linux 的时候,不是在 cd、mkdir 之类的这些命令受到了阻碍,因为这类命令在 windows 的 DOS 下也经常性使用,所以很容易上手。但是,碰到了压缩文件的时候,我就一脸懵逼,因为在 windows 下,“压缩与解压缩”只需要双击文件就可以了,而在 Linux 上,在图形界面双击压缩文件,打开的是“归档管理器”,什么鬼?从来没听说过归档,后来才知道就跟 win 下的 winrar 一样的。所以,在对文件的压缩与解压缩方面,我是看了一些文章来理解的(不爱看看书爱直接上手折腾的少年,遇到问题只爱百度谷歌解决)。

在学习压缩和解压缩之前。首先,要了解一下打包、压缩、解压缩的基本概念。

打包文件:一看到 .tar  作为后缀的文件,就是打包文件。

压缩文件:一看到 .tar.gz 或者 .tar.bz2 作为后缀的文件,就是压缩文件。

解包:对打包文件进行解包还原成打包前的文件。

压缩:对打包文件进行压缩然后生成压缩文件。

解压缩:读压缩文件进行解压和解包还原回打包前的文件。

一般情况下,压缩是在打包的基础上的,换句话说,要压缩就要先打包再压缩。tar 的全称是“Tape Archive”,中文意思是“磁带归档”,所以 Linux 下的打包与解压软件一般叫“归档管理器”。既然 tar 是打包的意思,那么 gz 和 bz2  是什么?gz 和 bz2 是两种压缩算法,压缩后的文件分别为 gzip  和  bzip2。其中 bz2算法 比 gz算法 压缩效果更好,所以,如果要选择的话,建议将需要压缩的文件用 bz2算法 压缩。不管 bz2 还是 gz,最好对 打包后的文件.tar  进行压缩。

有了上面的基础概念,可以学习打包、解包、压缩、解压缩的命令了。

命令格式:tar -参数 生成文件 目标文件

1、打包:

    tar -cvf 打包文件名.tar 目标文件或目录

2、gzip 压缩:

    tar -czvf 压缩文件名.tar.gz 目标文件或目录

3、bzip2 压缩:

    tar -cjvf 压缩文件名.tar.bz2 目标文件或目录

4、解包:

    tar -xvf 打包文件名.tar -C 解包到指定目录

5、gzip 解压:

    tar -xzvf 打包文件名.tar.gz -C 解压到指定目录

6、bzip2 解压:

    tar -xjvf 打包文件名.tar.bz2 -C 解压到指定目录

注:以上4 5 6命令的【 -C 解压到指定目录】可忽略,忽略就解压到当前文件夹

=======================================================

举个栗子:

假设当前目录我有一个文件夹 hello

我要压缩成 hello.tar.bz2,则在终端执行命令:tar -cjvf hello.tar.bz2 hello

如要解压 hello.tar.bz2 到 /home 目录,则在终端执行命令:tar -xjvf hello.tar.bz2 -C /home

============================================================================

如果 tar 版本大于1.22,直接一条命令  tar -xvf 解压文件  就足矣解压一切格式压缩包。

以上就是用 tar命令 进行打包、解包、压缩、解压缩最简单的用法。希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对脚本之家网站的支持!

更多精彩内容其他人还在看

Shell脚本中计算字符串长度的5种方法

这篇文章主要介绍了Shell脚本中计算字符串长度的5种方法,来自于个人Shell脚本长期的开发经验,需要的朋友可以参考下
收藏 0 赞 0 分享

Shell脚本实现把进程负载均衡到多核CPU中

这篇文章主要介绍了Shell脚本实现把进程负载均衡到多核CPU中,可以把进程指定运行在某个CPU中,需要的朋友可以参考下
收藏 0 赞 0 分享

5个Shell脚本编程入门练习例子

这篇文章主要介绍了5个Shell脚本编程入门例子,涵盖了各种操作,又有一些游戏的性质,作为入门练习例子是不很不错的,需要的朋友可以参考下
收藏 0 赞 0 分享

Shell脚本编程中常用的数学运算实例

这篇文章主要介绍了Shell脚本编程中常用的数学运算实例,包含最基本的加减乘除,还有质数、偶数的判断等,需要的朋友可以参考下
收藏 0 赞 0 分享

5个实用的shell脚本面试题和答案

这篇文章主要介绍了5个实用的shell脚本面试题和答案,给出的脚本堪称编码规范,麻雀虽小,异常处理,友好提示,一应俱全,值得学习,需要的朋友可以参考下
收藏 0 赞 0 分享

使用bash shell删除目录中的特定文件的3种方法

这篇文章主要介绍了使用bash shell删除目录中的特定文件的3种方法,分别为扩展模式匹配符、GLOBIGNORE 变量和find 命令,需要的朋友可以参考下
收藏 0 赞 0 分享

Shell获取文件的文件名和扩展名的例子

这篇文章主要介绍了Shell获取文件的文件名和扩展名的例子,简明版的代码实例,看了就懂,需要的朋友可以参考下
收藏 0 赞 0 分享

Shell多线程操作及线程数控制实例

这篇文章主要介绍了Shell多线程操作及线程数控制实例,文中从单线程实现一个需求开始,不断加入代码实现多线程以及线程数的控制功能,需要的朋友可以参考下
收藏 0 赞 0 分享

阿里云主机一键安装lamp、lnmp环境的shell脚本分享

这篇文章主要介绍了阿里云主机一键安装lamp、lnmp环境的shell脚本分享,需要的朋友可以参考下
收藏 0 赞 0 分享

shell脚本转发80端口数据包给Node.js服务器

开发基于Node.js的WEB应用很方便,但是服务端口问题很蛋疼,由于Linux内核规定普通用户只能使用大于1024的端口号,所以使用普通用户运行Node.js服务就不能监听80端口
收藏 0 赞 0 分享
查看更多