tar

发布时间 2023-11-30 18:04:23作者: 惠恒博

基本概述

tar命令的功能是压缩和解压缩文件,能够制作出Linux系统中常见的tar、tar.gz、tar.bz2等格式的压缩包文件。对于RHEL 7、CentOS 7版本及以后的系统,解压缩时不添加格式参数(如z或j),系统也能自动进行分析并解压。把要传输的文件先压缩再传输,能够很好地提高工作效率,方便分享。

语法格式

压缩:tar  参数   /路径/压缩包名字   文件或目录名           

解包:tar 参数  /路径/压缩包名字  选项  /释放的位置 

常用参数

-c:创建新的压缩

-x:从压缩包内提取文件

-f:指定归档文件名称,必须在所有选项的最后

-z:调用.gzip格式工具进行处理.gz

-j:调用.bzip2格式工具进行处理.bz2

-J:调用.xz格式工具进行处理.xz

-t:显示压缩包内容

-C:解压缩到指定目录

-A:添加文件到已存在的压缩包

-p:保留原来的文件权限与属性

-B:设置区块大小

-P:使用绝对路径

-u:更新压缩包内的文件

-d:记录文件的差别

-v:显示执行过程详细信息

-w:确认压缩包的完整性

-l:设置文件系统边界

-m:保护文件不被覆盖

-N:只将较新日期的文件保存到压缩包中

--exclude:排除部分数据信息不要进行压缩

--remove-files:操作完成后删除源文件

参考示例

1.用gzip压缩格式对指定目录进行打包操作,显示压缩过程,压缩包规范后缀为.tar.gz

[root@linuxcool ~]# tar -zcvf /root/xixi.tar.gz /etc/passwd   /home 

2.查看tar包内容

[root@linuxcool ~]# tar  -tvf  /root/xixi.tar.gz    #查看tar包内容

3.进行排查数据信息打包(排除单个信息)

[root@linuxcool ~]# tar zcf /tmp/etc-pai.tar.gz /etc/ --exclude=/etc/services

4.将当前工作目录内所有以.cfg为后缀的文件打包,不进行压缩

[root@linuxcool ~]# tar cvf File.tar *.cfg 
anaconda-ks.cfg  

5.将当前工作目录内所有以.cfg为后缀的文件打包,不进行压缩,并删除原始文件

[root@linuxcool ~]# tar cvf File.tar *.cfg --remove-files 
anaconda-ks.cfg

6.解压指定压缩包到当前工作目录

[root@linuxcool ~]# tar xvf File.tar 
anaconda-ks.cfg 

7.解压指定压缩包到/etc目录

[root@linuxcool ~]# tar xvf File.tar -C /etc 
anaconda-ks.cfg 

8.查看某个压缩包内文件信息(无须解压)

[root@linuxcool ~]# tar tvf File.tar
-rw------- root/root 1256 2023-05-18 08:42 anaconda-ks.cfg