在Linux系统中,压缩文件通常是先将若干文件(包括目录)打包成一个tar文件,然后再调用压缩程序将tar文件压缩成相应的压缩包,这也就是为什么Linux系的压缩包的后缀通常都是像tar.gz,tar.Z这样的格式。因此,tar命令也就成了在Linux系统中压缩解压最常用的命令了,他不仅可以用来打包或者解开tar文件,还可以调用相应的压缩程序。所以,一个tar命令就可以完成大多数的压缩和解压的任务。这也是笔者推荐的方式。当然还有一些情况比如zip或者rar文件,由于他们通常都是直接将源文件压缩成包的(不带tar后缀名),这类压缩包通常都需要使用另外的命令来进行操作,这在后面会相续提到。

我们首先来看tar命令。这里只是介绍常用的功能选项方便大家快速上手,其他的高级功能可以查看帮助,在使用bash命令时,遇到不清楚的地方使用--help选项查看帮助是一个好的习惯。

tar

tar命令的常用选项如下表所示:

选项(短) 选项 作用
-c --create 创建压缩文件
-x --extract, --get 解压文件
-f --file 指定文件名
-v --verbose 详细的列出处理的文件

所以解压普通的tar文件命令就是:

$ tar –xvf file.tar      //解压tar包

-x表示解压,-v表示显示详细输出(不加也行),-f用来指定解压文件,如果你是在解压对象是文件(大多数情况都是这样,除非你是用管道传递得到解压对象的),那么这个必须要加上。

tar可调用的压缩程序

选项 压缩格式 压缩程序
-z .gz gzip
-j .bz2 bzip2
-Z .Z compress

当看到tar.gz后缀的压缩包,使用-z选项调用gzip程序解压,当看到tar.bz2后缀的压缩包,使用-j选项调用bzip2程序解压。下面给出了几个例子。

$ tar -xzvf file.tar.gz  //解压tar.gz
$ tar -xjvf file.tar.bz2 //解压tar.bz2
$ tar –xZvf file.tar.Z //解压tar.Z

是不是觉得很麻烦,其实还有一个-a选项,可以根据后缀名自动选择调用相应的压缩程序,所以上面的3种情况可以直接使用:

$ tar -xavf file.tar.xxx  //解压tar.xxx | 万能解压命令

很方便不是吗?笔者就经常使用这个命令,上面的那些选项,不查帮助有时还真记不起来。

前面介绍的都是解压到当前目录,那么如何解压到指定的目录呢?

通过查看帮助发现了一个新选项-C --directory=DIR 改变目录DIR。假设我们要把某文件解压到test目录,在前面的基础上加上-C选项即可:

$ tar -xavf file.tar.gz -C ./test/  //解压文件到指定目录

rar

$ unrar e file.rar          //解压rar到当前目录
$ unrar x file.rar ./test/ //解压rar到指定目录

zip

$ unzip file.zip           //解压zip
$ unzip file.zip -d ./test //解压zip到指定目录

转载请注明来自:田小777-博客园

原文地址:http://www.cnblogs.com/kitian616/p/4522456.html

如若转载,请保留原文地址。谢谢合作。

Linux的压缩解压命令快速上手——解压篇的更多相关文章

  1. 阿里语音识别(语音转文字)java调用全程手把手详解-适合中小学生快速上手

    阿里语音识别服务java调用全程手把手详解-适合中小学生快速上手 阿里语音识别与百度语音识别的调用对比: 用例:1分30秒的录音文件    百度用时:3秒    阿里用时:30秒    识别准确率来看 ...

  2. Linux网络状态工具ss命令使用详解【转】

    ss命令用于显示socket状态. 他可以显示PACKET sockets, TCP sockets, UDP sockets, DCCP sockets, RAW sockets, Unix dom ...

  3. (转)Linux网络状态工具ss命令使用详解

    Linux网络状态工具ss命令使用详解 原文:http://www.landui.com/help/show-5991.html ss 是 socket statistics 的缩写.顾名思义,ss ...

  4. linux中压缩与解压缩命令小结

    linux中压缩与解压操作非常常见,其命令参数也非常的多,这里只介绍最经常用的带打包文件的几种压缩和解压方式和几个最常用的参数. 现在最常用的压缩和解压工具是gzip和bzip2,这两种工具不能相互解 ...

  5. Linux中rz和sz命令用法详解

    http://www.111cn.net/sys/linux/67810.htm 在linux中rz 和 sz 命令允许开发板与主机通过串口进行传递文件了,下面我们就来简单的介绍一下rz 和 sz 命 ...

  6. linux中压缩、解压缩命令详解

    tar -c: 建立压缩档案-x:解压-t:查看内容-r:向压缩归档文件末尾追加文件-u:更新原压缩包中的文件 这五个是独立的命令,压缩解压都要用到其中一个,可以和别的命令连用但只能用其中一个.下面的 ...

  7. linux中压缩与解压缩命令

    .tar 解包:tar xvf FileName.tar 打包:tar cvf FileName.tar DirName (注:tar是打包,不是压缩!) ——————————————— .gz 解压 ...

  8. Linux 打包压缩与搜索命令

    1.tar 用于对文件进行打包压缩或解压,格式为tar[选项][文件],-f参数必须放到参数最后一位 tar -czvf etc.tar.gz /etc tar参数及作用 参数 作用 -c 创建压缩文 ...

  9. linux打包压缩与搜索命令

    1.tar命令 tar命令用于对文件进行打包压缩或解压,格式为“tar [选项] [文件]”.  tar命令的参数及其作用 参数 作用 -c 创建压缩文件 -x 解开压缩文件 -t 查看压缩包内有哪些 ...

随机推荐

  1. tomcat配置多实例

    CATALINA_HOME环境变量不必配置,因为在startup.sh脚本里会指定CATALINA_HOME的位置.     配置tomcat多实例 首先是理解下原理:CATALINA_HOME指向安 ...

  2. Y86处理器的各个阶段

    0x00e:30f480000000        |              irmovl $128,%esp  实现所有Y86指令所需要的计算分为6个基本阶段:取值.译码.执行.访存.写回和更新 ...

  3. XMPPFrameWork IOS 开发(六)聊天室

    原始地址:XMPPFrameWork IOS 开发(六)聊天室 聊天室 //初始化聊天室 XMPPJID *roomJID = [XMPPJID jidWithString:ROOM_JID]; xm ...

  4. MySQL 基础(DDL)

    SQL分类         SQL语句主要可以划分为一下3个类别      DDL:数据定义语言,定义数据段.数据库.数据表等      DML :数据操纵语句,用于添加.删除.更新和查询数据库记录 ...

  5. 在Oracle 11.2的数据库中建表时遇到 RESULT_CACHE (MODE DEFAULT) ORA-00922: missing or invalid option

    在Oracle 11.2的数据库中建表时遇到 RESULT_CACHE (MODE DEFAULT)  ORA-00922: missing or invalid option hostdr:[/ho ...

  6. nanosleep纳秒级延迟

    //函数原型 int nanosleep(struct timespec *req, struct timespec *rem) //参数列表: // req:要求的睡眠时间 // rem:剩余的睡眠 ...

  7. [JavaScript] Array.prototype.reduce in JavaScript by example

    Let's take a closer look at using Javascript's built in Array reduce function. Reduce is deceptively ...

  8. freemarker if..else.. 的使用

    FreeMarker是一款模板引擎,今天在做Pad端的时候正好用到,用法非常简单: 在xml配置页面的文件中,直接使用 <#if 1=1> //条件成立要显示的内容 </#if> ...

  9. 【Android】广播BrocastReceiver

    1.Android中广播主要分为两种:标准广播和有序广播. 标准广播:完全异步执行.广播发出后,所有的广播接收器几乎在同一刻收到广播事件,没有先后顺序之分. 优点:效率高 缺点:不能被截断 有序广播: ...

  10. Objective-C:KVO

    @import url(http://i.cnblogs.com/Load.ashx?type=style&file=SyntaxHighlighter.css); @import url(/ ...