前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >tar命令常用方法集锦

tar命令常用方法集锦

作者头像
用户1272546
发布2018-06-04 12:10:35
6220
发布2018-06-04 12:10:35
举报
文章被收录于专栏:源码之家源码之家

1. 用 tar 打包目录时排除某个子目录或文件的方法:用到的参数:–exclude,  -X 格式:–exclude=path/to/subdir -X file 说明:–exclude等于后面的目录为相对目录,使用绝对目录则不生效。即路径最前面没有”/” For example: # mkdir -p testdir/{subdir01,subdir02} # touch testdir/{a,b}{1,2} testdir/subdir01/s01 testdir/subdir02/s02 /tmp/testdir —  a1 —  a2 —  b1 —  b2 —  subdir01/ — s01 —  subdir02/ — s02 对/tmp/testdir目录打包,但排除里面的subdir01目录:

tar zcf testdir.tar.gz testdir –exclude=testdir/subdir01 或者: tar zcf testdir.tar.gz testdir –exclude=subdir01

如果是要排除多个目录,则使用多个–exclude参数: tar zcf testdir.tar.gz testdir –exclude=subdir01 –exclude=testdir/subdir02

PS:在网上看到有说tar如果是GNU版本的话,–exclude要放在备份目录的前面,即: tar zcf testdir.tar.gz –exclude=testdir/subdir01 testdir

我的是RHEL5U2下的tar版本,各自验证了一下,在上面的例子中–exclude放在后面是没有问题的,另外我还分别在RHEL4U4和CentOS4.6上面都测试过了,不知道为何会有这种放在前面说法,但个人还是蛮推荐这个习惯的,呵呵。

如果要排除的目录或文件有一二十个或者更多,且没什么规律可循,可以使用-X参数,先将要排除的目录或文件的相对路径放到一个文件里,然后调用这个文件即可: [root@localhost tmp]# echo “testdir/subdir01”>>xfile [root@localhost tmp]# echo “testdir/a1”>>xfile # tar -zcfX testdir.tar.gz xfile testdir

ps:使用调用文件的方式时要备份的目录必须放在最后。

2. “tar – xxx”格式用法: [root@localhost tmp]# tar cf – testdir|gzip -9>testdir.tar.gz

应该是一种比较老的做法了,现在的tar都直接支持gz或者bz2压缩,分别加上-z和-j参数即可。不过挺灵活.比如我想设置gzip的压缩比,使用-9参数,如上.单独使用tar czf就不能指定压缩比参数了

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
如有侵权请联系 cloudcommunity@tencent.com 删除

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

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

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

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档