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

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

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

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. (2)安装elastic6.1.3及插件kibana,x-pack,essql,head,bigdesk,cerebro,ik

    5.2kibana安装 5.2.1解压kibana安装包,修改config/kibana.yml中端口,服务器地址,elastic连接地址 -linux-x86_64.tar.gz cd kibana ...

  2. 在Debian上用FVWM做自己的桌面

    用FVWM做自己的桌面 Table of Contents 1. 前言 2. 学习步骤 3. 准备 3.1. 软件包 3.2. 字体 3.3. 图片 3.4. 参考资料 4. 环境 5. 布局 6. ...

  3. Docker service endpoint with name xxx already exist问题

    这是因为利用docker compose启的容器再用docker rm命令删除后,网络仍然被占用,需要手动清理 解决办法: 先用docker rm -f xxx删除容器 再输入docker netwo ...

  4. FIT文件CRC校验

    校验FIT文件CRC代码做个记录,分为两步先校验头部然后再校验整个FIT文件.校验头部不是必需的看个人需要吧.为了偷懒使用Okio库,还有计算CRC的时候用的Garmin的FitSDK. public ...

  5. 朱晔和你聊Spring系列S1E11:小测Spring Cloud Kubernetes @ 阿里云K8S

    有关Spring Cloud Kubernates(以下简称SCK)详见https://github.com/spring-cloud/spring-cloud-kubernetes,在本文中我们主要 ...

  6. Linux系统学习之Ln(软连接和硬链接)

    可简单理解为,软连接:创建的软连接文件是源文件的快捷方式,删除创建的软连接文件,源文件不受影响,连接消失. 硬链接:两个连体的文件,修改其中一个文件,另外一个文件也会随之更改:删除其中一个文件,另外一 ...

  7. java程序猿如何练习java版的易筋经?

    故事背景 电视剧<天龙八部>中,阿朱易容后进入少林寺偷走了<易筋经>,她一直想把这本书送给乔峰.耿直的乔峰觉得此书来历不正,不肯接受.几番波折,这本书最后落到聚贤庄庄主游坦之手 ...

  8. Nginx+Tomcat Https SSL部署方案

    1.软件版本: nginx-1.15+ tomcat-8.0+ 2.先解决一个疑问:Tomcat到底需不需要配置SSL? 答案:不需要 3.SSL申请 使用腾讯云.阿里云的服务器,会更加方便申请.(申 ...

  9. Spring框架学习笔记(4)——SSM整合以及创建Maven自定义模版

    Spring+Spring MVC+MyBatis+Maven SSM整合的核心还是Spring+MyBatis的整合,回顾一下MyBatis操作数据库流程,我们是使用一个SQLSessionFact ...

  10. pycharm 激活码 2019/11最新福利(2)

    812LFWMRSH-eyJsaWNlbnNlSWQiOiI4MTJMRldNUlNIIiwibGljZW5zZWVOYW1lIjoi5q2j54mIIOaOiOadgyIsImFzc2lnbmVlT ...