tar命令的功能是用于压缩和解压缩文件,能够制作出Linux系统中常见的.tar、.tar.gz、.tar.bz2等格式的压缩包文件。对于RHEL7、CentOS7版本以后的系统,解压时可以不加压缩格式参数(如z或j),系统能自动进行分析并解压。

把要传输的文件先进行压缩再进行传输,能够很好的提高工作效率,方便分享。

语法格式:tar 参数 文件或目录

常用参数:

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

参考示例

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

[root@]# tar czvf backup1.tar.gz /etc
tar: Removing leading `/\' from member names
/etc/
/etc/mtab
/etc/fstab
/etc/crypttab
/etc/resolv.conf
/etc/dnf/
………………省略部分输出信息………………

使用bzip2压缩格式对某个目录进行打包操作,显示压缩过程,压缩包规范后缀为.tar.bz2:

[root@]# tar cjvf backup2.tar.bz2 /etc
tar: Removing leading `/\' from member names
/etc/
/etc/mtab
/etc/fstab
/etc/crypttab
/etc/resolv.conf
/etc/dnf/
/etc/dnf/modules.d/
/etc/dnf/modules.d/container-tools.module
………………省略部分输出信息………………

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

[root@]# tar cvf backup3.tar *.cfg
anaconda-ks.cfg
initial-setup-ks.cfg

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

[root@]# tar cvf backup4.tar *.cfg --remove-files
anaconda-ks.cfg
initial-setup-ks.cfg

解压某个压缩包到当前工作目录:

[root@]# tar xvf backup4.tar 
anaconda-ks.cfg
initial-setup-ks.cfg

解压某个压缩包到/etc目录:

[root@]# tar xvf backup4.tar -C /etc
anaconda-ks.cfg
initial-setup-ks.cfg

查看某个压缩包内文件信息(无需解压):

[root@]# tar tvf backup4.tar 
-rw------- root/root      1256 2022-05-18 08:42 anaconda-ks.cfg
-rw-r--r-- root/root      1585 2025-05-18 08:43 initial-setup-ks.cfg

© 版权声明
评论 抢沙发

请登录后发表评论