经常遇到在windowns上的压缩文件,在mac上解压出现问题,特意总结了下在Terminal里常用命令的方式解压和压缩文件

1、zip压缩文件

zip命令的参数很多,可以利用"zip --help"查看,在这里就不在一一说明了,下面只说几个常用的

zip -q -r -e -m -o 'yourName.zip'  "zipfile list''
-q :不显示压缩进度状态
-r :子目录子文件全部压缩为zip  //不然的话只有"zipfile list''文件夹被压缩,里面内容没有被压缩进去
-e :压缩文件需要加密,终端会提示你输入密码的 //zip -r -P test password.zip "zipfile list'' 直接用'test'来加密password.zip 。
-m :压缩完删除原文件
-o :设置所有被压缩文件的最后修改时间为当前压缩时间

跨目录的时候是这么操作的
zip -q -r -e -m -o '\user\someone\someDir\someFile.zip' '\users\someDir'

2、unzip解压文件

语法:unzip [options] 压缩文件名.zip,具体跟多的参数可以直接执行"unzip"查看

常用options的含义分别为: 
-x :文件列表解解压缩文件,但不包括指定的file文件。 
-v :查看压缩文件目录,但不解压。 
-t :测试文件有无损坏,但不解压。 
-d :目录 把压缩文件解到指定目录下。 
-z :只显示压缩文件的注解。 
-n :不覆盖已经存在的文件。 
-o :覆盖已存在的文件且不要求用户确认。 
-j :不重建文档的目录结构,把所有文件解压到同一目录下。

eg1:将压缩文件text.zip在当前目录下解压缩。

  1. unzip text.zip

eg2:将压缩文件text.zip在指定目录/tmp下解压缩,如果已有相同的文件存在,要求unzip命令不覆盖原先的文件。

  1. unzip -n text.zip -d /tmp

eg3:查看压缩文件目录,但不解压。

  1. unzip -v text.zip

eg4:文件列表解压,指定不解压的文件

  1. unzip text.zip -x test

3、tar打包与解包

语法:tar [主选项+辅选项] 文件或者目录 
使用该命令时,主选项是必须要有的,它告诉tar要做什么事情,辅选项是辅助使用的,可以选用。

主选项:

-c Create  -r Add/Replace  -t List  -u Update  -x Extract

辅选项:

其中辅选项又分打包或解包通用选项和只解包用的选项

通用选项:

-b # :#为一数字,每个I / O块使用#字节的记录,默认512

-f :存档位置

-v :细报告tar处理的文件信息。如无此选项,tar不报告文件信息。

-w :每一步都要求确认

解压常用选项:

-k:保存已存在的文件不覆盖
  -m :还原文件时,把所有文件的修改时间设定为现在
  -O :将条目标准输出,不还原到磁盘
  -p:恢复权限(包括ACL,作者,文件标记)

例1:把/home目录下包括它的子目录全部打包,打包文件名为usr.tar。 
$ tar cvf usr.tar /home 
例2:把/home目录下包括它的子目录全部打包,并进行压缩,文件名为usr.tar.gz 。 
$ tar czvf usr.tar.gz /home 
例3:把压缩文件usr.tar.gz还原并解包。 
$ tar xzvf usr.tar.gz 
例4:查看usr.tar备份文件的内容,并以分屏方式显示在显示器上。 
$ tar tvf usr.tar | more 
要将文件备份到一个特定的设备,只需把设备名作为备份文件名。 
例5:用户在/dev/fd0设备的软盘中创建一个备份文件,并将/home 目录中所有的文件都拷贝到备份文件中。 
$ tar cf /dev/fd0 /home 
要恢复设备磁盘中的文件,可使用xf选项: 
$ tar xf /dev/fd0

4、rar文件解压与压缩

rar和unrar命令需要自己安装,可以直接通过brew安装,如果不清楚brew安装命令,可以查看《mac上安装类似 apt-get 的软件包管理器 -- Homebrew》,下面说下另外一种简单安装方式

1.下载mac上对应rar版本

2.利用tar名解压下载的rarosx-5.4.0.tar.gz,版本可能会更新

tar xzvf arosx-5.4.0.tar.gz .#解压到当前目录

3.安装rar和unrar命令

sudo install -c -o $USER rar /usr/local/bin/  #安装rar
sudo install -c -o $USER unrar /usr/local/bin  #安装unrar

如果安装失败可以看看/usr/local/bin 目录是不是存在rar或unrar的软链接

4.利用rar和unrar压缩和解压文件

rar和unrar文件的参数也很多,就不在一一介绍了,直接在Ternimal执行对应命令就能看到所有参数选项,下面列举几个常用的

解压文件:unrar x test.rar
压缩文件A和B:rar a 压缩后.rar A B

tar [-cxtzjvfpPN] 文件与目录 ....
参数:
-c :建立一个压缩文件的参数指令(create 的意思);
-x :解开一个压缩文件的参数指令!
-t :查看 tarfile 里面的文件!
特别注意,在参数的下达中, c/x/t 仅能存在一个!不可同时存在!
因为不可能同时压缩与解压缩。
-z :是否同时具有 gzip 的属性?亦即是否需要用 gzip 压缩?

范例一:将整个 /etc 目录下的文件全部打包成为 /tmp/etc.tar
[root@linux ~]# tar -cvf /tmp/etc.tar /etc         <==仅打包,不压缩!
[root@linux ~]# tar -zcvf /tmp/etc.tar.gz /etc       <==打包后,以 gzip 压缩

范例二:查阅上述 /tmp/etc.tar.gz 文件内有哪些文件?
[root@linux ~]# tar -ztvf /tmp/etc.tar.gz
# 由於我们使用 gzip 压缩,所以要查阅该 tar file 内的文件时,
# 就得要加上 z 这个参数了!这很重要的!

范例三:将 /tmp/etc.tar.gz 文件解压缩在 /usr/local/src 底下
[root@linux ~]# cd /usr/local/src
[root@linux src]# tar -zxvf /tmp/etc.tar.gz

随机推荐

  1. Visual Studio并发Qpar优化效果

    IOCP客户端的connect线程FOR循环中添加强制并行,1万/S并发connect+send+recv+close,任务管理器使用从60%降到20%. Visual Studio性能监控CPU使用 ...

  2. 三个C++资源链接(大量)

    https://github.com/fffaraz/awesome-cpp http://blog.jobbole.com/78901/ https://github.com/programthin ...

  3. Mac 下面,添加android adb命令(一般环境变量的添加方法)

    1. 在 用户目录下   ~/.bash_profile vim  ~/.bash_profile 2.加入我们需要添加的环境变量,这里是 添加 android   platform-tools 和 ...

  4. 【转载】 ISO14229系列之二:诊断指令格式和相关概念

    转载链接:http://www.cnblogs.com/autogeek/p/4458658.html 1. 简单的通信机制 其实诊断通信的机制很简单,可以类比client-server通信方式,即客 ...

  5. docker初次体验-管理MySQL+tomcat镜像

    引言 平时经常用linux,我没少吃苦后悔linux没好好研究研究.装一些软件配一些环境时很是害怕,多亏有了docker.docker是一个应用容器引擎,可以管理很多的软件镜像,这些镜像被官方放在了d ...

  6. 日推20单词 Day02

    1.distinguish v. 区别,辨别 2.tension n. 紧张,不安 3.sympathy n. 同情,慰问 4.admiration n. 羡慕 5.jealousy n. 嫉妒 6. ...

  7. [PHP]将回调函数作用到给定数组的单元上

    ---------------------------------------------------------------------------------------------------- ...

  8. JQuery Mobile - 解决页面点击时候,页眉和页脚消失问题!

    当点击页面时候,页眉和页脚会消失!解决方法,在页面和页脚中加入: data-quicklinks="true" 实际使用代码: <div data-role="pa ...

  9. python生成器(转)

    生成器是一种特殊的迭代器,内部支持了生成器协议,不需要明确定义__iter__()和next()方法.生成器通过生成器函数产生,生成器函数可以通过常规的def语句来定义,但是不用return返回,而是 ...

  10. Effective STL 学习笔记 32 ~ 33

    Effective STL 学习笔记 32 ~ 33 */--> div.org-src-container { font-size: 85%; font-family: monospace; ...