在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

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

最新文章

  1. css实现在图片上显示文字
  2. [转]15年双11手淘前端技术巡演 - H5性能最佳实践
  3. C# FTP远程服务器返回错误:(550) 文件不可用(例如,未找到文件,无法访问文件)
  4. Jquery入门之---------基本事件------------
  5. Android Activity界面切换添加动画特效(转)
  6. windows下的SASS/Compass的安装与卸载
  7. ubuntu中安装eclipse 分类: android ubuntu linux 学习笔记 2015-07-07 10:19 75人阅读 评论(0) 收藏
  8. Linux Mysql Client 查询中文乱码
  9. Apache + Tomcat +mod_jk 实现集群
  10. typescript中的工具 tsd
  11. String,StringBuffer,StringBuilder个人认为较重要的区别
  12. DevOps实践之一:基于Docker构建企业Jenkins CI平台
  13. [Tips]vim设置
  14. 牛客练习赛 A题 筱玛的快乐
  15. Farewell Party-构造
  16. 洛谷P2148 [SDOI2009]E&D(博弈论)
  17. eclipse环境搭建(插件安装)
  18. pgadmin导出excel
  19. 图解vim常用命令
  20. Vue.js——十分钟入门Vuex

热门文章

  1. HDOJ/HDU 1039 Easier Done Than Said?(字符串处理~)
  2. HDU 2089 不要62(挖个坑=-=)
  3. 普通Java程序员学习使用的6个JDK内建工具
  4. Google幻灯片
  5. iOS获取经纬度
  6. JSP路径的问题
  7. 敏捷开发松结对编程系列:L型代码结构案例StatusFiltersDropdownList(中)
  8. web项目学习之spring-security
  9. Hibernate常用接口
  10. struts2学习笔记(2)---Action中訪问ServletAPI获取Map类型的Servlet元素