14.Linux压缩/打包
今天来讲解一下压缩和打包的相关命令,首先得先明确两个概念,即:压缩和打包
压缩:将文件或目录进行压强,使文件或目录大小变小
打包:表示将目录中的所有内容,捆绑在一起,方便传输,打包后的文件会变大,不一定回变小
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压缩/打包的更多相关文章
- Linux压缩打包方法连载之三:bzip2, bzcat 命令
Linux压缩打包方法有多种,本文集中讲解了bzip2, bzcat 命令的使用.案例说明,例如# 与 gzip 同样的,都是在计算压缩比的参数,-9 最佳,-1 最快. AD: 我们遇见Linux压 ...
- linux压缩打包等
删除 rm -rf 目录 tar -zcvf /home/xahot.tar.gz /xahot tar -zcvf 打包后生成的文件名全路径 要打包的目录 例子:把/xahot文件夹打包后生成一个/ ...
- linux压缩打包、定时任务
压缩打包 gzip压缩 win中的压缩包:zip rar Linux常见的压缩包有哪些? gzip bzip2 1.gzip压缩 压缩命令:gzip [压缩文件] 解压命令:gzip -d [压缩包] ...
- Linux压缩打包命令
tar命令 [root@linux ~]# tar [-cxtzjvfpPN] 文件与目录 .... 参数 -c :建立一个压缩文件的参数指令(create 的意思): -x :解开一个压缩文件的参数 ...
- Linux压缩打包tar命令总结
命令简介 在Linux系统的维护.管理中,tar命令是一个使用频率很高的命令,tar命令的功能主要是将众多文件打包成一个tar文件并压缩,并且能保持文件的权限属性.tar其实最开始是用来做磁带 ...
- linux压缩打包
linux下的压缩命令有tar.gzip.gunzip.bzip2.bunzip2. compress.uncompress.zip.unzip.rar.unrar等等,压缩后的扩展名有.tar..g ...
- Linux 编译安装、压缩打包、定时任务
目录 Linux 编译安装 知识储备: wget命令 编译安装 Linux 压缩打包 gzip压缩 bzip2压缩 tar打包 Linux 定时任务 相关文件及操作 Linux 编译安装 编译安装就是 ...
- Linux下打包压缩war和解压war包
Linux下打包压缩war和解压war包 unzip是一种方法,如果不行则采用下面的方法 把当前目录下的所有文件打包成game.war jar -cvfM0 game.war ./ -c 创建wa ...
- Linux中常用压缩打包工具
Linux中常用压缩打包工具 压缩打包是常用的功能,在linux中目前常用的压缩工具有gzip,bzip2以及后起之秀xz.本文将介绍如下的工具常见压缩.解压缩工具以及打包工具tar. gzip2 直 ...
随机推荐
- 上手Dubbo之 环境搭建
和传统ssm整合--写XML配置文件 搭建服务的提供者和服务的消费者,实现服务消费者跨应用远程调用服务提供者 公共模块抽取 公共模块的抽取 服务的消费者远程调用服务的提供者, 最起码他自己要得到在服务 ...
- [scikit-learn] 特征二值化
1.首先造一个测试数据集 #coding:utf-8 import numpy import pandas as pd from sklearn.preprocessing import OneHot ...
- 生物医学命名实体识别(BioNER)研究进展
生物医学命名实体识别(BioNER)研究进展 最近把之前整理的一些生物医学命名实体识别(Biomedical Named Entity Recognition, BioNER)相关的论文做了一个Bio ...
- Spring Boot (五): Redis缓存使用姿势盘点
1. Redis 简介 Redis 是目前业界使用最广泛的内存数据存储.相比 Memcached,Redis 支持更丰富的数据结构,例如 hashes, lists, sets 等,同时支持数据持久化 ...
- 第八届蓝桥杯java b组第九题
标题: 分巧克力 儿童节那天有K位小朋友到小明家做客.小明拿出了珍藏的巧克力招待小朋友们. 小明一共有N块巧克力,其中第i块是Hi x Wi的方格组成的长方形. 为了公平起见,小明需要从这 N ...
- CentOS6.x环境通过yum命令在线安装或重装zookeeper-server
一.环境描述: 在CentOS6.x系统环境下,使用yum命令的形式安装zookeeper-server,由于我这里是重新安装zookeeper-server,所以在正式开始之前我需要将原本的zook ...
- 一个简单的MyBatis项目
1.log4j.properties,我们把它设为debug级别,以便于调试.生产环境可以设为INFO,本项目放在src下面: # Global logging configuration log4j ...
- 解决行内块元素(inline-block)之间的空格或空白问题
一.问题产生 由于html代码格式化后,标签会缩进或者换行.由于浏览器默认处理导致元素在页面显示中出现单个空格问题,尤其在行内或者行内块元素布局时影响比较明显 例如: 代码 页面显示 二.解决方案 这 ...
- springboot集成Spring Data JPA数据查询
1.JPA介绍 JPA(Java Persistence API)是Sun官方提出的Java持久化规范.它为Java开发人员提供了一种对象/关联映射工具来管理Java应用中的关系数据.它的出现主要是为 ...
- [Vjudge][POJ][Tony100K]搜索基础练习 - 全题解
目录 POJ 1426 POJ 1321 POJ 2718 POJ 3414 POJ 1416 POJ 2362 POJ 3126 POJ 3009 个人整了一些搜索的简单题目,大家可以clone来练 ...