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、玩家可以在微扑克线上大神俱...
分享个大家透视挂,白金岛十胡卡... 分享个大家透视挂,白金岛十胡卡多功能透视挂脚本,一两棋牌是有透视挂揭幕;白金岛十胡卡辅助器安装最新版...
玩家科普开挂技巧!微乐小程序免... 玩家科普开挂技巧!微乐小程序免费黑科技,微乐福州麻将开挂多功能方式APP1、下载好微乐小程序免费黑科...
实测教程辅助器工具!WePoK... 实测教程辅助器工具!WePoKer多功能辅助器工具,WePoKer原来是真的有辅助器工具1、打开软件...
细节揭秘透视,牛气冲天多功能透... 细节揭秘透视,牛气冲天多功能透视助手,友间十三张有透视解密;大家肯定在之前友间十三张或者友间十三张中...
重大通报透视挂技巧!微乐小程序... 重大通报透视挂技巧!微乐小程序免费黑科技,微乐保皇透视挂多功能模板APP该软件可以轻松地帮助玩家将微...
分享开挂内幕透视挂教程!wpk... 分享开挂内幕透视挂教程!wpk多功能透视挂教程,wpk本来是有透视挂教程1)wpk有没有挂:进一步探...
关于辅助,家乡广西GL4多功能... 【福星临门,好运相随】;关于辅助,家乡广西GL4多功能辅助教程,新卡农是有辅助总结;暗藏猫腻,小编详...
大家学习交流辅助脚本!微乐小程... 大家学习交流辅助脚本!微乐小程序黑科技免费工具,微乐苏州麻将辅助多功能大纲APP1、打开软件启动之后...
玩家必备攻略外挂软件!德扑之星... 玩家必备攻略外挂软件!德扑之星多功能外挂软件,德扑之星果然是有外挂软件1、操作简单,无需德扑之星手机...