今天来讲解一下压缩和打包的相关命令,首先得先明确两个概念,即:压缩和打包

压缩:将文件或目录进行压强,使文件或目录大小变小

打包:表示将目录中的所有内容,捆绑在一起,方便传输,打包后的文件会变大,不一定回变小

1、压缩解压命令:gzip

原意:GNU(是一个组织) zip

命令所在路径:/bin/gzip

执行权限:所有用户

语法:gzip 选项 [文件]

功能:压缩文件

压缩后的文件格式:.gz,gzip和bzip2一样,都会自动产生一个后缀名

例子:gzip /prem/newfile1

结果:newfile1.gz 产生了一个newfile1.gz文件,发现源文件不见了

gzip使用起来非常的简单,但是区别于windows下的winRAR,我们在Linux的所有压缩包放到windows下,winRAR都可以将它解压缩(也就是说windows的WinRAR什么格式的文件都支持,但是Linux就不一定支持了,当然你要安装相应的软件也可以,但是最好不要给自己制造麻烦),但是如果反过来,我们在windows下压缩包放到Linux下,就必须去找一个winRAR的Linux版本了

gzip还有两个特点:

(1)、它只能压缩文件,不能压缩目录

(2)、不保留源文件 newfile1.gz newfile1不在了

那么怎样实现解压缩呢?有两种方法:

(1)、gunzip     gunzip /prem/newfile1.gz       解压也是不能保留源文件的,会将被解压的.gz包自动删除
(2)、gzip -d(decompress表示解压) +压缩包名称

那上面的gzip是不能压缩目录的,那要怎样来压缩目录呢,从而就有了tar

2、压缩解压命令:tar (不产生后缀名)

例子:tar -zcf newdir.tar.gz(这是最终的文件名,虽然gzip不需要指定新的文件名,但是由于我们是连贯操作,所以此处需要加上,成为最终的文件名) newdir (-zcf省去了-v),注意:一般都是在当前目录下使用tar进行打包,解包的

功能:将一个目录打包成一个文件,源目录还是存在的
语法:tar 选项[cvf] [目录]
-c 产生.tar打包文件 我们在使用tar打包目录的时候,-c是必要的选项,表示create创建一个打包文件
-v显示详细信息 可选项,是在命令执行的时候,显示命令执行的过程
-f指定压缩后的文件名 必选项,该选项必须放在所有选项的后面,后面跟住新的文件名
-z打包同时压缩 (不是所有的Linux都支持,打包并同时压缩的意思)

例子:tar -zcf newdir.tar.gz(这是最终的文件名,虽然gzip不需要指定新的文件名,但是由于我们是连贯操作,所以此处需要加上,成为最终的文件名) newdir (-zcf省去了-v),注意:一般都是在当前目录下使用tar进行打包,解包的

表示将newdir打包并压缩,新生成的文件名为newdir.tar.gz(我们严格要求新生成的名字用这种格式来写,即在原来的文件名后直接加上后缀,你也可以写成abc,但是你不好辨认它是不是一个压缩包,但是如果真的在系统中发现有这样的文件,他是不能使用cat,more等命令来查看内容的,此时我们可以使用file abc,他就会告诉我们这是一个gzip文件了)

结果:-rw-r--r--. 1 root root 114 5 21 21:07 newdir1.tar.gz生成的.tar.gz是一个二进制文件

压缩后文件格式:.tar.gz(打包后的后缀是.tar,然后再进行压缩就变成了.tar.gz格式了)

我们在互联网上down下来的源码,很多都是.tar.gz格式的,

注意:并不是所有的Linux和Unix系统都支持同时打包并压缩的,所以我们还是强调先打包成.tar包,再对这个.tar包进行压缩

(1)、tar -cf newdir.tar newdir (省去-z压缩,省去-v显示打包详情)

(2)、gzip newdir.tar 就会得到一个newdir.tar.gz文件了 ,此时就可以使用gzip来压缩一个包,此时包已经不是目录的类型了,注意gzip是不可以压缩目录的

那么如何解包呢?
也是使用tar,但是选项不同
-x 解包.tar文件
-v显示详细信息
-f指定解压文件
-z解压缩
例子:tar -zxf newdir.tar.gz 将newdir.tar.gz解包到当前目录下(打包是-zcf,c表示创建,x表示execute)
那如果要分两步:
(1)、gunzip newdir.tar.gz
(2)、tar -xf newdir.tar (少了一个-z解压缩)

3、压缩解压命令zip (注意:该命令不自动产生后缀名,会保留源文件,用得最多的压缩命令)

.zip格式,是windows和Linux同时都支持的格式,所以我们在windows和Linux下共享文件的时候,如果文件不是特别大,我们就可以使用.zip格式的了,因为在两个系统上都可以支持对他进行解压缩,可以压缩文件,也可以压缩目录


例子:zip newfile.zip newfile 和tar比较像,也是先写压缩后的文件名,再是源文件名

显示: newfile1 newfile1.gz,和gzip不同的是,它会保留原文件

例子:zip services.zip /etc/services

可以看到一个压缩比:

newfile2 services.zip,压缩后的文件会在当前目录中显示

同样,想压缩目录也是可以的,只要加上一个选项-r,不加-r时,压缩目录不会报错,但是压缩比永远都为0%,即压缩后大小和源目录一样。

zip -r newdir.zip newdir (此时如果压缩目录时,不使用-r选项,则会虽然没有报错,实际上没有压缩成功) 也是先写新的文件名,再写源文件名(参数,就是命令的操作对象),注意,一定要将后缀名写上,即使LINUX对文件名要求不是很高

那如何对.zip文件进行解压缩呢?可以使用unzip,很简单

unzip newdir.zip 或者 unzip newfile.zip

解压的时候,不管是对文件,还是对目录,都不需要加 -r

zip有两个优点:

(1)、保留了源文件

(2)、可以压缩目录

解决了gzip的两个缺点,同时他是和windows兼容最好的格式

(注意,使用gzip的时候,后缀gz会自动填充,gzip newfile就表示压缩newfile文件,使用tar的时候,后缀名最好为tar,使用zip的时候,后缀名最好为zip)

4、压缩解压命令:bzip2 不能压缩目录,但由于有-k选项,所以可以保留源文件

实际上,bzip2是gzip的升级版,像之前说的,gzip又不能压缩目录,又不能保留源文件,是不是要淘汰了呢,实际上还是有广泛的应用。别看它只是一个命令,但他的压缩比非常的惊人。Linux的压缩比非常的惊人,比windows要大得多,尤其是这个bzip2,特别适合压缩大型的文件。(zip适合压缩小文件)

bzip2和gzip非常相似,只是加了一个选项,-k(表示keep,保留),可以保留源文件,不加-k,是跟gzip完全一样的

语法:bzip2 选项[-k] [文件]

压缩后的格式:.bz2          gzip和bzip2一样,都会自动产生一个后缀名
例子:bzip2 -k newfile2
显示: newfile2.bz2 newfile2 保留了源文件
那如何对.bz2文件进行解压缩呢
使用:bunzip2 选项 [-k] 解压缩后保留源文件(保留原来的压缩包) ,对gzip压缩的文件进行解压,使用gunzip newfile.gz
bunzip2 newfile2.bz2 还可以像gzip 那样,加上-d选项(decompress解压),
bzip2 -d newfile.bz2 对.bz2文件进行解压
也可以加上-k(keep)保留源文件 bzip2 -dk newfile.bz2 此时将保留源文件,并且解压缩文件newfile.bz2

14.Linux压缩/打包的更多相关文章

  1. Linux压缩打包方法连载之三:bzip2, bzcat 命令

    Linux压缩打包方法有多种,本文集中讲解了bzip2, bzcat 命令的使用.案例说明,例如# 与 gzip 同样的,都是在计算压缩比的参数,-9 最佳,-1 最快. AD: 我们遇见Linux压 ...

  2. linux压缩打包等

    删除 rm -rf 目录 tar -zcvf /home/xahot.tar.gz /xahot tar -zcvf 打包后生成的文件名全路径 要打包的目录 例子:把/xahot文件夹打包后生成一个/ ...

  3. linux压缩打包、定时任务

    压缩打包 gzip压缩 win中的压缩包:zip rar Linux常见的压缩包有哪些? gzip bzip2 1.gzip压缩 压缩命令:gzip [压缩文件] 解压命令:gzip -d [压缩包] ...

  4. Linux压缩打包命令

    tar命令 [root@linux ~]# tar [-cxtzjvfpPN] 文件与目录 .... 参数 -c :建立一个压缩文件的参数指令(create 的意思): -x :解开一个压缩文件的参数 ...

  5. Linux压缩打包tar命令总结

      命令简介   在Linux系统的维护.管理中,tar命令是一个使用频率很高的命令,tar命令的功能主要是将众多文件打包成一个tar文件并压缩,并且能保持文件的权限属性.tar其实最开始是用来做磁带 ...

  6. linux压缩打包

    linux下的压缩命令有tar.gzip.gunzip.bzip2.bunzip2. compress.uncompress.zip.unzip.rar.unrar等等,压缩后的扩展名有.tar..g ...

  7. Linux 编译安装、压缩打包、定时任务

    目录 Linux 编译安装 知识储备: wget命令 编译安装 Linux 压缩打包 gzip压缩 bzip2压缩 tar打包 Linux 定时任务 相关文件及操作 Linux 编译安装 编译安装就是 ...

  8. Linux下打包压缩war和解压war包

    Linux下打包压缩war和解压war包 unzip是一种方法,如果不行则采用下面的方法 把当前目录下的所有文件打包成game.war jar -cvfM0 game.war ./ -c   创建wa ...

  9. Linux中常用压缩打包工具

    Linux中常用压缩打包工具 压缩打包是常用的功能,在linux中目前常用的压缩工具有gzip,bzip2以及后起之秀xz.本文将介绍如下的工具常见压缩.解压缩工具以及打包工具tar. gzip2 直 ...

随机推荐

  1. Docker学习之docker-compose

    docker-compose 安装 1.Mac/Windows: 安装docker的时候附带安装了. 2.Linux: curl https://github.com/docker/compose L ...

  2. class命名归类

    常见class关键词: 布局类:header, footer, container, main, content, aside, page, section 包裹类:wrap, inner 区块类:r ...

  3. APP稳定性测试

    APP稳定性测试-monkey测试     第一篇-App稳定性测试-Monkey(基本操作) 准备工作 1.首先下载好adb工具 2.使用数据线连接电脑,打开usb调试 3.使用win+R打开运行, ...

  4. lcx端口转发

    目录 0x01 正向端口转发 0x02 反向端口转发 0x03 msf正向shell 0x04 msf反向shell 注: 边界机器 win08 192.168.222.175 内网机器 win7 1 ...

  5. The type java.lang.AutoCloseable cannot be resolved. It is indirectly referenced from required .class files

    出现问题: The type java.lang.AutoCloseable cannot be resolved. It is indirectly referenced from required ...

  6. 基于Babylon.js编写宇宙飞船模拟程序1——程序基础结构、物理引擎使用、三维罗盘

    计划做一个宇宙飞船模拟程序,首先做一些技术准备. 可以访问https://ljzc002.github.io/test/Spacetest/HTML/PAGE/spacetestwp2.html查看测 ...

  7. java-newInstance()和new()

    public <T> T genericMethod(Class<T> tClass)throws InstantiationException , IllegalAccess ...

  8. Maven 梳理 - 常用三种archetype说明

    archetype:原型的意思,可理解为Maven项目模板工具包 常用archetype 1.cocoon-22-archetype-webapp 2.maven-archetype-quicksta ...

  9. Flask基础(05)-->路由的基本定义

    # 导入Flask from flask import Flask # 创建Flask的应用程序 app = Flask(__name__) # http://127.0.0.1:5000/123或者 ...

  10. JS 取整、取余

    一.取整 1. 取整 // 丢弃小数部分,保留整数部分 parseInt(7/2) // 3 2. 向上取整 // 向上取整,有小数就整数部分加1 Math.ceil(7/2) // 4 3. 向下取 ...