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

在这里插入图片描述


文章标题

  • 简介
  • 一,参数列表
  • 二,使用介绍
    • 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.hqwc.cn/news/70150.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

BTC硬币已实现价格分布

号外&#xff1a;刘教链新作&#xff0c;欢迎点击阅读&#xff1a; 公众号「刘教链内参」8.16发表&#xff1a;《内参&#xff1a;Vitalik亲口承认几乎所有二层roll-up都有后门》。 公众号「刘教链Pro」8.16发表&#xff1a;《作为投资组合保险的比特币》。 * * * * * * 熟悉比…

Ubuntu安装Apache+Php

环境&#xff1a;ubuntu 22.04 虚拟机 首先更新一下 sudo apt-get update sudo apt-get upgrade安装Apache2&#xff1a; sudo apt-get install apache2 输入y&#xff0c;继续。等着他恐龙抗浪抗浪的下载安装就好了 打开浏览器访问http://localhost/ 安装php&#xff1a; …

TCP/IP协议追层分析物理层(第三十九课)

TCP/IP协议追层分析物理层(第三十九课) 1 物理层:建立、维护、断开物理连接,定义了接口及介质,实现了比特流的传输。 1、传输介质分类 有线介质:网线(双绞线)、光纤 无线介质:无线电 微波 激光 红外线 2、双绞线分类: 五类cat5: 适用于100Mbps 超五类cat5e:适用于…

easyx图形库基础4:贪吃蛇

贪吃蛇 一实现贪吃蛇&#xff1a;1.绘制网格&#xff1a;1.绘制蛇&#xff1a;3.控制蛇的默认移动向右&#xff1a;4.控制蛇的移动方向&#xff1a;5.生成食物6.判断蛇吃到食物并且长大。7.判断游戏结束&#xff1a;8.重置函数&#xff1a; 二整体代码&#xff1a; 一实现贪吃蛇…

Vim的插件管理器之Vundle

1、安装Vundle插件管理器 Vim可以安装插件&#xff0c;但是需要手动安装比较麻烦&#xff0c;Vim本身没有提供插件管理器&#xff0c;所以会有很多的第三方的插件管理器&#xff0c;有一个vim的插件叫做 “vim-easymotion”&#xff0c;在它的github的安装说明里有列出对于不同…

【第二阶段】kotlin的函数类型作为返回类型

fun main() {//调用,返回的是一个匿名类型&#xff0c;所以info就是一个匿名函数val infoshow("",0)//info接受的返回值为匿名类型&#xff0c;此时info就是一个匿名函数println(info("kotlin",20)) }//返回类型为一个匿名函数的返回类型fun show(name:Str…

深度学习从入门到实际项目资料汇总

图片来源于AiLake&#xff0c;如若侵权&#xff0c;请联系博主删除 文章目录 1. 介绍2. 深度学习相关学习资料2.1 [《动手学深度学习》](http://zh.d2l.ai/index.html)2.2 [导航文库](https://docs.apachecn.org/#1be32667e7914f03afb3c39239bd2525)2.3 [AI学习地图&#xff0c…

时序预测 | MATLAB实现基于CNN-BiLSTM卷积双向长短期记忆神经网络的时间序列预测-递归预测未来(多指标评价)

时序预测 | MATLAB实现基于CNN-BiLSTM卷积双向长短期记忆神经网络的时间序列预测-递归预测未来(多指标评价) 目录 时序预测 | MATLAB实现基于CNN-BiLSTM卷积双向长短期记忆神经网络的时间序列预测-递归预测未来(多指标评价)预测结果基本介绍程序设计参考资料 预测结果 基本介绍…

VGG分类实战:猫狗分类

关于数据集 数据集选择的是Kaggle上的Cat and Dog&#xff0c;猫狗图片数量上达到了上万张。你可以通过这里进入Kaggle下载数据集Cat and Dog | Kaggle。 在我的Github仓库当中也放了猫狗图片各666张。 VGG网络 VGG的主要特点是使用了一系列具有相同尺寸 3x3 大小的卷积核进…

AgentBench:AI智能体的应用前景——生产端的应用

生产端的应用 相比于消费端,AI智能体作为生产力工具的潜力则更为巨大。在现实中,很多工作需要专业化的数据作为支撑,通用化大模型显然不能胜任,这就给专用型的AI智能体留下了空间。在实践中,人们已经用大模型训练了不少专用的AI智能体。比如,不久前北京大学团队发行了一…

【hadoop】windows上hadoop环境的搭建步骤

文章目录 前言基础环境下载hadoop安装包下载hadoop在windows中的依赖配置环境变量 Hadoop hdfs搭建创建hadfs数据目录修改JAVA依赖修改配置文件初始化hdfs namenode启动hdfs 前言 在大数据开发领域中&#xff0c;不得不说说传统经典的hadoop基础计算框架。一般我们都会将hadoo…

Data Abstract for .NET and Delphi Crack

Data Abstract for .NET and Delphi Crack .NET和Delphi的数据摘要是一套或RAD工具&#xff0c;用于在.NET、Delphi和Mono中编写多层解决方案。NET和Delphi的数据摘要是一个套件&#xff0c;包括RemObjects.NET和Delphi版本的数据摘要。RemObjects Data Abstract允许您创建访问…