【Linux命令详解 | tar命令】 tar命令用于打包和解压文件,常用于备份和压缩文件

news2024/9/24 7:13:49

在这里插入图片描述


文章标题

  • 简介
  • 一,参数列表
  • 二,使用介绍
    • 1. 打包文件和目录
    • 2. 解包归档文件
    • 3. 压缩归档文件
    • 4. 列出归档文件内容
    • 5. 排除特定文件
    • 6. 保留文件权限和所有权
    • 7. 保留时间戳
    • 8. 增量备份
    • 9. 使用文件列表
    • 10. 压缩级别控制
  • 总结


简介

在Linux中,tar命令是一个常用的工具,用于打包和解压文件。它在文件管理、备份和压缩方面扮演着重要角色。tar(tape archive)最初是为磁带设备设计的,但现在已经成为文件操作的标准工具之一。它能够将一组文件和目录打包成单个归档文件,也可以从归档文件中提取出文件和目录。通过结合不同的选项,你可以在tar命令中实现广泛的功能。

一,参数列表

下表列出了tar命令的一些常用参数及其功能:

参数功能
-c创建新的归档文件(打包)
-x从归档文件中提取文件(解包)
-f <文件名>指定归档文件名
-v显示操作的详细信息
-z通过gzip压缩归档文件
-j通过bzip2压缩归档文件
-C <目录>切换到指定目录
--exclude=<模式>排除匹配模式的文件
--list列出归档文件的内容
--help显示帮助信息

二,使用介绍

1. 打包文件和目录

使用tar命令打包文件和目录很简单。要创建一个归档文件,可以使用参数-c-f,然后指定归档文件名。例如,要将/home/user/documents目录打包成一个文件,可以运行以下命令:

tar -cf documents.tar /home/user/documents

这将创建一个名为documents.tar的归档文件,其中包含了/home/user/documents目录下的所有内容。

2. 解包归档文件

要从归档文件中提取文件,可以使用参数-x-f,然后指定归档文件名。例如,要将documents.tar解包到当前目录,可以运行以下命令:

tar -xf documents.tar

这将把documents.tar中的内容提取到当前目录。

3. 压缩归档文件

tar命令还可以与压缩工具一起使用,以创建压缩的归档文件。常见的压缩选项有-z(使用gzip压缩)和-j(使用bzip2压缩)。例如,要创建一个gzip压缩的归档文件,可以运行以下命令:

tar -czf documents.tar.gz /home/user/documents

这将创建一个名为documents.tar.gz的压缩归档文件。

4. 列出归档文件内容

你可以使用--list参数来列出归档文件中的内容,而无需实际提取它们。例如:

tar --list -f documents.tar

这将显示出documents.tar中包含的所有文件和目录列表。

5. 排除特定文件

有时候你可能想要在打包时排除特定文件或目录,以避免将其包含在归档中。你可以使用--exclude参数指定要排除的文件或目录的模式。例如,要打包/home/user/documents目录,但排除所有.txt文件,可以运行以下命令:

tar -cf documents.tar --exclude='*.txt' /home/user/documents

这将创建一个归档文件,其中排除了所有.txt文件。

当然,接下来我们将继续探讨tar命令的一些高级用法和更深入的知识点。

6. 保留文件权限和所有权

在创建归档文件时,有时你可能希望保留原始文件的权限和所有权信息。这可以通过参数--preserve-permissions实现。例如,要创建一个保留权限和所有权的归档文件,可以运行以下命令:

tar --preserve-permissions -cf documents.tar /home/user/documents

这将创建一个归档文件,其中包含了/home/user/documents目录下的所有内容,并保留了原始文件的权限和所有权。

7. 保留时间戳

类似地,你也可以通过参数--atime-preserve来保留文件的访问时间戳。这在某些情况下可能很有用,例如备份目的。以下是一个示例:

tar --atime-preserve -cf backup.tar /path/to/backup

这将创建一个归档文件,其中包含了/path/to/backup目录下的内容,并保留了文件的访问时间戳。

8. 增量备份

使用tar命令进行增量备份是一个常见的用例。增量备份只备份自上次备份以来发生更改的文件,这可以节省时间和存储空间。要创建增量备份,你可以结合使用--listed-incremental参数和一个状态文件。以下是一个示例:

tar --create --file=backup-$(date +%Y%m%d).tar --listed-incremental=backup.snar /path/to/backup

这将创建一个带有日期后缀的增量备份归档文件,并使用backup.snar文件来跟踪文件状态。

9. 使用文件列表

有时候,你可能希望从一个文件列表中读取要包含在归档中的文件和目录。这可以通过参数--files-from实现。例如,如果你有一个包含文件列表的files.txt文件,可以运行以下命令:

tar -cf backup.tar --files-from=files.txt

这将根据files.txt中列出的路径创建一个归档文件。

10. 压缩级别控制

对于需要更多控制的情况,你可以使用不同的压缩级别来平衡压缩速度和压缩率。例如,对于gzip压缩,你可以使用参数-z的同时指定不同的压缩级别(1-9)。压缩级别越高,压缩率越高,但耗时也越长。以下是一个示例:

tar -czvf documents.tar.gz -9 /home/user/documents

这将以最高压缩级别(9)创建gzip压缩的归档文件。

总结

tar命令是一个强大且多功能的工具,用于在Linux系统中创建、提取和管理归档文件。通过不同的选项和参数,你可以实现不同的功能,包括打包、解包、压缩、保留权限和时间戳,以及创建增量备份等。理解tar命令的使用方法和选项,将有助于你更有效地管理文件和目录,以及进行系统备份和维护。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/890525.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

游戏出海工具都有哪些?

游戏出海是一个复杂的过程&#xff0c;需要运用多种工具来进行市场分析、推广、本地化等工作。以下是一些常用的游戏出海工具&#xff1a; 一、必备工具&#xff1a; 1、游戏平台&#xff1a;要想进行游戏出海运营&#xff0c;游戏平台时必不可少的&#xff0c;选择游戏平台时…

一节网课中有哪些“黑科技”,猿辅导给出了这样的答案

近年来&#xff0c;AI正以润物细无声的方式重塑多个行业的面貌&#xff0c;教育行业也不例外。同时&#xff0c;随着Chat GPT对社会带来的冲击不断加强&#xff0c;AI教育已经成为整个行业不可逆转的趋势。作为最早踏入智能教育领域的企业之一&#xff0c;猿辅导深谙技术革新对…

如何正确使用生成式 AI?

推荐&#xff1a;使用 NSDT场景编辑器 助你快速搭建可二次编辑的3D应用场景 在过去几年中&#xff0c;数据的创建速度呈指数级增长&#xff0c;这主要意味着数字世界的日益扩散。 估计吧&#xff1f;仅在过去两年中&#xff0c;世界上90%的数据就产生了。 我们以各种形式与互…

Android 命令行如何运行 JAR 文件

​ 最近有位老哥问了一个问题&#xff0c;说如果将java的jar文件在Android中执行&#xff1f;这个其实很简单的一个问题&#xff0c;直接写个App放里面不就可以了么&#xff1f;但是人家说没有App&#xff0c;直接使用命令行去运行。说明这个需求的时候&#xff0c;把我给整懵了…

人尽其才、数尽其用,Smartbi Eagle智慧数据运营平台全新亮相

数据是企业数字化转型的基石&#xff0c;也是赢得未来的核心资产和竞争力。数字化转型的关键&#xff0c;是在全公司建立一种数据驱动的组织和机制&#xff0c;营造数据文化的氛围&#xff0c;让更多的用户、在更多的场景中&#xff0c;有意愿、有能力使用数据&#xff0c;从而…

COMSOL光电仿真专题第三十五期线上通知

培训背景&#xff1a; COMSOL多物理场仿真软件以高效的计算性能和杰出的多场耦合分析能力实现了精确的数值仿真&#xff0c;已被广泛应用于各个领域的科学研究以及工程计算&#xff0c;为工程界和科学界解决了复杂的多物理场建模问题。光电作为物理类专业课程中极为重要的一部…

Jmeter 快速生成测试报告

我们使用Jmeter工具进行接口测试或性能测试后一般是通过察看结果数、聚合报告等监听器来查看响应结果。如果要跟领导汇报测试结果&#xff0c;无法直接通过监听器的结果来进行展示和汇报&#xff0c;因为太low了&#xff0c;因此测试完成后去整理一个数据齐全且美观的报告是非常…

OSM模型案例:以游戏陪练app为例

OSM模型的概念 O指目标Objective&#xff1a;整个业务、乃至局部的小功能 能解决什么问题&#xff0c;提供什么样的用户价值&#xff0c;满足用户什么需求&#xff1f; S指策略Strategy&#xff1a;如何达成目标&#xff0c;以什么方式达成目标&#xff1f; M指度量Measure&…

RabbitMq-发布确认高级(避坑指南版)

在初学rabbitMq的时候&#xff0c;伙伴们肯定已经接触到了“发布确认”的概念&#xff0c;但是到了后期学习中&#xff0c;会接触到“springboot”中使用“发布确认”高级的概念。后者主要是解决什么问题呢&#xff1f;或者是什么样的场景引出这样的概念呢&#xff1f; 在生产环…

前端原生写自定义旋转变换轮播图

html部分&#xff1a; <div class"banner_box"><div class"swiperWrapper" v-show"bannerList.length>0"><div class"swiper-item" :id"swiperSlide${index}" :class"{active:index0,next:index1,pr…

耗资170亿美元?三星电子在得克萨斯州建设新的半导体工厂

据报道&#xff0c;三星电子在得克萨斯州泰勒市建设的新的半导体工厂预计将于2024年下半年投入运营。这座工厂将成为三星电子在美国的第二座芯片代工厂&#xff0c;与位于得克萨斯州奥斯汀市的第一座工厂相距不远。 此次投资将耗资约170亿美元&#xff0c;显示了三星电子在半导…

Linux驱动之利用ioctl函数和字符设备驱动对象分布注册点亮小灯

实验结果 头文件代码 #ifndef __HEAD_H__ #define __HEAD_H__ typedef struct{unsigned int MODER;unsigned int OTYPER;unsigned int OSPEEDR;unsigned int PUPDR;unsigned int IDR;unsigned int ODR; }gpio_t; #define PHY_LED1_ADDR 0X50006000 #define PHY_LED2_ADDR 0X5…

激活函数总结(十一):激活函数补充(Absolute、Bipolar、Bipolar Sigmoid)

激活函数总结&#xff08;十一&#xff09;&#xff1a;激活函数补充 1 引言2 激活函数2.1 Absolute激活函数2.2 Bipolar激活函数2.3 Bipolar Sigmoid激活函数 3. 总结 1 引言 在前面的文章中已经介绍了介绍了一系列激活函数 (Sigmoid、Tanh、ReLU、Leaky ReLU、PReLU、Swish、…

多维时序 | MATLAB实现PSO-CNN-BiLSTM多变量时间序列预测

多维时序 | MATLAB实现PSO-CNN-BiLSTM多变量时间序列预测 目录 多维时序 | MATLAB实现PSO-CNN-BiLSTM多变量时间序列预测基本介绍模型特点程序设计参考资料 基本介绍 本次运行测试环境MATLAB2021b&#xff0c;MATLAB实现PSO-CNN-BiLSTM多变量时间序列预测。代码说明&#xff1a…

掌握渗透测试,从Web漏洞靶场搭建开始

渗透测试切忌纸上谈兵&#xff0c;学习渗透测试知识的过程中&#xff0c;我们通常需要一个包含漏洞的测试环境来进行训练。而在非授权情况下&#xff0c;对于网站进行渗透测试攻击&#xff0c;是触及法律法规的&#xff0c;所以我们常常需要自己搭建一个漏洞靶场&#xff0c;避…

【CUDA】学习记录(4)-线程束的执行

线程模型 block&#xff1a;同一个block内共享内存&#xff0c;同一block中的thread可以彼此进行通信。 block&#xff1a;block-local synchronization。同一个块内的线程可以同步。 线程&#xff0c;可以根据blockIdx和threadIdx唯一的指定。 作者&#xff1a;不会code的程序…

02-前端基础第二天-HTML5

01-HTML标签&#xff08;下&#xff09;导读 目标&#xff1a; 能够书写表格能够写出无序列表能够写出3~4个常用input表单类型能够写出下拉列表表单能够使用表单元素实现注册页面能够独立查阅W3C文档 目录&#xff1a; 表格标签列表标签表单标签综合案例查阅文档 02-表格标…

pygame第6课——贪吃蛇小游戏

今天我们开始Pygame的第六课&#xff0c;前几节课的内容在这里【点我】&#xff0c;欢迎大家前去考古&#xff1a; 今天我们一起来学习制作一个小游戏【贪吃蛇】&#xff0c;这是一个非常经典的小游戏&#xff0c;那么我们一起开始吧 1、游戏准备工作 import pygame, random,o…

常用激活函数及其优缺点的总结与比较

文章目录 1、sigmoid2、Tanh3、ReLU4、Leaky ReLU5、Softmax 1、sigmoid 优点&#xff1a;将很大范围内的输入特征值压缩到0~1之间&#xff0c;适用于将预测概率作为输出的模型&#xff1b; 缺点&#xff1a; 1&#xff09;当输入非常大或非常小的时候&#xff0c;容易导致梯度…

Hadoop的DataNode无法启动的解决方案

Hadoop重启一次&#xff0c;里面的数据需要重新导入&#xff0c;发现无法导入数据&#xff0c;查看jps发现是DataNode没有启动&#xff0c;重新启动发现也无法启动&#xff0c;原因是前面重新启动NameNode&#xff0c;里面的文件格式化一次&#xff0c;DataNode的文件不一致&am…