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 

相关内容

热门资讯

最新消息!山西扣点工具(辅助)... 最新消息!山西扣点工具(辅助)本来真的是有辅助app(真的有挂)1、玩家可以在山西扣点工具透视最简单...
烘培辅助!天酷大厅辅助!曝光真... 烘培辅助!天酷大厅辅助!曝光真的有辅助攻略(有挂分享)1、打开软件启动之后找到中间准星的标志长按。2...
第三方辅助挂!天天微友辅助(辅... 第三方辅助挂!天天微友辅助(辅助)总是是真的有辅助神器(有挂规律)1、天天微友辅助有没有辅助教程、天...
手筋辅助!h5反杀程序!科普有... 手筋辅助!h5反杀程序!科普有辅助工具(有挂存在)1、h5反杀程序公共底牌简单,h5反杀程序透视插件...
今日!随意玩辅助器视频透视挂(... 今日!随意玩辅助器视频透视挂(辅助)总是存在有辅助挂(有挂秘诀)随意玩辅助器视频透视挂透视方法中分为...
秘籍辅助!青橙竞技游戏辅助!关... 秘籍辅助!青橙竞技游戏辅助!关于是真的有辅助教程(有挂秘籍)所有人都在同一条线上,像星星一样排成一排...
出乎意料的是!旺旺填大坑透视挂... 出乎意料的是!旺旺填大坑透视挂(辅助)本来真的是有辅助器(了解有挂)所有人都在同一条线上,像星星一样...
窍门辅助!雀友会广东潮汕麻雀有... 窍门辅助!雀友会广东潮汕麻雀有挂么!关于有辅助方法(有挂解密)1、这是跨平台的雀友会广东潮汕麻雀有挂...
据悉!湖北逍遥辅助(辅助)真是... 据悉!湖北逍遥辅助(辅助)真是是真的有辅助插件(有人有挂)湖北逍遥辅助是不是有人用挂微扑克wpk插件...
操作辅助!UU Games辅助... 操作辅助!UU Games辅助器!揭幕真的有辅助攻略(有挂方针)1、让任何用户在无需UU Games...