在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. Spring基础知识详解

    Spring 概述 1. 什么是spring? Spring 是个java企业级应用的开源开发框架.Spring主要用来开发Java应用,但是有些扩展是针对构建J2EE平台的web应用.Spring ...

  2. <2013 07 05> 804.15. 4--> TI MSP430+CC2520 调试

    这一周,实际参与eCar项目的工作正式展开. 来TUM的第一个月,主要熟悉了eCar的机电结构,特别是熟悉了eCar的IT(Information Technology),包括硬件和代码. 来的时候, ...

  3. Android系统移植与调试之------->如何修改Android设备状态条上音量加减键在横竖屏切换的时候的显示于隐藏

    这两天由于一个客户的要求,将MID竖屏时候的状态条上的音量键去掉.所以尝试修改了一下,成功了,分享一下经验. 先看一下修改后的效果图,如下所示 . 横屏的时候:有音量加减键 竖屏的时候:音量加减键被去 ...

  4. OpenCV3计算机视觉+python(三)

    使用OpenCV3处理图像 下面要介绍的内容都与图像处理有关,这时需要修改图像,比如要使用具有艺术性的滤镜.外插(extrapolate)某些部分.分割.粘贴或其他需要的操作. 不同色彩空间的转换 O ...

  5. 小计---pandas读取带有中文文件名或者包含中文内容的文件

    python2下: # -*- coding: utf-8 -*- import pandas as pd mydata = pd.read_csv(u"例子.csv") #前面加 ...

  6. 《UNI|X环境高级编程》 源代码配置

    代码下载地址:http://www.apuebook.com/ 下的第二版,里面有个readme文件: root@iZ23onhpqvwZ:~/ms/linux/apue/apue.2e# cat R ...

  7. Mybatis一对多/多对多查询时只查出了一条数据

    问题描述: 如果三表(包括了关系表)级联查询,主表和明细表的主键都是id的话,明细表的多条数据只能查询出来第一条/最后一条数据. 三个表,权限表(Permission),权限组表(Permission ...

  8. Ubuntu系统常用操作命令

    1.基本命令: sudo 提升用户权限为root用户 ls 显示文件内容 cd 进入指定路径,后接路径参数 如cd /进入根目录 cd -进入用户目录 cd ..返回上一级目录 mv xx.txt x ...

  9. C++ IPv4与IPv6的兼容编码(转,出自http://blog.csdn.net/ligt0610/article/details/18667595)

    这里不再对IPv6 socket相关编程的基础知识进行讲解,只提供一个IP协议无关的服务端和客户端的代码,仅供参考. 服务端代码: #include <iostream> #include ...

  10. 【leetcode刷题笔记】Wildcard Matching

    Implement wildcard pattern matching with support for '?' and '*'. '?' Matches any single character. ...