2023.21 linux下的文件打包tar
“tar” 是 “tape archive” 的缩写,最初是为了在磁带上创建档案而设计的,Linux下常使用 tar 命令将多个文件或目录打包成一个文件,这样可以方便地将多个文件或目录打包成一个文件,以便于备份或传输。
刚从Windows使用Linux的很多可能都没意识到打包和压缩两个不同的概念,打包就是将多个文件合并成一个文件,压缩就减少文件大小,而在Windows上这两个操作经常一起完成了。而Linux上吸取Unix设计理念,遵守KISS设计原则,一个程序只做一件事,并尽量把它做到极致,所以打包和压缩是分开的,tar主要用来打包,而gzip、bzip、xz等用来压缩,如果只是用tar -cvf 打包文件,并不会减少文件大小。
考虑到打包和压缩两个操作会经常一起用,tar 提供了参数-z或-j实现完成打包后自动调用对应的压缩命令的操作,比如,当使用tar -zcvf 时,tar完成打包后会隐式调用gzip来实现打包后文件的压缩。
在Linux中,经常看到文件类似“.tar”、“.tar.gz”、".tar.bz2"扩展名的文件,其中tar表示打包文件,tar.gz或.tgz,表示tar打包后又用gzip压缩后得到的文件,当然这里扩展名是执行命令时自己定义的,是与后面使用人的沟通交流的方式。
Linux要对文件压缩,可以使用bzip2、gzip 和 xz 命令,不过要注意bzip2、gzip 和 xz 命令都用压缩文件替换原始文件,tar 和 zip 命令不替换。使用tar可以保留 unix 风格的文件权限以及符号链接等信息,而zip压缩不行,它压缩后的文件解压后要变成可执行文件要重新 chmod chown 才行。另外zip也没保存文件名编码,所以如果用英文数字以为的名称时容易出现乱码的情况,因此在Linux中使用比较少。
tar 参数使用:
-v 显示操作过程
-f 指定压缩文件
-j 支持bzip2压缩/解压文件(bz、bz2后缀的文件)
-J 支持xz压缩/解压文件(tar.xz格式)
-z 支持gzip压缩/解压文件(gz后缀的文件)
-x 从压缩文件中提取文件(解包/解压的时候用)extract
-c 建立新的压缩文件(打包/压缩的时候用)compress
从压缩比来讲xz > bz2 > gz,压缩耗时 gz < bz2 < xz,一般在不是要尽可能将文件打包压缩到最小时多用gz,它兼顾了时间和压缩比的平衡。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· AI与.NET技术实操系列(二):开始使用ML.NET
· 单线程的Redis速度为什么快?
· Pantheons:用 TypeScript 打造主流大模型对话的一站式集成库
2019-05-27 Java获取类方法上的注解
2018-05-27 2018第21周回顾
2017-05-27 《洞见远胜创意》听书笔记-如何获得洞见
2016-05-27 2016第22周五
2015-05-27 java开源资源
2014-05-27 第22周二
2013-05-27 2013年5月27日20:16:02