前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Linux-tar

Linux-tar

作者头像
小小工匠
发布2021-08-16 10:44:09
3.1K0
发布2021-08-16 10:44:09
举报
文章被收录于专栏:小工匠聊架构

概述

tar命令可以为linux的文件和目录创建档案。利用tar,可以为某一特定文件创建档案(备份文件),也可以在档案中改变文件,或者向档案中加入新的文件。tar最初被用来在磁带上创建档案,现在,用户可以在任何设备上创建档案。利用tar命令,可以把一大堆的文件和目录全部打包成一个文件,这对于备份文件或将几个文件组合成为一个文件以便于网络传输是非常有用的。

首先要弄清两个概念:打包和压缩。打包是指将一大堆文件或目录变成一个总的文件;压缩则是将一个大的文件通过一些压缩算法变成一个小文件。

为什么要区分这两个概念呢?这源于Linux中很多压缩程序只能针对一个文件进行压缩,这样当你想要压缩一大堆文件时,你得先将这一大堆文件先打成一个包(tar命令),然后再用压缩程序进行压缩(gzip bzip2命令)。

linux下最常用的打包程序就是tar了,使用tar程序打出来的包我们常称为tar包,tar包文件的命令通常都是以.tar结尾的。生成tar包后,就可以用其它的程序来进行压缩。

常见压缩格式

  • .zip / .gz / .bz2
  • .tar.gz / .tar.bz2
这里写图片描述
这里写图片描述

.zip格式压缩

这里写图片描述
这里写图片描述

zip格式和window是通用的

.zip格式解压

这里写图片描述
这里写图片描述

.gz格式压缩

这里写图片描述
这里写图片描述

.gz格式解压

这里写图片描述
这里写图片描述

.bz2格式压缩

这里写图片描述
这里写图片描述

.bz2格式解压

这里写图片描述
这里写图片描述

打包命令 tar -cvf

这里写图片描述
这里写图片描述

解打包命令 tar -xvf

这里写图片描述
这里写图片描述

.tar.gz压缩格式

这里写图片描述
这里写图片描述

.tar.bz2解压格式

这里写图片描述
这里写图片描述

参数解释

必要参数有如下: -A 新增压缩文件到已存在的压缩 -B 设置区块大小 -c 建立新的压缩文件 -d 记录文件的差别 -r 添加文件到已经压缩的文件 -u 添加改变了和现有的文件到已经存在的压缩文件 -x 从压缩的文件中提取文件 -t 显示压缩文件的内容 -z 支持gzip解压文件 -j 支持bzip2解压文件 -Z 支持compress解压文件 -v 显示操作过程 -l 文件系统边界设置 -k 保留原有文件不覆盖 -m 保留文件不被覆盖 -W 确认压缩文件的正确性 可选参数如下: -b 设置区块数目 -C 切换到指定目录 -f 指定压缩文件 –help 显示帮助信息 –version 显示版本信息


举例

举例压缩

tar -cvf jpg.tar *.jpg //将目录里所有jpg文件打包成tar.jpg

tar -czf jpg.tar.gz *.jpg //将目录里所有jpg文件打包成jpg.tar后,并且将其用gzip压缩,生成一个gzip压缩过的包,命名为jpg.tar.gz

tar -cjf jpg.tar.bz2 *.jpg //将目录里所有jpg文件打包成jpg.tar后,并且将其用bzip2压缩,生成一个bzip2压缩过的包,命名为jpg.tar.bz2

tar -cZf jpg.tar.Z *.jpg //将目录里所有jpg文件打包成jpg.tar后,并且将其用compress压缩,生成一个umcompress压缩过的包,命名为jpg.tar.Z

rar a jpg.rar *.jpg //rar格式的压缩,需要先下载rar for linux

zip jpg.zip *.jpg //zip格式的压缩,需要先下载zip for linux


举例解压

代码语言:javascript
复制
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

unrar e file.rar //解压rar

unzip file.zip //解压zip

排除某些目录不压缩

–exclude

代码语言:javascript
复制
tar -zcvf xiaogongjiang.tar.gz --exclude=xgj/version xiaogongjiang

排除多个文件/目录,增加 –exclude 即可

代码语言:javascript
复制
tar -zcvf xiaogongjiang.tar.gz --exclude=xgj/version  --exclude=abc/def  xiaogongjiang

注意:使用tar 的–exclude 命令排除打包的时候,不能加“/”,否则会把对应目录以及其下的文件打包进去


总结

总结

1、*.tar 用 tar -xvf 解压

2、*.gz 用 gzip -d或者gunzip 解压

3、.tar.gz和.tgz 用 tar -xzf 解压

4、*.bz2 用 bzip2 -d或者用bunzip2 解压

5、*.tar.bz2用tar -xjf 解压

6、*.Z 用 uncompress 解压

7、*.tar.Z 用tar -xZf 解压

8、*.rar 用 unrar e解压

9、*.zip 用 unzip 解压

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2016/08/21 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 概述
  • 常见压缩格式
    • .zip格式压缩
      • .zip格式解压
        • .gz格式压缩
          • .gz格式解压
            • .bz2格式压缩
              • .bz2格式解压
                • 打包命令 tar -cvf
                  • 解打包命令 tar -xvf
                    • .tar.gz压缩格式
                      • .tar.bz2解压格式
                      • 参数解释
                      • 举例
                        • 举例压缩
                          • 举例解压
                            • 排除某些目录不压缩
                            • 总结
                            相关产品与服务
                            文件存储
                            文件存储(Cloud File Storage,CFS)为您提供安全可靠、可扩展的共享文件存储服务。文件存储可与腾讯云服务器、容器服务、批量计算等服务搭配使用,为多个计算节点提供容量和性能可弹性扩展的高性能共享存储。腾讯云文件存储的管理界面简单、易使用,可实现对现有应用的无缝集成;按实际用量付费,为您节约成本,简化 IT 运维工作。
                            领券
                            问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档