Linux下 tar 命令详解
一、tar 命令概述
Tar(Tape ARchive,磁带归档的缩写,LCTT 译注:最初设计用于将文件打包到磁带上,现在我们大都使用它来实现备份某个分区或者某些重要的目录)。
tar 是类 Unix 系统中广泛使用的命令,用于归档多个文件或目录到单个归档文件中,并且归档文件可以进一步使用 gzip 或者 bzip2 等技术进行压缩。换言之,tar 命令也可以用于备份:先是归档多个文件和目录到一个单独的 tar 文件或归档文件,然后在需要之时将 tar 文件中的文件和目录释放出来。
tar 命令语法如下:
# tar <选项> <文件>
下面详细介绍 tar 命令的选项。
tar 命令选项划分成不同的操作,其中包括一般选项和压缩选项。下表列出了常用选项、选项的长版本及说明:
tar 操作选项
tar 命令需要以下三个选项之一:
| 选项 | 描述 |
|---|---|
| - c 、-- create | 创建一个新存档 |
| - x、-- extract | 从现有存档提取 |
| - t 、-- list | 列出存档的目录 |
所选的 tar 一般选项
| 选项 | 描述 |
|---|---|
| - v 、-- verbose | 详细信息,显示存档或提取的文件有哪些 |
| - f、-- file= | 文件名,此选项必须后接要使用或创建的存档的文件名 |
| - p、-- preserve-permissions | 在提取存档是保留文件和目录的权限,而不去除umask |
tar 压缩选项
| 选项 | 描述 |
|---|---|
| - z 、-- gzip | 使用gzip压缩方式(.tar.gz) |
| - j、-- bzip2 | 使用bzip2压缩方式(.tar.bzip2), bzip2的压缩率通常比gzip高 |
| - J 、-- xz | 使用xz压缩方式(.tar.xz),xz的压缩率通常比bzip2更高 |
二、归档文件和目录
创建新归档语法:
create -cf 要创建的存档文件名 要添加到该归档文件的文件和目录列表
举例如下:
-- 将file1、 file2、 file3归档到 archive.tar
# tar -cf archive.tar file1 file2 file3 --查看归档文件
# ls archive.tar
以上tar命令也可以使用长版本选项执行:
# tar --file=archive.tar --create file1 file2 file3
要使tar能够归档选定的文件,执行tar命令的用户必须要可以读取这些文件。
注意:
在创建tar存档之前,请先验证目录中没有其他存档与要创建的新存档名称相同。
tar命令将覆盖现有的存档而不是提供警告。
三、列出存档的内容
列出存档内容语法:
# tar -tf 存档名称
举例如下:
--查看 /root目录下归档文件etc.tar包含的内容
# tar -tf /root/etc.tar
四、从存档中提取文件
tar命令相对于当前目录提取文件,举例如下:
--将 /root/etc.tar文档中的文件恢复到/root/etcbackup目录
# mkdir /root/etcbackup
# cd /root/etcbackup
# tar -xf /root/etc.tar
说明:
tar存档通常应当提取到空目录中,以确保不会覆盖任何现有的文件。
当root提取存档时,tar命令会保留文件的原始用户和组所有权。
如果普通用户使用tar提取文件,文件所有权将属于从存档中提取文件的用户。
默认情况下,从存档提取文件时,将从存档内容的权限中去除umask。要保留存档文件的权限,可在提取存档时使用p选项。
在上例中,若要在提取 /root/etc.tar文档内容时保留所提取文件的权限,可执行如下命令:
# tar -xpf /root/etc.tar
五、创建压缩存档
tar命令支持三种压缩方式:gzip、bzip2、xz ,下面将依次举例。
示例1:创建gzip压缩存档/root/etcbackup.tar.gz ,其内容来自host上的/etc目录
# tar -czf /root/etcbackup.tar.gz /etc
示例2:创建bzip2压缩存档/root/logbackup.tar.bz2 ,其内容来自host上的/var/log目录
# tar -cjf /root/logbackup.tar.bzip2 /var/log
示例3:创建xz压缩存档/root/sshbackup.tar.xz ,其内容来自host上的/etc/ssh目录
# tar -cJf /root/sshbackup.tar.xz /etc/ssh
六、提取压缩的存档
tar命令会判断之前使用的压缩方式。因此通常不需要使用在创建文档时所用的同一压缩选项。
可以在tar命令中添加解压缩方式,但必须使用正确的解压缩类型选项,否则tar会生成错误来指出选项中指定的解压缩类型与文件的解压缩类型不匹配。
示例1:将gzip压缩存档/root/etcbackup.tar.gz 的内容提取到/tmp/etcbackup目录
# mkdir /tmp/etcbackup
# cd /tmp/etcbackup
# tar -xzf /root/etcbackup.tar.gz /etc
示例2:将bzip2压缩存档/root/logbackup.tar.bz2 的内容提取到/tmp/logbackup目录
# mkdir /tmp/logbackup
# cd /tmp/logbackup
# tar -xjf /root/logbackup.tar.bzip2 /tmp/logbackup
示例3:将xz压缩存档/root/sshbackup.tar.xz 的内容提取到/tmp/sshbackup目录
# tar -xJf /root/sshbackup.tar.xz /tmp/sshbackup
七、单个文档的压缩与解压缩
gzip、bzip2、xz可单独用于压缩单个文件,举例如下:
--以gzip方式压缩文件etc.tar,会生成压缩文件 etc.tar.gz
# gzip etc.tar--以bzip2方式压缩文件abc.tar,会生成压缩文件 abc.tar.bz2
# bzip2 abc.tar--以xz方式压缩文件log.tar,会生成压缩文件 log.tar.xz
# xz log.tar
对应的解压缩命令如下:
-- 将生成解压缩文件etc.tar
# gunzip etc.tar.gz--将生成解压缩文件abc.tar
# bunzip2 abc.tar.bz2--将生成解压缩文件 log.tar
# unxz log.tar.zx
相关文章:
Linux下 tar 命令详解
一、tar 命令概述 Tar(Tape ARchive,磁带归档的缩写,LCTT 译注:最初设计用于将文件打包到磁带上,现在我们大都使用它来实现备份某个分区或者某些重要的目录)。 tar 是类 Unix 系统中广泛使用的命令&#x…...
SQL单表复杂查询where、group by、order by、limit
1.1SQL查询代码如下: select job as 工作类别,count(job) as 人数 from tb_emp where entrydate <2015-01-01 group by job having count(job) > 2 order by count(job) limit 1,1where entrydate <‘2015-01-01’ 表示查询日期小于2015-01-01的记录…...
安卓中轻量级数据存储方案分析探讨
轻量级数据存储功能通常用于保存应用的一些常用配置信息,并不适合需要存储大量数据和频繁改变数据的场景。应用的数据保存在文件中,这些文件可以持久化地存储在设备上。需要注意的是,应用访问的实例包含文件所有数据,这些数据会一…...
数据结构【DS】栈的应用
描述一下如何实现括号匹配? 初始时栈为空。 从左往右遍历算术表达式中的每个括号元素: ①当遍历到左括号时,将其压入栈顶。 ②当遍历到右括号时,将栈顶元素出栈,并判断出栈的左括号与当前遍历的右括号是否匹配&…...
大数据数仓建模基础理论【维度表、事实表、数仓分层及示例】
文章目录 什么是数仓仓库建模?ER 模型三范式 维度建模事实表事实表类型 维度表维度表类型 数仓分层ODS 源数据层ODS 层表示例 DWD 明细数据层DWD 层表示例 DIM 公共维度层DIM 层表示例 DWS 数据汇总层DWS 层表数据 ADS 数据应用层ADS 层接口示例 数仓分层的优势 什么…...
FlinkCDC数据实时同步Mysql到ES
考大家一个问题,如果想要把数据库的数据同步到别的地方,比如es,mongodb,大家会采用哪些方案呢? ::: 定时扫描同步? 实时日志同步? 定时同步是一个很好的方案,比较简单,但是如果对实时要求比较高的话,定…...
【Feign】 基于 Feign 远程调用、 自定义配置、性能优化、实现 Feign 最佳实践
🐌个人主页: 🐌 叶落闲庭 💨我的专栏:💨 SpringCloud MybatisPlus JVM 石可破也,而不可夺坚;丹可磨也,而不可夺赤。 Feign 一、 基于 Feign 远程调用1.1 RestTemplate方式…...
小迪安全笔记(3)——基础入门3、基础入门4
文章目录 一、抓包&封包&协议&APP&小程序&PC应用&web应用二、30余种加密编码进制&web&数据库&系统&代理 一、抓包&封包&协议&APP&小程序&PC应用&web应用 APP&小程序&PC抓包HTTP/S数据——Charles、F…...
SOME/IP 协议介绍(六)接口设计的兼容性规则
接口设计的兼容性规则(信息性) 对于所有序列化格式而言,向较新的服务接口的迁移有一定的限制。使用一组兼容性规则,SOME / IP允许服务接口的演进。可以以非破坏性的方式进行以下添加和增强: • 向服务中添加新方法 …...
吴恩达《机器学习》8-5->8-6:特征与直观理解I、样本与值观理解II
8.5、特征与直观理解I 一、神经网络的学习特性 神经网络通过学习可以得出自身的一系列特征。相对于普通的逻辑回归,在使用原始特征 x1,x2,...,xn 时受到一定的限制。虽然可以使用一些二项式项来组合这些特征,但仍然受到原始特征的限制。在神经网…...
『亚马逊云科技产品测评』活动征文|借助AWS EC2搭建服务器群组运维系统Zabbix+spug
授权声明:本篇文章授权活动官方亚马逊云科技文章转发、改写权,包括不限于在 Developer Centre, 知乎,自媒体平台,第三方开发者媒体等亚马逊云科技官方渠道。 本文基于以下软硬件工具: aws ec2 frp-0.52.3 zabbix 6…...
文件转换,简简单单,pdf转word,不要去找收费的了,自己学了之后免费转,之后就复制粘贴就ok了
先上一个链接pdf转word文件转换 接口层 PostMapping("pdfToWord")public String pdfToWord(RequestParam("file") MultipartFile file) throws IOException {String fileName FileExchangeUtil.pdfToWord(file.getInputStream(),file.getName());return…...
Jmeter——循环控制器中实现Counter计数器的次数重置
近期在使用Jmeter编写个辅助测试的脚本,用到了多个Loop Controller和Counter。 当时想的思路就是三个可变的数量值,使用循环实现;但第三个可变值的数量次数,是基于第二次循环中得到的结果才能确认最终次数,每次的结果…...
[创业之路-85]:IT创业成功老板的品质、创业失败老板的特征、成功领导者的品质、失败管理者的特征
目录 前言: 一、创业成功老板的品质 二、创业失败老板的特征 三、成功领导者的品质 四、失败管理者的特征 前言: 大多数创业或职场共事,都是基于某种人际关系或所谓的感情,这是大数的职场众生相,也是人情社会的中…...
警惕.360勒索病毒,您需要知道的预防和恢复方法。
引言: 网络威胁的演变无常,.360勒索病毒作为一种新兴的勒索软件,以其狡猾性备受关注。本文将深入介绍.360勒索病毒的特点,提供解决方案以恢复被其加密的数据,并分享一系列强化网络安全的预防措施。如果您在面对被勒索…...
人力资源小程序
人力资源管理对于企业的运营至关重要,而如今随着科技的发展,制作一个人力资源小程序已经变得非常简单和便捷。在本文中,我们将为您介绍如何通过乔拓云网制作一个人力资源小程序,只需五个简单的步骤。 第一步:注册登录乔…...
【多线程 - 10、线程同步3 ThreadLocal】
一、ThreadLocal 1、介绍 可以实现资源对象的线程隔离;可以实现了线程内的资源共享 如果使用 ThreadLocal 管理变量,则每一个使用该变量的线程都获得该变量的副本, 副本之间相互独立,这样每一个线程都可以随意修改自己的变量副本…...
【Flink 问题集】The generic type parameters of ‘Collector‘ are missing
错误展示: Exception in thread "main" org.apache.flink.api.common.functions.InvalidTypesException: The return type of function main(CollectionDemo.java:33) could not be determined automatically, due to type erasure. You can give type in…...
数据分析—将txt文件转为csv文件;将csv文件转为xls文件
txt文件转为csv文件转化代码: import csv# 输入txt文件路径 txt_file rC:\Users\ZARD\Desktop\daily-min-temperatures.txt# 输出csv文件路径 csv_file rC:\Users\ZARD\Desktop\daily-min-temperatures.csv# 打开txt文件以读取数据 with open(txt_file, r) as tx…...
【算法】二分查找-20231120
这里写目录标题 一、75. 颜色分类二、80. 删除有序数组中的重复项 II三、125. 验证回文串四、189. 轮转数组 一、75. 颜色分类 提示 中等 给定一个包含红色、白色和蓝色、共 n 个元素的数组 nums ,原地对它们进行排序,使得相同颜色的元素相邻ÿ…...
Flask RESTful 示例
目录 1. 环境准备2. 安装依赖3. 修改main.py4. 运行应用5. API使用示例获取所有任务获取单个任务创建新任务更新任务删除任务 中文乱码问题: 下面创建一个简单的Flask RESTful API示例。首先,我们需要创建环境,安装必要的依赖,然后…...
三维GIS开发cesium智慧地铁教程(5)Cesium相机控制
一、环境搭建 <script src"../cesium1.99/Build/Cesium/Cesium.js"></script> <link rel"stylesheet" href"../cesium1.99/Build/Cesium/Widgets/widgets.css"> 关键配置点: 路径验证:确保相对路径.…...
uni-app学习笔记二十二---使用vite.config.js全局导入常用依赖
在前面的练习中,每个页面需要使用ref,onShow等生命周期钩子函数时都需要像下面这样导入 import {onMounted, ref} from "vue" 如果不想每个页面都导入,需要使用node.js命令npm安装unplugin-auto-import npm install unplugin-au…...
Linux简单的操作
ls ls 查看当前目录 ll 查看详细内容 ls -a 查看所有的内容 ls --help 查看方法文档 pwd pwd 查看当前路径 cd cd 转路径 cd .. 转上一级路径 cd 名 转换路径 …...
linux arm系统烧录
1、打开瑞芯微程序 2、按住linux arm 的 recover按键 插入电源 3、当瑞芯微检测到有设备 4、松开recover按键 5、选择升级固件 6、点击固件选择本地刷机的linux arm 镜像 7、点击升级 (忘了有没有这步了 估计有) 刷机程序 和 镜像 就不提供了。要刷的时…...
现代密码学 | 椭圆曲线密码学—附py代码
Elliptic Curve Cryptography 椭圆曲线密码学(ECC)是一种基于有限域上椭圆曲线数学特性的公钥加密技术。其核心原理涉及椭圆曲线的代数性质、离散对数问题以及有限域上的运算。 椭圆曲线密码学是多种数字签名算法的基础,例如椭圆曲线数字签…...
WordPress插件:AI多语言写作与智能配图、免费AI模型、SEO文章生成
厌倦手动写WordPress文章?AI自动生成,效率提升10倍! 支持多语言、自动配图、定时发布,让内容创作更轻松! AI内容生成 → 不想每天写文章?AI一键生成高质量内容!多语言支持 → 跨境电商必备&am…...
精益数据分析(97/126):邮件营销与用户参与度的关键指标优化指南
精益数据分析(97/126):邮件营销与用户参与度的关键指标优化指南 在数字化营销时代,邮件列表效度、用户参与度和网站性能等指标往往决定着创业公司的增长成败。今天,我们将深入解析邮件打开率、网站可用性、页面参与时…...
Web 架构之 CDN 加速原理与落地实践
文章目录 一、思维导图二、正文内容(一)CDN 基础概念1. 定义2. 组成部分 (二)CDN 加速原理1. 请求路由2. 内容缓存3. 内容更新 (三)CDN 落地实践1. 选择 CDN 服务商2. 配置 CDN3. 集成到 Web 架构 …...
嵌入式学习笔记DAY33(网络编程——TCP)
一、网络架构 C/S (client/server 客户端/服务器):由客户端和服务器端两个部分组成。客户端通常是用户使用的应用程序,负责提供用户界面和交互逻辑 ,接收用户输入,向服务器发送请求,并展示服务…...
