tar命令——归档/压缩和解压缩文件
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
相关文章:
tar命令——归档/压缩和解压缩文件
tar命令的功能是将一个或多个文件归档成一个文件,同时可结合gzip、bzip2和xz等压缩命令实现文件的压缩和解压缩。 tar 命令的语法格式如下: tar [选项] 文件或目录 常用选项如下: 选项作用/含义-c建立归档文件-x从归档文件中解出文件-z通…...

Softing smartLink网关——推进过程工业数字化转型
虽然在过程工业中各工厂所投入的运营时间千差万别,但仍需按照新标准来进行有效控制和管理,而这就需要使用一种能够聚合其异构数据的数字通信架构。对此,Softing提供了两种网关解决方案,可用于将过程工业通信架构集成到现有以太网系…...
Spark的常用算子
Spark的常用算子 目录内容Spark的常用算子一、转换算子(Transformation)二、行动算子(Action)三、键值对算子(PairRDDFunctions)四、文件系统算子(File System)Spark 内置算子是指 S…...

Unity Avatar Cover System - 如何实现一个Avatar角色的智能掩体系统
文章目录简介变量说明实现动画准备动画状态机State 状态NoneStand To CoverIs CoveringCover To Stand高度适配高度检测脚部IK简介 本文介绍如何在Unity中实现一个Avatar角色的智能掩体系统,效果如图所示: 初版1.0.0代码已上传至SKFramework框架Package…...

steam/csgo搬砖项目到底真的假的?
搬砖是从国外steam市场置办游戏装备回来,在国内网易buff售卖,低买高卖,产生利润的一个项目。 但我真正上手后,才知道steam是面向全球的游戏平台,用户真的大的夸张!!市场非常巨大,一…...

【Python笔记20230307】
基础 编码、解码 str.encode(utf-8) # 编码 str.decode(utf-8) # 解码关键字 import keyword keyword.kwlist格式化输出 % 占位符:%s 字符串%d 整数%f 浮点数Hello, %s % world Hi, %s, you have $%d. % (Michael, 1000000) 占位符的修饰符 -左对齐 .小数点后位数 0左边补零…...

SBOM应该是软件供应链中的安全主食
当谈到软件材料清单(SBOM)时,通常的类比是食品包装上的成分列表,它让消费者知道他们将要吃的薯片中有什么。 美国机构有90天时间创建所有软件的清单 同样,SBOM是一个软件中组件的清单,在应用程序是来自多个来源的代码的集合的时…...

[计算机组成原理(唐朔飞 第2版)]第一章 计算机系统概论 第二章 计算机的发展及应用(学习复习笔记)
第1章 计算机系统概论 1.1 计算机系统简介 1.1.1 计算机的软硬件概念 计算机系统由“硬件”和“软件”两大部分组成。 硬件 是指计算机的实体部分,它由看得见摸得着的各种电子元器件,各类光、电、机设备的实物组成如主机、外部设备等 软件 软件看不见…...
Python的数据分析相关的框架
Python特别强大,也是一款可以实现可数据分析语言,它有很多开源的库和工具,可以帮助数据科学家处理和分析数据。 以下是一些常用的Python库和工具: NumPy:NumPy是一个Python库,用于处理大型多维数组和矩阵&…...

为什么会出现植物神经紊乱 总是检查不出来该怎么办
植物神经紊乱是一种很多人都害怕的疾病,你们知道是为什么吗? 植物神经紊乱是一种神经系统失调导致的多种症状的总称,这种疾病是由于社会因素所诱发的脏器功能的失调,是一种非常复杂的疾病。而这种疾病是可能会发生在任何年龄阶段的…...

宏任务和微任务
JavaScript 把异步任务又做了进一步的划分,异步任务又分为两类,分别是: ① 宏任务(macrotask) 异步 Ajax 请求setTimeout、setInterval文件操作其它宏任务 ② 微任务(microtask) Promise.then…...

使用WebSocket、SockJS、STOMP实现消息实时通讯功能
客户端 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"> <html> <head><title>websocket client</title><script src"http://cdn.bootcss.com/sockjs-client/1.1.1/sockjs.min.js"></script>…...

C++回顾(十一)—— 动态类型识别和抽象类
11.1 动态类识别 11.1.1 自定义类型 C中的多态根据实际的对象类型调用对应的函数 (1)可以在基类中定义虚函数返回具体的类型信息 (2)所有的派生类都必须实现类型相关的虚函数 (3)每个类中的类型虚函数都需…...

雷电模拟器安卓7以上+Charles抓包APP最新教程
一、工具准备: 证书安装工具全局代理工具下载: https://download.csdn.net/download/weixin_51111267/87536481 二、Charles设置 (一)电脑上证书安装 (二)安卓模拟器上系统证书安装(RooT权限打…...
vsvode 配置sftp,连接远程linux全过程
在本地安装sftp插件,配置参数https://blog.csdn.net/u011119817/article/details/106630599在linux机台安装vscode-service服务https://zhuanlan.zhihu.com/p/294933020连接超时,将配置文件添加超时时间遇到的错误处理:(272条消息) 【vscode插…...
C++类转换为蓝图、打印日志、蓝图关卡、删除C++文件
蓝图宏 UCLASS(Blueprintable)//c脚本可转换为蓝图 UPROPERTY(BlueprintReadWrite)//蓝图中可创建set,get节点 UFUNCTION(BlueprintCallable)//可创建函数节点 UPROPERTY(BlueprintReadWrite,Category”My Variables”)//节点进行分类打印日志 UE_LOG(LogTemp, Lo…...

elasticsearch高级篇:核心概念和实现原理
1.elasticsearch核心概念1.1 索引(index)一个索引就是一个拥有几分相似特征的文档的集合。比如说,你可以有一个客户数据的索引,另一个产品目录的索引,还有一个订单数据的索引。一个索引由一个名字来标识(必须全部是小写字母&#…...

部署安装Nginx服务实例
其他服务: 搭建zabbix4.0监控服务实例 普罗米修斯监控mysql数据库实战 Linux安装MySQL数据库步骤 一. Nginx概念介绍 1.介绍Nginx程序 Nginx (engine x) 是一款开源且高性能的HTTP和反向代理web服务器,同时也提供了IMAP/POP3/SMTP服务。主要特点是占用…...

云原生架构设计原则及典型技术
云原生是面向云应用设计的一种思想理念,充分发挥云效能的最佳实践路径,帮助企业构建弹性可靠、松耦合、易管理可观测的应用系统,提升交付效率,降低运维复杂度。代表技术包括不可变基础设施、服务网格、声明式 API 及 Serverless 等…...

【Linux】-- 工具介绍 vim_gcc/g++_gdb
目录 Linux中的软件管理工具 – yum 在Linux下安装软件的方式 认识yum 查找软件包 安装 卸载 lrzsz.x86_64 rz sz Linux中的编辑器 – vim vim的基本概念 vim各模式切换 vim命令模式命令 vim底行模式命令 gcc / g gcc / g的作用 gcc / g语法 预处理 编译 汇…...
Vue记事本应用实现教程
文章目录 1. 项目介绍2. 开发环境准备3. 设计应用界面4. 创建Vue实例和数据模型5. 实现记事本功能5.1 添加新记事项5.2 删除记事项5.3 清空所有记事 6. 添加样式7. 功能扩展:显示创建时间8. 功能扩展:记事项搜索9. 完整代码10. Vue知识点解析10.1 数据绑…...
设计模式和设计原则回顾
设计模式和设计原则回顾 23种设计模式是设计原则的完美体现,设计原则设计原则是设计模式的理论基石, 设计模式 在经典的设计模式分类中(如《设计模式:可复用面向对象软件的基础》一书中),总共有23种设计模式,分为三大类: 一、创建型模式(5种) 1. 单例模式(Sing…...
ES6从入门到精通:前言
ES6简介 ES6(ECMAScript 2015)是JavaScript语言的重大更新,引入了许多新特性,包括语法糖、新数据类型、模块化支持等,显著提升了开发效率和代码可维护性。 核心知识点概览 变量声明 let 和 const 取代 var…...
OkHttp 中实现断点续传 demo
在 OkHttp 中实现断点续传主要通过以下步骤完成,核心是利用 HTTP 协议的 Range 请求头指定下载范围: 实现原理 Range 请求头:向服务器请求文件的特定字节范围(如 Range: bytes1024-) 本地文件记录:保存已…...

微信小程序云开发平台MySQL的连接方式
注:微信小程序云开发平台指的是腾讯云开发 先给结论:微信小程序云开发平台的MySQL,无法通过获取数据库连接信息的方式进行连接,连接只能通过云开发的SDK连接,具体要参考官方文档: 为什么? 因为…...

2025季度云服务器排行榜
在全球云服务器市场,各厂商的排名和地位并非一成不变,而是由其独特的优势、战略布局和市场适应性共同决定的。以下是根据2025年市场趋势,对主要云服务器厂商在排行榜中占据重要位置的原因和优势进行深度分析: 一、全球“三巨头”…...

C++:多态机制详解
目录 一. 多态的概念 1.静态多态(编译时多态) 二.动态多态的定义及实现 1.多态的构成条件 2.虚函数 3.虚函数的重写/覆盖 4.虚函数重写的一些其他问题 1).协变 2).析构函数的重写 5.override 和 final关键字 1&#…...
CSS | transition 和 transform的用处和区别
省流总结: transform用于变换/变形,transition是动画控制器 transform 用来对元素进行变形,常见的操作如下,它是立即生效的样式变形属性。 旋转 rotate(角度deg)、平移 translateX(像素px)、缩放 scale(倍数)、倾斜 skewX(角度…...
jmeter聚合报告中参数详解
sample、average、min、max、90%line、95%line,99%line、Error错误率、吞吐量Thoughput、KB/sec每秒传输的数据量 sample(样本数) 表示测试中发送的请求数量,即测试执行了多少次请求。 单位,以个或者次数表示。 示例:…...
Caliper 负载(Workload)详细解析
Caliper 负载(Workload)详细解析 负载(Workload)是 Caliper 性能测试的核心部分,它定义了测试期间要执行的具体合约调用行为和交易模式。下面我将全面深入地讲解负载的各个方面。 一、负载模块基本结构 一个典型的负载模块(如 workload.js)包含以下基本结构: use strict;/…...