linux命令系列-tar

2018-02-27 10:50:14来源:https://www.jianshu.com/p/f6d490f018c4作者:freecls人点击

分享


tar命令可以为linux的文件和目录创建档案。利用tar命令,可以把一大堆的文件和目录全部打包成一个文件,这对于备份文件或将几个文件组合成为一个文件以便于网络传输是非常有用的。
首先要弄清两个概念:打包和压缩。
打包是指将一大堆文件或目录变成一个总的文件。
压缩则是将一个大的文件通过一些压缩算法变成一个小文件。
更多详细用法请参照man tar


#常用命令选项
-c 打包
-x 解包解压缩
-t 查看
-v 显示详细信息
--exclude 排除
-C 指定目录
#3种压缩格式,压缩率从低到高
#一般选用bzib2足已,xz压缩率高但是压缩速度偏慢
-z gzip
-j bzib2
-J xz

例子:


tar -cvf glibc.tar *      #打包当前目录(注意不会打包隐藏文件如.ssh)
#将当前目录所有打包为glibc.tar(过滤掉dir目录,扩展名为png,jpg的文件)
tar -cvf glibc.tar * --exclude dir --exclude '*.png' --exclude '*.jpg'
tar -zcvf glibc.tar.gz glibc a.txt #打包并以gzip压缩glibc,a.txt
tar -jcvf glibc.tar.bz2 glibc a.txt #打包并以bzib2压缩glibc,a.txt
tar -Jcvf glibc.tar.xz glibc b.txt #打包并以xz压缩glibc,a.txt
#解包--解压缩到/root目录
tar -zxvf glibc.tar.gz -C /root #gzip
tar -jxvf glibc.tar.bz2 -C /root #bzib2
tar -Jxvf glibc.tar.xz -C /root #xz

#查看包内容
tar -tvf glibc.tar.bz2

进阶:


#只查看第一层文件目录
tar --exclude="*/*" -tvf glibc.tar.bz2
#只打包隐藏文件(文件名第一个是.第二个是非.)
tar -cvf /tmp/aaa.tar .[!.]*
#打包全部(包含隐藏文件)
#ls -A不会列出. ..两个目录
tar -cvf /tmp/bbb.tar `ls -A`

总结:
上面的这些例子已经能应付大部分场景了,更多详细用法请通过命令man tar自行查阅


备注
1.linux爱好者欢迎进群讨论722400045
2.本系列命令都在centos7里测试,其他发行版如ubuntu,debian,fedora,opensuse等可能略微不同
3.我们的自由创作学习分享网站www.freecls.com即将开放,届时会有更多的精彩能容分享给大家
4.觉得本文有帮助的小伙伴可以赞赏和关注笔者








最新文章

123

最新摄影

闪念基因

微信扫一扫

第七城市微信公众平台