tar命令——归档/压缩和解压缩文件
创始人
2025-01-19 08:03:26
0

tar命令的功能是将一个或多个文件归档成一个文件,同时可结合gzip、bzip2和xz等压缩命令实现文件的压缩和解压缩。

tar 命令的语法格式如下:

tar [选项] 文件或目录

常用选项如下:

选项作用/含义
-c建立归档文件
-x从归档文件中解出文件
-z通过gzip进行压缩/解压缩,建议文件名为*.tar.gz
-j通过bzip2进行压缩/解压缩,建议文件名为*.tar.bz2
-J通过xz进行压缩/解压缩,建议文件名为*.tar.xz
-v显示压缩/解压缩的处理过程
-f 后接要处理的归档文件名
-t查看归档文件的内容包含有哪些文件
-C后接目录,指定将压缩包解压到该目录中
-p小写p,保留备份数据的原本权限和属性,常用于备份重要的配置文件
-P大写P,保留文件绝对路径,即要求备份文件中含有根目录
-N后接日期,只保存较指定日期更新的文件
-A追加tar文件至归档文件
-r追加文件至归档文件末尾
-u仅追加比归档中副本更新的文件
--exclude=PATTERN在打包压缩时,不将以 PATTERN 指定的文件归档压缩
--remove-files打包/压缩之后删除源文件

特别说明:-c和-x选项不能同时出现;-z、-j和-J等表示压缩技术的选项也不能同时出现。选项-f后面必须紧跟要处理归档文件。

打包/压缩实例演示:

1、使用gzip压缩格式打包/etc目录下所有扩展名为conf的文件,并显示打包压缩过程

[root@myEuler ~]# tar czvf etc_bak.tar.gz /etc/*.conf tar: 从成员名中删除开头的“/” /etc/chrony.conf /etc/dracut.conf /etc/e2scrub.conf /etc/fuse.conf ……此处省略部分输出…… 

2、使用bzip2压缩格式打包/tmp目录,并显示压缩过程

[root@myEuler ~]# tar -cjvf tmp_bak.tar.bz2 /tmp tar: 从成员名中删除开头的“/” /tmp/ /tmp/.X1-lock ……此处省略部分输出……

3、将当前工作目录内所有文件打包归档,但不压缩

[root@myEuler ~]# tar cvf bak.tar . ./ ./.bash_logout ./.vnc/ ……此处省略部分输出……

4、将当前工作目录内所有扩展名为cfg的文件打包,但不压缩,且删除原始文件

[root@myEuler dir1]# tar cvf back.tar *.cfg --remove-files file3.cfg 

 5、备份指定文件/目录,要求保留原文件的权限和属性

[root@myEuler ~]# tar cpzvf sshd_config.tar.gz /etc/ssh/sshd_config  tar: 从成员名中删除开头的“/” /etc/ssh/sshd_config 

 6、备份文件/目录,要求保留根目录

从前面的示例可以看到,执行压缩时,都会提示【tar: 从成员名中删除开头的“/”】,若要消除该提示,要求保留根目录,则可使用选项-P。

[root@myEuler ~]# tar cPpzvf sshd_config_P.tar.gz /etc/ssh/sshd_config  /etc/ssh/sshd_config  #对比有选项-P和没有-P的区别 # sshd_config.tar.gz压缩包没有使用选项-P [root@myEuler ~]# tar tvf sshd_config.tar.gz  tar: 从成员名中删除开头的“/” -rw------- root/root      5006 2022-11-22 16:51 /etc/ssh/sshd_config  # sshd_config1.tar.gz压缩包有使用选项-P [root@myEuler ~]# tar tvf sshd_config_P.tar.gz  -rw------- root/root      5006 2022-11-22 16:51 etc/ssh/sshd_config 

7、打包压缩某个目录,但要求排除某些文件

在很多时候,我们要对某一个目录打包/压缩,这个目录下有几十个子目录和子文件,现需要排除其中某些目录或文件,这时就需要用到--exclude选项。 

[root@myEuler ~]# ll /etc/ssh/sshd_config  -rw-------. 1 root root 5006 11月 22 16:51 /etc/ssh/sshd_config  #所有以config结尾的文件均被排除 [root@myEuler ~]# tar czvf ssh.tar.gz --exclude=*config /etc/ssh  tar: 从成员名中删除开头的“/” /etc/ssh/ /etc/ssh/ssh_host_rsa_key.pub /etc/ssh/moduli /etc/ssh/ssh_host_ed25519_key /etc/ssh/ssh_host_ecdsa_key.pub /etc/ssh/ssh_host_rsa_key /etc/ssh/ssh_config.d/ /etc/ssh/ssh_config.d/05-redhat.conf /etc/ssh/ssh_host_ed25519_key.pub /etc/ssh/ssh_host_ecdsa_key 

注:在openEuler中,--exclude选项必须在必选选项之后,本示例中就不能放在被打包目录/etc/ssh之后。

解包/解压缩实例演示:

8、解包某个归档文件到当前工作目录

[root@myEuler dir1]# tar xvf back.tar  file3.cfg 

9、解压缩某个压缩包至指定目录

注意,这个指定的目录必须事先已存在。

[root@myEuler ~]# mkdir /opt/temp [root@myEuler ~]# tar xjvf tmp_bak.tar.bz2 -C /opt/temp tmp/ tmp/.X1-lock ……此处省略部分输出……

10、查看某个压缩包内包含的文件,但要求不进行解包/解压缩

[root@myEuler ~]# tar tvf etc_bak.tar.gz  -rw-r--r-- root/root      1307 2021-12-16 20:17 etc/chrony.conf -rw-r--r-- root/root       117 2022-07-28 08:00 etc/dracut.conf -rw-r--r-- root/root       685 2022-09-23 08:00 etc/e2scrub.conf 

相关内容

热门资讯

1个玄学(Wepoke合作)外... 1个玄学(Wepoke合作)外挂透明挂插件,wepoke苹果版外挂,详细教程(2023已更新)(哔哩...
五个胜率(微扑克挂)外挂辅助器... 五个胜率(微扑克挂)外挂辅助器安装,wpk透视辅助封号,详细教程(2023已更新)(哔哩哔哩);微扑...
1分钟系统(wpk德州)外挂透... 1分钟系统(wpk德州)外挂透明挂助手,微扑克代打是真的,详细教程(2025已更新)(哔哩哔哩);微...
在 Windows Serve... 如果您出于测试目的安装了 RDS Server 2016/2019/2022,并且 R...
二个安卓(WPK程序)原来一直... 二个安卓(WPK程序)原来一直都是有挂,其实是确实有挂(2021已更新)(哔哩哔哩)二个安卓(WPK...
2025新苹果版(Wepoke... 2025新苹果版(Wepoke猫腻)外挂辅助器插件,wepoke人有挂,详细教程(2024已更新)(...
FTP协议详解 文章目录1 FTP概述2 实验环境3 FTP详解3.1 文件传输过程3.2 报文格式3.3 数据连接...
Ubuntu服务器的GitLa... AI应用开发相关目录 本专栏包括AI应用开发相关内容分享,包括不限于AI算法部署实施细...
六个工具!wepoke辅助,a... 六个工具!wepoke辅助,aapoker系统机制,揭秘教程(2023已更新)-哔哩哔哩;小薇(透视...
华为云云耀云服务器L实例评测|... 文章目录1. 华为云云耀云服务器L实例介绍1.1 产品介绍1.2 产品定位1.3 产品特色2. 简单...