Linux操作系统下文件的压缩与解压(tar命令)
前言
1、在日常嵌入式开发当中,在不同机器上来回传输文件是非常常见的操作。有的时候因为文件太大导致传输起来消耗的时间太多,怎么办?与windows操作系统相似,Linux操作系统也有属于它的一套压缩和解压命令。文件通过压缩之后,体积大大缩小,我们传输起来效率也就更高了。
2、在网络传递文件时,可以先将文件压缩,然后传递压缩后的文件,从而减少网络带宽。接受者接受文件后,解压即可。
3、压缩的类型:
- 有损压缩:如mp4视频文件,即使压缩过程中,减少了很多帧的数据,对观看者而言,也没有影响。当然mp3音乐文件也是有损压缩。
- 无损压缩:如普通文件的压缩,为了保证信息的正确传递,不希望文件经过压缩或解压后,出现问题。
4、Linux操作系统下常用的压缩与解压缩命令:
- gzip命令 和 bzip2命令:单个文件的压缩与解压缩
- tar命令:多个文件和目录的压缩与解压缩
tar命令:Linux下的解压与压缩命令
1、tar命令中必选且只选其一的参数
①-c(create):表示创建压缩文件,c代表create
②-x:表示解压缩文件(表示提取,从文件包中提取文件)
③-t:表示查看压缩包里面的文件
④-r:向压缩归档文件末尾追加文件
⑤-u:更新原压缩包中的文件
2、tar命令中的辅助参数
①-z(gzip):用 gzip方式进行压缩/解压缩(该参数与”c“结合就表示压缩,与”x“结合就表示解压缩)
②-j(bzip2):用 bzip2压缩/解压缩(该参数与”c“结合就表示压缩,与”x“结合就表示解压缩)
③-Z(compress):用 compress压缩/解压缩(该参数与”c“结合就表示压缩,与”x“结合就表示解压缩)
④-v(verbose):显示压缩/解压缩的进度条(详细报告tar命令进行压缩/解压缩处理时的信息)
⑤-f(file):使用文档名,是必选的参数(表示需要被压缩/解压的文件)。[注意f后面不要接参数,比如tar -zxfv是不对的,要写成tar -zxvf]
⑥-C: 后面跟<指定目录>,表示将压缩文件解压到指定目录
实例1:压缩操作
tar -cvf jpg.tar *.jpg //将目录里所有jpg文件打包成tar.jpg tar -czf jpg.tar.gz *.jpg //将目录里所有jpg文件打包成jpg.tar后,再用gzip压缩,生成jpg.tar.gz tar -cjf jpg.tar.bz2 *.jpg //将目录里所有jpg文件打包成jpg.tar后,再用bzip2压缩,生成jpg.tar.bz2 tar -cZf jpg.tar.Z *.jpg //将目录里所有jpg文件打包成jpg.tar后,再用compress压缩,生成jpg.tar.Z
实例2:解压操作
tar -xvf file.tar //解压 tar包 tar -xzvf file.tar.gz //解压tar.gz tar -xjvf file.tar.bz2 //解压 tar.bz2 tar -xZvf file.tar.Z //解压tar.Z
实例3:其他参数例子
tar -cf all.tar *.jpg //这条命令是将所有.jpg的文件打成一个名为all.tar的包。-c是表示产生新的包,-f指定包的文件名。 tar -rf all.tar *.gif //这条命令是将所有.gif的文件增加到all.tar的包里面去。-r是表示增加文件的意思。 tar -uf all.tar logo.gif //这条命令是更新原来tar包all.tar中logo.gif文件,-u是表示更新文件的意思。 tar -tf all.tar //这条命令是列出all.tar包中所有文件。-t是列出文件的意思。 tar -xf all.tar //这条命令是解出all.tar包中所有文件,-x是解开的意思。
实例4:将压缩文件解压到指定目录
tar xvf 压缩文件名 如:tar xvf dira.tar //解压到当前目录 tar xvf 压缩文件名 -C 指定目录 如:tar xvf dira.tar -C /home/book //解压到/home/book
示例
1、tar打包:普通压缩
1)压缩
tar -cvf 压缩文件名 目录名 如:tar cvf dira.tar dira
2)查看
tar tvf 压缩文件名 如:tar tvf dira.tar
3)解压
tar xvf 压缩文件名 如:tar xvf dira.tar //解压tar包到当前目录 tar xvf 压缩文件名 -C 指定目录 如:tar xvf dira.tar -C /home/book //解压tar包到当前目录
2、tar打包:gzip压缩(使用gzip方式压缩的文件必须使用gzip方式解压)
1)压缩
tar -czvf 压缩文件名 目录名
如:tar czvf dira.tar.gz dira
注意:命令 tar -czvf 与 命令 tar czvf 效果相同。
2)查看
tar tvf 压缩文件名 如:tar tvf dira.tar.gz
3)解压
tar xzvf 压缩文件名 如:tar xzvf dira.tar.gz //解压到当前目录 tar xzvf 压缩文件名 -C 指定目录 如:tar xzvf dira.tar.gz -C /home/book //解压到/home/book
3、tar打包:bzip2压缩(使用bzip2方式压缩的文件必须使用bzip2方式解压)
1)压缩
tar cjvf 压缩文件名 目录名 如:tar cjvf dira.tar.bz2 dira
2)查看
tar tvf 压缩文件名 如:tar tvf dira.tar.bz2
3)解压
tar xjvf 压缩文件名 如:tar xjvf dira.tar.bz2 //解压到当前目录 tar xjvf 压缩文件名 -C 指定目录 如:tar xjvf dira.tar.bz2 -C /home/book //解压到/home/book
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 全程不用写代码,我用AI程序员写了一个飞机大战
· DeepSeek 开源周回顾「GitHub 热点速览」
· 记一次.NET内存居高不下排查解决与启示
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!