mac如何把文件压缩成tar、zip以及如何解压tar、zip?
- 发表于:2022-10-13 14:30
- 阅读(3253)
(1)使用到的命令
mac系统的压缩和解压缩和linux系统执行的命令是一样的,打开终端,执行如下命令:
1、tar 命令:tar [options] file.tar [files| directories]
options参数有以下几个:
- -c:create建立压缩档案,建立一个压缩文件的参数指令
- -r:向压缩归档文件末尾追加文件
- -u:更新原压缩包中的文件
- -t:按list查看tar中的文件,查看 tarfile 里面的文件
- -x:extract解压tar文件,解开一个压缩文件的参数指令
- -z :是否同时具有 gzip 的属性,是否需要用 gzip 压缩
可选参数:
- -f:打包/拆箱的file.tar文件名
- -v:列出打包/拆箱的文件列表
特别注意,在参数中, -c/-x/-t 仅能存在一个,不可同时存在,因为不可能同时压缩与解压缩。
2、zip 命令:zip [选项] [参数]
- -A:调整可执行的自动解压缩文件;
- -b<工作目录>:指定暂时存放文件的目录;
- -c:替每个被压缩的文件加上注释;
- -d:从压缩文件内删除指定的文件;
- -D:压缩文件内不建立目录名称;
- -f:此参数的效果和指定“-u”参数类似,但不仅更新既有文件,如果某些文件原本不存在于压缩文件内,使用本参数会一并将其加入压缩文件中;
- -F:尝试修复已损坏的压缩文件;
- -g:将文件压缩后附加在已有的压缩文件之后,而非另行建立新的压缩文件;
- -h:在线帮助;
- -i<范本样式>:只压缩符合条件的文件;
- -j:只保存文件名称及其内容,而不存放任何目录名称;
- -J:删除压缩文件前面不必要的数据;
- -k:使用MS-DOS兼容格式的文件名称;
- -l:压缩文件时,把LF字符置换成LF+CR字符;
- -ll:压缩文件时,把LF+cp字符置换成LF字符;
- -L:显示版权信息;
- -m:将文件压缩并加入压缩文件后,删除原始文件,即把文件移到压缩文件中;
- -n<字尾字符串>:不压缩具有特定字尾字符串的文件;
- -o:以压缩文件内拥有最新更改时间的文件为准,将压缩文件的更改时间设成和该文件相同;
- -q:不显示指令执行过程;
- -r:递归处理,将指定目录下的所有文件和子目录一并处理;
- -S:包含系统和隐藏文件;
- -t<日期时间>:把压缩文件的日期设成指定的日期;
- -T:检查备份文件内的每个文件是否正确无误;
- -u:更换较新的文件到压缩文件内;
- -v:显示指令执行过程或显示版本信息;
- -V:保存VMS操作系统的文件属性;
- -w:在文件名称里假如版本编号,本参数仅在VMS操作系统下有效;
- -x<范本样式>:压缩时排除符合条件的文件;
- -X:不保存额外的文件属性;
- -y:直接保存符号连接,而非该链接所指向的文件,本参数仅在UNIX之类的系统下有效;
- -z:替压缩文件加上注释;
- -$:保存第一个被压缩文件所在磁盘的卷册名称;
- -<压缩效率>:压缩效率是一个介于1~9的数值。
3、unzip 命令:unzip [zip包文件名]
(2)压缩和解压缩 tar 或 tar.gz 文件
tar 文件:仅打包,不压缩。
tar.gz 文件:打包后,以 gzip 压缩。
# 创建测试文件存放目录
mkdir demo
# 在该目录下新建一个测试文件
touch demo/test.sql
# 把当前目录下的 demo 文件夹压缩成 demo.tar 文件
tar -cvf demo.tar ./demo
# 查看 demo.tar 压缩包中的文件列表
tar -tvf demo.tar
# 解压缩 demo.tar 文件到当前目录下
tar -xvf demo.tar
# 把当前目录下的 demo 文件夹压缩成 demo.tar.gz 文件
tar -zcvf demo.tar.gz ./demo
# 查看 demo.tar.gz 压缩包中的文件列表
tar -ztvf demo.tar.gz
# 解压缩 demo.tar.gz 文件到当前目录下
tar -zxvf demo.tar.gz
(3)压缩和解压缩 zip 文件
# 把当前目录下的 demo 文件夹压缩成 demo.zip 文件
zip -qr demo.zip ./demo
# 解压缩 demo.zip 文件到当前目录下
unzip demo.zip
参考:
Mac打包/压缩/解压缩命令,勿点
MAC之tar解压与压缩打包命令
zip命令详解
常用zip命令
mac zip 命令行 终端压缩加密文件
相关推荐
-
mac安装subversion,并使用svn命令检出服务器上的代码库项目
mac安装svn只要通过Homebrew安装即可,不需要下载额外的安装包手动安装,Homebrew类似一个软件库,我们可以通过brew命令实现一键下载并安装我们所需要的常用软件。
-
Java如何获取泛型类T的Class
我们平时在封装接口或抽象类的时候经常会用到Java的泛型,经常会在传入一个泛型类T,然后封装一些抽象的方法,泛型的好处就是在编译的时候检查类型安全,并且所有的强制类型转换都是隐式和自动的,这样可以提高代码的通用性。但是我们有时候需要获取泛型类的Class,那可以如何获取到呢?
-
springboot项目事务报错:Transaction synchronization is not active
这几天在使用spring声明式事务的时候突然报了一个错误:Transaction synchronization is not active,之前使用的都是好好的,为什么这次就不行了呢?不就是加一个 @Transactional 而已嘛???
-
mysql应该如何在where语句中添加if语句进行条件判断?where if 语句应该如何使用
我们在平时的项目开发中,有时候会遇到复杂一点的需求,需要我们手动编写复杂的SQL语句,并且有时候需要根据每条表记录的实际情况进行判断,根据每条记录动态添加不同的where条件,这个时候我们就可以在where语句中使用if语句进行条件判断,那么where if应该如何正确使用呢?
-
关于websocket多节点分布式问题的解决方案
websocket是一种在单个TCP连接上进行双全工通信的协议,使用websocket,我们可以实现服务端主动向各个订阅消息通道的客户端推送消息。这点比传统的http轮询请求要更好一点,避免一些无用的请求,能更好的节省服务器资源和带宽,并且能够更实时地进行通讯。
-
mac如何把文件压缩成tar、zip以及如何解压tar、zip?
有时候我们需要把文件压缩成一个tar文件或zip文件,发送给别人,那么在macos系统应该如何压缩和解压缩呢?
-
openjdk和jdk有什么区别,应该如何选择?
我们一开始学习java的时候,安装的都是从sun官网或oracle官网下载的jdk安装包,但其实还有另外一个来源可以获取到jdk安装包,那就是openjdk,它和jdk基本一样,推荐使用openjdk。
-
如果git仓库发生变更,IDEA如何直接修改git远程仓库地址?
有时候我们整理远程仓库代码的时候,会修改远程仓库的名称,或者所属分组,这个时候在IDEA由于还是使用原先拉取的旧仓库地址,导致本地代码会提交不了,也更新不了远程最新代码,那么这个时候要如何修改IDEA当前的git远程仓库地址呢?如何无缝修改,修改完之后就能和原来一样更新提交,并且以前的提交记录也保留呢?
-
微信公众号自定义菜单报错:no permission to use weapp in menu rid:xxxxxxx
昨晚公司系统添加微信公众号菜单突然报错:{"errcode":45064,"errmsg":"no permission to use weapp in menu rid: 60311f70-0736ff08-29143906"}
-
Java如何使用stream流对List列表数据进行自定义排序
我们一般做排序功能都是通过在mysql数据库中的表中定义好排序字段,然后使用升序或降序来进行排序,复杂一点的话就配合多个排序字段进行排序,但是如果碰到那种无法使用表的字段进行排序的情况,我们需要先从数据库中取出列表数据,然后再通过业务代码对列表进行排序,这个时候我们就可以使用redis或Java的stream流。
-
微信企业付款到零钱报错:此请求可能存在风险,已被微信拦截
具体错误信息:com.github.binarywang.wxpay.exception.WxPayException: 返回代码:[SUCCESS],返回信息:[支付失败],结果代码:[FAIL],错误代码:[NO_AUTH],错误详情:[此请求可能存在风险,已被微信拦截。]
-
springboot项目使用@Transactional注解如何避免长事务问题
在springboot项目中,我们开启事务是非常简单的,使用注解的方式就是在需要开启事务的方法上添加@Transactional,这样就可以实现这个方法里面的所有操作和调用方法的操作都绑定在一个事务上面,要么全部一起执行成功,要么全部一起执行失败,如果其中有某个地方抛了异常,则整个方法涉及的事务操作都会回滚,但是如果随意滥用@Transactional,又有可能引发长事务问题,导致数据库死锁、数据库连接池占满等问题。
-
css实现“展开阅读全文”功能
最近发现很多博客网站,资讯网站喜欢把资讯博文,内容等这些大文本的信息在页面显示的时候都会有个“展开阅读全文”的按钮,点击这个按钮即可展开显示所有的内容,不然一开始就显示那么长的篇幅相对来说既不美观,又对用户体验不好。现在就让我来仿照这类网站实现一个“展开阅读全文”功能。这里主要用到的前端技术是html+jquery+css,只做展开功能,没做收起功能(收起功能没必要吧,谁会去收起呀???)。
-
关于编程中面向对象的理解,什么是面向对象
面向对象设计相对于结构化程序设计可以说是一种更优秀的程序设计方法。它的基本思想是使用类、对象、继承、封装、消息等基本概念进行程序设计。它是从现实世界中客观存在的事物(即对象)出发来构造软件系统,并在软件系统构造中尽可能运用人类的自然思维方式,强调直接以现实世界中的事物(即对象)为中心来思考,认识问题。
-
我的linux操作命令总结,记录常用linux操作命令
平常本地开发项目使用的系统基本都是window系统,而且都是图形化操作,非常方便,window也是越做越好了,项目部署到生产环境一般都是选择linux系统(当然window server系列也可以),而linux一般则选择centOS居多,这里记录一下linux常用命令,以免老是过几天就忘了,后续不断补充。