每天学一个 Linux 命令(39):tar

主宰稳场 提交于 2021-02-19 20:54:13

点击下方“民工哥技术之路”,选择“设为星标”

回复“1024”获取独家整理的学习资料!

昨日推荐:每天学一个 Linux 命令(38):vi/vim

命令简介

tar 命令用于打包、压缩与解压压缩包文件。

tar 命令常常用于打包、压缩某些文件或目录,也可以添加新文件到归档文件中。Tar 代表的是磁带存档,是一种归档的文件格式,早期用于将文件归档到磁带备份存储。现可以用于收集、分发、归档文件,还可以保留文件原有的属性,如:用户和组权限,访问和修改日期以及目录结构。

语法格式

tar [OPTIONS] [FILE]

选项说明

-A  #新增文件到已经存在的归档文件
-B  #设置区块大小
-c  #建立新的归档文件
-C  #将压缩的文件解压到指定的目录下
-d  #记录文件的差异
-x  #解压或提取归档文件内容              
-t  #列出备份文件的内容
-z  #通过gzip命令来压缩/解压缩文件,文件名一般为 xx.tar.gz
-Z  #通过compress命令处理备份文件
-f  #指定备份文件
-v  #显示命令执行过程
-r  #添加新文件到已经压缩的文件中
-u  #添加改变了和现有的文件到已经存在的压缩文件
-j  #通过bzip2命令来压缩/解压缩文件,文件名一般为xx.tar.bz2
-v  #显示操作过程;
-k  #保留原有文件不覆盖
-m  #保留文件不被覆盖
-w  #确认压缩文件的正确性
-p  #保留原来的文件权限与属性
-P  #使用文件名的绝对路径,不删除文件名称前的“/”号
-N  #只将较指定日期更新的文件保存到备份文件中
--exclude=[范本样式]  #排除符合范本样式的文件
--remove-files       #归档/压缩之后删除源文件

应用举例

常见应用例子

tar -cf mingongge.tar *.jpg
#将所有.jpg的文件打包成一个名为mingongge.tar的文件
 
tar -rf mingongge.tar *.gif
#将所有.gif的文件增加到mingongge.tar的包里
 
tar -uf mingonggel.tar mingongge.gif
#更新mingongge.tar文件中的mingongge.gif文件
 
tar -tf mingongge.tar
#列出 all.tar 包中所有文件

tar -cfv mingongge.tar foo bar  
#将文件foo和bar打包成mingongge.tar文件包,也可以理解成:从这两个文件中去创建这个mingongge.tar文件

tar -tvf mingongge.tar         
#详细列出mingongge.tar中的所有文件

tar -xf mingongge.tar          
#从mingongge.tar提取所有文件

将文件全部打包成tar包

tar -cvf mingongg.tar mingongg.log       #仅打包,不压缩!
tar -zcvf mingongg.tar.gz mingongg.log   #打包后,以gzip方式压缩
tar -jcvf mingongg.tar.bz2 mingongg.log  #打包后,以bzip2方式压缩

解压目录

tar -xvf portal-web-v2.0.0.tar --strip-components 1  -C 指定目录
#排除目录--strip-components

将 tar包解压缩

tar -zxvf /opt/soft/test/log.tar.gz

打包或压缩文件时,排队指定的文件类型

tar -zcf mingongge.tar.gz /etc/ /var/ --exclude=*.txt

注意:如果在使用过程中遇到这类错误提示

tar: Removing leading `/’ from member names 

原因是tar默认为相对路径,使用绝对路径的话就回报这个错,可以使用-P(大写)参数解决这个问题。

推荐阅读 点击标题可跳转

8000 亿元!你贡献了多少?

怎么选?公务员 or 996 ?

为什么黑客从不用鼠标,一直在敲键盘?看完长见识了

墙裂推荐!一款 VM 大规模集群管理工具

超详细!kafka 入门最佳实践

一个比 Nginx 功能更强大的 Web 服务器

牛年第一瓜!阿里女员工被初中文化男子骗走 500 多万元

热搜第一!中国烟草总公司工资曝光,网友:不锈钢饭碗!

大一新生开发的小工具火了,网友:我好菜

本文分享自微信公众号 - 民工哥技术之路(jishuroad)。
如有侵权,请联系 support@oschina.cn 删除。
本文参与“OSC源创计划”,欢迎正在阅读的你也加入,一起分享。

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!