linux学习第二十篇:zip压缩,tar打包以及打包压缩

本文介绍了zip和tar命令的基本用法及高级特性,包括压缩、解压缩、打包、排除特定文件等操作,并对比了不同压缩方式的效果。

zip压缩工具

zip可以压缩目录,zip压缩包不能直接查看文件内容,只能查看里面文件列表

zip 1.txt.zip 1.txt //压缩文件,不同于之前的压缩工具,zip需要先写出压缩文件后的名字。

zip -r 123.zip 123 //压缩目录,不仅仅压缩目录,而且原来的目录不会删除

unzip 1.txt.zip //解压文件,如若在同一目录下压缩解压时会出现是否覆盖原文件的提示,因为压缩时源文件没有删除。

unzip 123.zip -d /tmp/456/ // 指定解压到/tmp/456目录下,解压时不可以指定为新的名字,会自动生成新的目录。也就是压缩前是什么文件名解压后就是什么名字。

unzip -l 123.zip //查看压缩包里文件的列表

[root@xie-02 zzz]# du -sh 1.txt 
1.4M    1.txt
[root@xie-02 zzz]# zip 1.txt.zip 1.txt //压缩文件,源文件1.txt不会删除
  adding: 1.txt (deflated 74%)
[root@xie-02 zzz]# du -sh 1.txt.zip 
360K    1.txt.zip
[root@xie-02 zzz]# du -sh 123
1.4M    123
[root@xie-02 zzz]# zip -r 123.zip 123  //压缩目录
adding: 123/ (stored 0%)
adding: 123/2.txt (deflated 74%)
[root@xie-02 zzz]# du -sh 123.zip 
360K    123.zip
[root@xie-02 zzz]# unzip 1.txt.zip //解压文件,在同一目录下压缩解压时会提示是否覆盖,A是全部覆盖
Archive:  1.txt.zip
replace 1.txt? [y]es, [n]o, [A]ll, [N]one, [r]ename: A
inflating: 1.txt                   
[root@xie-02 zzz]# unzip -l 123.zip //查看压缩包里文件列表
Archive:  123.zip
  Length      Date    Time    Name
---------  ---------- -----   ----
        0  11-07-2017 13:12   123/
  1391450  11-07-2017 13:12   123/2.txt
---------                     -------
  1391450                     2 files

tar打包

tar 本身为一个打包工具,可以把目录打包成一个文件,它的好处是它把所有文件整合成一个大文件整体,方便拷贝或者移动。

-z : 同时用gzip压缩

-j : 同时用bzip2压缩

-x : 解包或者解压缩

-t : 查看tar包里面的文件

-c : 建立一个tar包或者压缩文件包

-v : 可视化

-f : 后面跟文件名,压缩时跟 “-f 文件名”,意思是压缩后的文件名为filename, 解压时跟 “-f 文件名”,意思是解压filename. 请注意,如果是多个参数组合的情况下带有 “-f”,请把 “-f” 写到最后面。

-p : 使用原文件的属性,压缩前什么属性压缩后还什么属性。

-P : 可以使用绝对路径。(不常用)

–exclude filename : 在打包或者压缩时,不要将filename文件包括在内。

tar -cvf 123.tar 123 //可视化打包压缩目录123后名字为123.tar

tar -cvf 123.tar 1.txt 123 //可视化打包压缩目录123和文件1.txt后名字为123.tar

tar -xvf 123.tar //可视化解包123.tar,解包时跟zip一样会覆盖原来的文件,但是不会提示是否覆盖。

tar -tf 123.tar //查看tar包里面的文件

tar -cvf 123.tar –exclude 1.txt –exclude 2 123 //打包目录123并命名123.tar,不包括文件1.txt和目录2。exclude可以写多个。

[root@xie-02 zzz]# tar -cvf 123.tar 123  //可视化打包压缩后名字为123.tar
123/
123/2.txt
[root@xie-02 zzz]# ls
123  123.tar  1.txt  2.txt
[root@xie-02 zzz]# du -sh 123 123.tar //打包后大小跟源文件一样,打包是打包,不同于压缩,区分清楚。
1.4M    123
1.4M    123.tar
[root@xie-02 zzz]# tar xvf 123.tar //解包时跟zip一样会覆盖原来的文件,但是不会提示是否覆盖。
123/
123/2.txt
[root@xie-02 zzz]# tar -tf 123.tar //查看tar包里面的文件
123/
123/2.txt

打包并压缩

tar命令非常好用的一个功能就是可以在打包的时候直接压缩,它支持gzip压缩,xz压缩和bzip2压缩。

tar -zcvf 123.tar.gz 123 //打包的同时使用gzip压缩

tar -zxvf 123.tar.gz //解包并解压缩

tar -jcvf 123.bz2 123 //打包的同时使用bzip2压缩

tar -jxvf 123.bz2 //解包并解压缩

tar -Jcvf 123.xz 123 //打包的同时使用xz压缩

tar -Jxvf 123.xz //解包并解压缩

tar -tf 123.bz2 //查看压缩包里的文件
tar -tf 123.gz //查看压缩包里的文件
tar -tf 123.xz //查看压缩包里的文件

[root@xie-02 zzz]# tar -zcvf 123.tar.gz 123 1.txt 2.txt //打包的同时使用gzip压缩
123/
123/2.txt
1.txt
2.txt
[root@xie-02 zzz]# du -sh 123.tar.gz 
1.1M    123.tar.gz
[root@xie-02 zzz]# tar -jcvf 123.tar.bz2 123 1.txt 2.txt //打包的同时使用bzip2压缩
123/
123/2.txt
1.txt
2.txt
[root@xie-02 zzz]# du -sh 123.tar.bz2 
460K    123.tar.bz2
[root@xie-02 zzz]# tar -Jcvf 123.tar.xz 123 1.txt 2.txt //打包的同时使用xz压缩
123/
123/2.txt
1.txt
2.txt
[root@xie-02 zzz]# du -sh 123.tar.xz
68K 123.tar.xz
[root@xie-02 zzz]# tar -tf 123.tar.xz   //查看压缩包里的文件
123/
123/2.txt
1.txt
2.txt

实际应用:

利用tar 通过网络拷贝数据 http://www.lishiming.net/thread-152-1-2.html
Tar打包、压缩与解压缩到指定目录的方法 http://www.lishiming.net/thread-96-1-3.html
linux下不支持解压大于4G的zip压缩包 http://www.lishiming.net/thread-1813-1-1.html

扩展

http://ask.apelearn.com/question/5435

【语音分离】基于平均谐波结构建模的无监督单声道音乐声源分离(Matlab代码实现)内容概要:本文介绍了基于平均谐波结构建模的无监督单声道音乐声源分离方法,并提供了相应的Matlab代码实现。该方法通过对音乐信号中的谐波结构进行建模,利用音源间的频率特征差异,实现对混合音频中不同乐器或人声成分的有效分离。整个过程无需标注数据,属于无监督学习范畴,适用于单通道录音场景下的语音与音乐分离任务。文中强调了算法的可复现性,并附带完整的仿真资源链接,便于读者学习与验证。; 适合人群:具备一定信号处理基础和Matlab编程能力的高校学生、科研人员及从事音频处理、语音识别等相关领域的工程师;尤其适合希望深入理解声源分离原理并进行算法仿真实践的研究者。; 使用场景及目标:①用于音乐音频中人声与伴奏的分离,或不同乐器之间的分离;②支持无监督条件下的语音处理研究,推动盲源分离技术的发展;③作为学术论文复现、课程项目开发或科研原型验证的技术参考。; 阅读建议:建议读者结合提供的Matlab代码与网盘资料同步运行调试,重点关注谐波建模与频谱分解的实现细节,同时可扩展学习盲源分离中的其他方法如独立成分分析(ICA)或非负矩阵分解(NMF),以加深对音频信号分离机制的理解。
内容概要:本文系统介绍了新能源汽车领域智能底盘技术的发展背景、演进历程、核心技术架构及创新形态。文章指出智能底盘作为智能汽车的核心执行层,通过线控化(X-By-Wire)和域控化实现驱动、制动、转向、悬架的精准主动控制,支撑高阶智能驾驶落地。技术发展历经机械、机电混合到智能三个阶段,当前以线控转向、线控制动、域控制器等为核心,并辅以传感器、车规级芯片、功能安全等配套技术。文中还重点探讨了“智能滑板底盘”这一创新形态,强调其高度集成化、模块化优势及其在成本、灵活性、空间利用等方面的潜力。最后通过“2025智能底盘先锋计划”的实车测试案例,展示了智能底盘在真实场景中的安全与性能表现,推动技术从研发走向市场验证。; 适合人群:汽车电子工程师、智能汽车研发人员、新能源汽车领域技术人员及对智能底盘技术感兴趣的从业者;具备一定汽车工程或控制系统基础知识的专业人士。; 使用场景及目标:①深入了解智能底盘的技术演进路径与系统架构;②掌握线控技术、域控制器、滑板底盘等关键技术原理与应用场景;③为智能汽车底盘研发、系统集成与技术创新提供理论支持与实践参考。; 阅读建议:建议结合实际车型和技术标准进行延伸学习,关注政策导向与行业测试动态,注重理论与实车验证相结合,全面理解智能底盘从技术构想到商业化落地的全过程。
【顶级EI复现】计及连锁故障传播路径的电力系统 N-k 多阶段双层优化及故障场景筛选模型(Matlab代码实现)内容概要:本文介绍了名为《【顶级EI复现】计及连锁故障传播路径的电力系统 N-k 多阶段双层优化及故障场景筛选模型(Matlab代码实现)》的技术资源,重点围绕电力系统中连锁故障的传播路径展开研究,提出了一种N-k多阶段双层优化模型,并结合故障场景筛选方法,用于提升电力系统在复杂故障条件下的安全性与鲁棒性。该模型通过Matlab代码实现,具备较强的工程应用价值和学术参考意义,适用于电力系统风险评估、脆弱性分析及预防控制策略设计等场景。文中还列举了大量相关的科研技术支持方向,涵盖智能优化算法、机器学习、路径规划、信号处理、电力系统管理等多个领域,展示了广泛的仿真与复现能力。; 适合人群:具备电力系统、自动化、电气工程等相关背景,熟悉Matlab编程,有一定科研基础的研究生、高校教师及工程技术人员。; 使用场景及目标:①用于电力系统连锁故障建模与风险评估研究;②支撑高水平论文(如EI/SCI)的模型复现与算法验证;③为电网安全分析、故障传播防控提供优化决策工具;④结合YALMIP等工具进行数学规划求解,提升科研效率。; 阅读建议:建议读者结合提供的网盘资源,下载完整代码与案例进行实践操作,重点关注双层优化结构与场景筛选逻辑的设计思路,同时可参考文档中提及的其他复现案例拓展研究视野。
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值