在Linux日常维护中,经常需要备份同步一些比较重要的文件,而在传输过程中如果文件比较大往往会非常慢,而且还会非常占用空间,这时候就需要我们使用压缩工具对大文件进行压缩打包,下面我们来介绍一下常用的压缩工具以及其使用方法。

.命令: gzip [-d][--][filename]
作用:用来压缩文件,不能直接压缩目录,压缩完毕后源文件消失
‘-d’ 解压
‘-[-]’ 压缩等级(默认为6) 若想查看gzip压缩文件内容,可使用命令
zcat filename.gz

补充:
      '-c' 指定路径
    示例:
      压缩:gzip -c 1.txt > /tmp/1.txt.gz
      解压:gzip -d -c 1.txt.gz > /tmp/1.txt
           gunzip -c 1.txt.gz > /tmp/1.txt

注意:以上命令解压/压缩完后源文件不会被删除


.命令: bzip2 [-d][--][filename]
作用:用来压缩文件,不能直接压缩目录,压缩完毕后源文件消失
‘-d’ 解压
‘-[-]’ 压缩等级(默认为9) 若想查看bzip2压缩文件内容,可使用命令
bzcat filename.bz2

补充:
   bzip2也支持-c选项,也是压缩后源文件不会被删除

 
.命令: xz [-d][--][filename]
作用:用来压缩文件,不能直接压缩目录,压缩完毕后源文件消失
‘-d’ 解压
‘-[-]’ 压缩等级(默认为6) 若想查看xz压缩文件内容,可使用命令
xzcat filename.xz

其实,上述三个压缩命令并不常用,因为有更为强大的tar工具用以实现压缩的功能,到底有多强大呢,下面就来介绍工具tar

.命令:tar  [-zxcvf]
‘-z’ 是否同时具有gzip
‘-j’ 是否同时具有bzip2
‘-J’ 是否透视具有xzip
‘-x’ 解开一个压缩文件
‘-t’ 查看压缩包里面的文件
‘-c’ 建立一个压缩文件
‘-v’ 可视化
‘-f’ 使用filename
‘--exclude filename’ 在压缩过程中,跳过filename不打包
‘-C’ 指定解压目录(常用)
'-t' 用来查看压缩包里面的内容 用法:用以压缩解压文件/目录
格式:
压缩时:tar zxvf test.tar.gz test ,即 tar [被压缩完后的文件][没被压缩时的文件]这非常重要!
解压时:tar zcvf test.tar.gz -C /tmp ,不用参数‘-C’的情况下是解压到当前目录,'-C'指定解压目录
压缩时排除多个文件:tar zxvf test.tar.gz --exclude .txt --exclude .txt test ,也就是tar [被压缩完的文件] [要排除的文件][没被压缩时的文件] 注意:
()使用tar打包之后,绝对路径前面的/会去掉(仔细想想为什么会酱紫)
()tar本身不具有压缩功能,只是进行打包而已,要使用压缩功能必须与gzip或bzip2一起使用,其默认压缩级别取决于gzip或bzip2的默认压缩级别。
要改变压缩级别,需要将打包和压缩分开进行,先用tar进行打包,然后用gzip或bzip2指定压缩级别对打包文件进行压缩。例如,
tar -cvf FILE.tar FILE && gzip - FILE.tar
tar -cvf FILE.tar FILE && bzip2 - FILE.tar
拓展用法:
tar cvf - test| ssh 10.0.1.11 "cd /copy1/; tar xvf -"
命令解析:
还记得上面说的压缩时候的格式么,这条命令在管道‘|’之前那部分就是如此
‘-’代表标准输出
因此tar cvf - test意为“将test的内容打包成标准输出”
而 tar xvf - 则意为“将上面的标准输出的内容解压到当前目录”
至于ssh部分请参考之前关于ssh的文章,这里不作详细描述
命令作用:
这条命令非常实用,用于实现通过网络拷贝数据

说完了tar,问一个背景吧,你知道在windows下常见的压缩包有rar和zip,默认rar在linux下是不支持压缩和解压吗,好在有相关的工具可以安装在linux平台上。而zip的压缩包是可以同时存在于linux平台和windows平台上的,因此,我们来看一下zip和/unzip命令。

.命令:zip  [-r][filename.zip][filename]
作用:用来压缩文件/目录
‘-r’ 默认不支持直接压缩目录,需要用此参数 注意:zip压缩的格式类似与tar,都是压缩后,压缩前 命令:unzip [-ld] [file.zip]
作用:解压zip文件,且解压完毕后文件不会消失
‘-l’ 查看文件清单,类似于tar的-t
‘-d’ 指定解压目录,类似于tar的-C

最后更新时间:2017年4月7日09:31:43

Linux文件压缩/打包/解压的更多相关文章

  1. Linux 文件压缩与解压相关

    tar [-cxtzjvfpPN] 文件与目录 .... 参数:-c :建立一个压缩文件的参数指令-x :解开一个压缩文件的参数指令 -t :查看压缩文件里面的文件 特别注意: c/x/t 同时只能存 ...

  2. Linux文件压缩与解压命令

    1  .zip 格式压缩与解压 压缩命令 zip 压缩文件名 源文件 zip  -r   压缩目录名       源目录 解压命令 unzip 文件名 td@td-Lenovo-IdeaPad-Y41 ...

  3. 本地上传文件至服务器的技巧(linux文件压缩及解压文件)

    linux(ubuntu)文件解压及压缩文件 ubuntu支持文件的解压及压缩功能, 如果ubuntu上面没有安装过unzip工具的话,可以通过下面命令安装: sudo apt-get install ...

  4. linux 文件压缩与解压

    zip格式: zip -r(源文件是目录) [目标文件] [源文件] unzip -d [解压到的目录] [要解压的文件] gz格式: gzip [源文件]   #会删除源文件 gzip -c [源文 ...

  5. Linux之文件压缩与解压

    文件压缩与解压 1.tar命令 tar命令可以为Linux的文件和目录创建档案. 利用tar,可以为某一特定文件创建档案(备份文件),也可以在档案中改变文件,或者向档案中加入新的文件.tar最初被用来 ...

  6. 文件压缩跟解压(本地&Linux服务器)

    远程解压需要的jar包: <dependency> <groupId>commons-net</groupId> <artifactId>commons ...

  7. linux下压缩与解压(zip、unzip、tar)详解

    linux下压缩与解压(zip.unzip.tar)详解 2012-05-09 13:58:39| 分类: linux | 标签:linux zip unzip tar linux命令详解 |举报|字 ...

  8. Linux下压缩与解压

    转自:http://www.mike.org.cn/blog/index.php?load=read&id=218###pp=0 [在解压或压缩的时候,一般还使用-v选项来现实正在处理的文件信 ...

  9. 文件压缩、解压工具类。文件压缩格式为zip

    package com.JUtils.file; import java.io.BufferedOutputStream; import java.io.File; import java.io.Fi ...

随机推荐

  1. Sql注入基础_mysql注入

    Mysql数据库结构 数据库A 表名 列名 数据 数据库B 表名 列名 数据 Mysql5.0以上自带数据库:information_schema information_schema:存储mysql ...

  2. solr删除数据(全删除)

    背景:数据索引错了,不想要了.也不想一条条删! 方法: 1.在solr客户端,访问你的索引库(我认为最方便的方法) 1)documents type 选择 XML 2)documents 输入下面语句 ...

  3. <2013 08 20> -----澳大利亚博士研究生申请-----

    1.澳大利亚昆士兰大学博士的申请一年中什么时间都可以,但奖学金的评选每年只有四轮.和美国不同的是,在提交申请材料之前,个人必须联系好愿意接收你的导师,这个可以自己套磁联系,也可以和那边学院的小秘联系, ...

  4. Python代码实现删除一个list里面的重复元素

    lst=[11,22,33,44,22,11,22,44] print(list(set(lst))) # 打印结果:[33, 11, 44, 22] d = {} for index,item in ...

  5. Android系统移植与调试之------->build.prop生成过程分析

    本文简要分析一下build.prop是如何生成的.Android的build.prop文件是在Android编译时刻收集的各种property(LCD density/语言/编译时间, etc.),编 ...

  6. MySQL 5.6 死锁演示 及 日志分析

    1.  表结构 CREATE TABLE dead_update ( a ) ', PRIMARY KEY (a) ) ENGINE=InnoDB DEFAULT CHARSET=utf8 ; ), ...

  7. C# 学习黑马.Net视频教程,大文件拷贝

    设计器代码: namespace 大文件拷贝 { partial class Form1 { /// <summary> /// 必需的设计器变量. /// </summary> ...

  8. 用js来实现那些数据结构 第一章

    在开始正式的内容之前,不得不说说js中的数据类型和数据结构,以及一些比较容易让人混淆的概念.那么为什么要从数组说起?数组在js中是最常见的内存数据结构,数组数据结构在js中拥有很多的方法,很多初学者记 ...

  9. CSS实现三角形图标的原理!!!!今天总算弄懂了。

    网页中经常有一种三角形的图标,鼠标点一下会弹出一个下拉菜单之类的(之前淘宝也有,不过现在改版好像没有了) 之前以为是个png图标背景,后来在bootstrap中看到有一个图标样式叫做caret的用来实 ...

  10. 支持鼠标拖拽滑动的jQuery焦点图

    在线演示 本地下载