tar命令打包和压缩与解压
打包:多个文件变一个文件。该一个文件会大于整体所有文件,因为会添加各个信息说明哪到哪是一个文件.
归档:将多个文件变成一个文件,这个文件就是归档文件.
打包命令: tar -cvf 归档路径 被打包文件路径。
(c--create archive v-verbose f --file ,f指归档路径,故f必须放在其他选项之后,而且-可省略不写)
单独打包命令: tar -cvf 归档路径 被打包路径. (整体文件变大,后缀一般是.tar)
gzip压缩命令: tar -zcvf 归档路径 被打包路径. (gun-zip压缩,后缀一般是.tar.gz) bzip2压缩命令: tar -jcvf 归档路径 被打包路径. (bzip2压缩,后缀一般是.tar.bz2) |
例子:
[root@lbg test]# ls
a b c d [root@lbg test]# tar -cvf test.tar a b c d ---将文件abcd打包为test.tar [root@lbg test]# ls a b c d test.tar 可以单独的打包,但不可单独的压缩,单独的-z命令是不行的. [root@lbg test]# tar -zcvf test.tar.gz a b c d ---打包并gzip压缩。 [root@lbg test]# ls a b c d test.tar test.tar.gz [root@lbg test]# tar -jcvf test.tar.bz2 a b c d ---打包并bzip2压缩。 [root@lbg test]# ls a b c d test.tar test.tar.bz2 test.tar.gz |
打包时归档路径可以相对/绝对路径,被打包文件路径最后是相对路径,用绝对路径也可以,但会有警告.另外如果是绝对路径,则会打包的是该绝对路径下的文件,而非目录下的具体文件.
解压:
拆包时有同名文件会直接覆盖,tar打包的都可拆,加不加z .j都可。
但如果加了z或j,就只能拆对应的zip或bzip2格式的包.
拆包命令:(-x 拆包 -C 指定解压路径)
tar -xvf 归档文件路径 ---可拆tar/gzip/bzip2格式的包
tar -zxvf 归档文件路径 ---只可拆gzip格式的包 tar-jxvg 归档文件路径 ---只可拆bzip2格式的包 unzip test.zip --拆zip格式的包 |
解压到指定位置的命令:tar -xvf test.tar -C /tmp --解压指定位置:到/tmp里,加-C (C --change dir.)
另外:选项中-可省略,v和省略.故可以:
tar xvf test.tar ----或者 ----tar xf test.tar
Linux里一般不用zip包,但有的话,解压命令是: unzip test.zip
例子:
[root@lbg test]# tar -xvf test.tar -C /test/bb
[root@lbg test]# tar -zxvf test.tar.gz -C /test/bb [root@lbg test]# tar -jxvf test.tar.bz2 -C /test/bb |
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下
· 别再用vector<bool>了!Google高级工程师:这可能是STL最大的设计失误
· 单元测试从入门到精通