Linux 中的 tar 命令及实际示例

2023-10-17

tar 命令是 Linux 用户的必备工具,特别是对于那些使用大量文件的用户。 tar 命令允许您将多个文件组合成一个存档文件,还可以从存档中提取文件。在本文中,我们将为初学者提供有关 Linux 中 tar 命令基础知识的全面指南。

什么是 tar 命令?

tar 命令是“Tape ARchive”,这是 Linux 中流行的文件归档实用程序。 Tar 用于通过将多个文件和目录组合成一个文件来创建存档文件。然后可以压缩生成的存档文件以减小其大小并使其更容易通过网络传输。 tar 命令广泛用于备份目的,因为它允许您将多个文件和目录备份到单个存档文件中。

如何使用tar命令?

tar 命令的语法如下:

1
tar [OPTION]... [FILE]...

tar 命令使用的选项用于指定命令的行为。一些最常用的选项是:

  • -c: 创建存档
  • -v:详细模式(显示进度)
  • -x:从存档中提取文件
  • -f:指定归档文件的名称
  • -z:使用压缩存档文件gzip
  • -j:使用压缩存档文件bzip2
  • -J:使用压缩存档文件xz
  • -t:查看存档内容
  • -O:在标准输出上显示文件内容
  • -r:将文件追加到现有存档中
  • -C:定义目标目录
  • -W:验证存档文件

如何创建 tar 存档

使用以下示例创建不同格式的新存档文件,例如 .tar(简单存档文件)、.tar.gz(gzip 存档)、.tar.bz2(bzip2 存档文件)和 .tar.xz(xz 存档文件) )。

  1. 创建 tar 存档
  2. 要创建 tar 存档,请使用“c”选项,后跟“f”选项来指定存档文件的名称。例如,要从当前目录及其内容创建名为“example.tar”的存档文件,请使用以下命令:

    tar -cvf archive.tar /var/www 
    

  3. 创建 tar.gz 存档
  4. 要压缩 tar 存档,您可以使用“z”选项使用 gzip 压缩存档,或使用“j”选项使用 bzip2 压缩存档。例如,要从当前目录及其内容创建名为“example.tar.gz”的 gzip 压缩存档文件,请使用以下命令:

    tar -czf archive.tar.gz /var/www 
    

  5. 创建 tar.bz2 存档
  6. 将 /var/www 目录的所有内容压缩到 archive.tar.bz2 文件(包括所有子目录)。这比其他方法需要更多的时间来压缩,并提供上面的最高压缩文件。

    tar -cjf archive.tar.gz /var/www 
    

  7. 创建 tar.xz 存档
  8. 将 /var/www 目录的所有内容压缩到 archive.tar.xz 文件(包括所有子目录)。这比其他方法需要更多的时间来压缩,并提供上面的最高压缩文件。

    tar -cJf archive.tar.xz /var/www 
    

如何提取 tar 存档

要从 tar 存档中提取文件,请使用“-x” 选项后跟“-f”选项指定存档文件的名称。例如,要提取内容“存档.tar”,使用以下命令:

tar -xvf archive.tar 

同样,您可以从其他 tar 格式中提取内容,例如:

tar -xzf archive.tar.gz 
tar -xjf archive.tar.bz2 
tar -xJf archive.tar.xz 

如何列出 tar 存档的内容

要列出 tar 存档中的文件,您可以使用-t (or --list) tar 命令中的选项。例如,要列出名为的存档中的文件“存档.tar”,您可以使用以下命令:

tar -tvf archive.tar  

同样,您可以列出其他 tar 格式的内容,例如:

tar ztvf archive.tar.gz 
tar jtvf archive.tar.bz2 
tar Jtvf archive.tar.xz 

如何更新 tar 存档

要更新现有的 tar 存档,您可以使用-u (or --update) tar 命令中的选项。例如,要使用名为“new_file.txt”的新文件更新名为“archive.tar”的存档,可以使用以下命令:

tar -uvf archive.tar new_file.txt

同样,您可以更新其他 tar 格式存档的内容,例如:

tar -uzf archive.tar.gz /var/www 
tar -ujf archive.tar.bz2 /var/www 
tar -uJf archive.tar.xz /var/www 

其他有用的 tar 命令示例

以下是一些用于处理存档文件的更有用的 tar 命令示例。所有示例均显示默认 tar 存档文件。您还可以通过定义相应的命令行选项,对其他 tar 格式执行相同的操作。例如,要使用 .tar.gz 文件执行这些步骤,包括-z选项。类似地使用-j for .tar.bz2文件,以及-J为了.tar.xz files.

  1. 提取单个文件
  2. 要从 tar 存档中提取单个文件,您可以使用-x (or --extract) 选项并指定要提取的文件名。例如,要提取一个名为“文件.txt”从名为“archive.tar”的存档中,您可以使用以下命令:

    tar -xvf archive.tar file.txt 
    

  3. 列出 tar 存档中的文件
  4. 要列出 tar 存档中的文件,您可以使用-t (or --list) tar 命令中的选项。例如,要列出名为的存档中的文件“存档.tar”,您可以使用以下命令:

    tar -tvf archive.tar 
    

  5. 将文件附加到 tar 存档
  6. 要将文件追加到现有的 tar 存档中,您可以使用-r (or --append) tar 命令中的选项。例如,要附加一个名为“新文件.txt”到一个名为“存档.tar”,您可以使用以下命令:

    tar -rvf archive.tar new_file.txt 
    

  7. 显示 tar 存档的文件内容
  8. 要显示 tar 存档中文件的内容,您可以使用-O (or --to-stdouttar 命令中的 ) 选项,后跟文件名。例如,要显示名为的文件的内容“文件.txt”在一个名为“存档.tar”,您可以使用以下命令:

    tar -Oxf archive.tar file.txt 
    

结论

tar 命令是 Linux 中功能强大的文件归档实用程序。它允许您将多个文件和目录组合成一个存档文件并从存档中提取文件。本文为初学者提供了有关 Linux 中 tar 命令基础知识的全面指南。了解 tar 命令将大大简化您在 Linux 中处理文件的工作。

欲了解更多详情,请访问:http://www.gnu.org/software/tar/manual/tar.html

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Linux 中的 tar 命令及实际示例 的相关文章

  • 仅使用一个映射器的 Hadoop gzip 输入文件[重复]

    这个问题在这里已经有答案了 可能的重复 为什么 hadoop 不能分割一个大文本文件 然后使用 gzip 压缩分割的内容 https stackoverflow com questions 6511255 why cant hadoop s
  • XCode 4 存档错误:找到一个或多个 PCH 文件,但它们无效

    在此记录一个奇怪的 XCode 4 错误以供将来参考 找到一个或多个 PCH 文件 但它们无效 清理并不能解决问题 您需要通过按住 ALT 并从菜单中选择产品来清理构建文件夹 清理 条目现在已更改为 清理构建文件夹 这将擦除不良的 PCH
  • 使用curl PHP获取gzip压缩的XML文件时出现问题

    我正在尝试使用curl 从 xml gz 文件中获取数据 我可以下载该文件 但我的任何尝试都无法获取可用的 XML 当我尝试打印 XML 时 我收到一长串乱码特殊字符 例如 r 7 E i 5 6 DL u 有没有一种简单的方法来解压缩和编
  • 从 Python 设置 gzip 时间戳

    我对使用 Python 压缩数据感兴趣gzip模块 碰巧我希望压缩输出是确定性的 因为这对于一般事物来说通常是一个非常方便的属性 如果某些不支持 gzip 的进程要寻找输出中的更改 或者如果输出将被加密签名 不幸的是 每次的输出都不同 据我
  • (转)发送http请求时如何控制gzip压缩?

    我想问一下大家在请求HTTP Post消息时如何控制gzip压缩 Accept Encoding gzip 作为 Http 请求标头始终添加到我发送的 http 请求中 但我不想使用 gzip 压缩 我该如何处理 在执行http NewRe
  • 解压大zst文件

    我有一个 16GB 的压缩 zst 文件 我该如何在windows上解压它 我没有内存来处理解压版本 因此需要将其直接写入文件 冒着听起来显而易见的风险 您需要一个支持 zstandard 的 Windows 解压缩器 At the zst
  • 在 zip 中写入(修改或添加)文件

    我已按照中的说明进行操作这个线程 https stackoverflow com questions 13787318 java util zip replace a single zip file 使用其中的代码 我已经能够将文件添加到
  • 目标文件和静态库(归档文件)有什么区别?

    似乎归档文件可以从目标文件生成 ar rvs libprofile a profile o 目标文件和归档文件有什么区别 在我看来 两者都可以直接与 gcc 一起使用 例如 gcc c profile o or gcc c libprofi
  • Fiddler 不解压缩 gzip 响应

    I use Fiddler调试我的应用程序 每当服务器压缩响应而不是解压缩响应时 Fiddler 都会显示不可读的二进制数据 Response to my request POST HTTP 1 1 200 OK Server xyz co
  • 修改 tar 存档中嵌套的文件

    我正在尝试做一个grep然后一个sed搜索文件内的特定字符串 这些文件位于多个 tar 内 全部位于一个主 tar 存档内 现在 我通过以下方式修改文件 首先解压主 tar 存档 然后将里面的焦油全部提取出来 然后进行递归grep进而sed
  • 是否可以组合多个 .gz 文件以便将它们提取到单个文件中? [复制]

    这个问题在这里已经有答案了 假设我有 3 个文件 1 txt 2 txt and 3 txt全部被 gzip 压缩 我知道 gzip 允许使用 cat 组合多个文件 cat 1 gz 2 gz 3 gz gt 123 gz 然而 当提取 1
  • 如何在python中不使用临时文件的情况下将大量数据写入tarfile中

    我用 python 编写了一个小型加密模块 其任务是对文件进行加密并将结果放入 tarfile 中 要加密的原始文件可以很大 但这不是问题 因为我的程序一次只需要处理一小块数据 可以即时加密并存储 我正在寻找一种方法来避免分两次完成 首先将
  • 我的网页需要 JSZip 和 gzip,JSZip 具有所有成分,但以我无法破解的方式隐藏它们

    JavaScript 中对 gzip 的支持出奇的弱 所有浏览器都实现它以支持 Content encoding gzip 标头 但浏览器的 gzip gunzip 功能没有标准访问 因此必须使用仅 javascript 的方法 周围有一些
  • 在 Android 中打开受密码保护的 ZIP?

    有没有一个库或一个简单的方法如何在 Android 中打开受密码保护的 ZIP 存档 我知道 ZIP 加密有不同类型 我想打开最简单的一个 在 Unix 中使用以下命令创建zip e命令 可以在 Windows 中打开相同的文件 将要求输入
  • 如何在 RESTful Flask 应用程序中将 Pandas DataFrame 与 ProtoBuf/Gzip 进行序列化/反序列化?

    我有一个pandas dataframe作为Flask Response对象在一个flask应用 目前我正在将其转换为JSON Object df df to json return Response df status 200 mimet
  • 使用php.ini、.htaccess和zlib.output压缩js、css和php文件

    我一直在尝试使用 gzip 压缩我的网站 尽管我的服务器不允许我使用 mod deflate 所以我在这里找到了替代解决方案 http www warpconduit net 2010 10 23 enabling gzip compres
  • IIS 7.5 ASP.NET-4 Gzip 压缩

    我似乎无法为我的 ASP NET 4 应用程序启用 GZIP 压缩 似乎只有 javascript 文件被压缩 页面 CSS 和其他内容不会被压缩 未压缩的CSS文件的响应头是 Content Type text css Last Modi
  • 在 Clojure 中解压缩 zlib 流

    我有一个二进制文件 其内容由zlib compress在Python上 有没有一种简单的方法可以在Clojure中打开和解压缩它 import zlib import json with open data json zlib wb as
  • 使用 java 的 RAR 档案 [关闭]

    就目前情况而言 这个问题不太适合我们的问答形式 我们希望答案得到事实 参考资料或专业知识的支持 但这个问题可能会引发辩论 争论 民意调查或扩展讨论 如果您觉得这个问题可以改进并可能重新开放 访问帮助中心 help reopen questi
  • 如何在 Flutter 中解码 Gzip Http 响应?

    我是颤振新手 我正在发出网络请求 并且得到了正确的响应 但数据已被压缩 我已经在 Swift 中解压了相同的内容 但是对于 Flutter 我无法做到这一点 有人可以帮忙吗 这是我尝试过的 import dart convert impor

随机推荐

  • 在 Debian 9 上使用 Let's Encrypt 保护 Nginx

    Let s Encrypt 是由互联网安全研究小组 ISRG 开发的免费开放的证书颁发机构 如今 Let s Encrypt 颁发的证书几乎受到所有浏览器的信任 在本教程中 我们将解释如何使用 Certbot 工具为 Debian 9 上的
  • 如何在 Ubuntu 18.04 上安装和配置 GitLab

    GitLab 是一个基于网络的开源Git存储库管理器编写为Ruby包括 wiki 问题管理 代码审查 监控以及持续集成和部署 它使开发人员能够创建 审查和部署他们的项目 GitLab 提供三种不同版本 社区版 CE 企业版 EE 和 Git
  • 如何在 Ubuntu 18.04 上安装 Steam

    Steam是由 Valve 公司开发的用于购买和玩视频游戏的跨平台娱乐平台 它使您可以访问数千种游戏并结识新朋友 在本教程中 我们将向您展示如何在 Ubuntu 18 04 上安装 Steam 相同的说明适用于 Ubuntu 16 04 和
  • Python 中的列表与元组:综合指南

    Python 提供了多种内置数据类型 其中两个是列表和元组 了解这些数据结构的细微差别对于编写高效且有效的 Python 代码至关重要 在本教程结束时 您将能够就何时使用列表以及何时选择元组做出明智的决定 从而提高您在 Python 中处理
  • 使用 to_pickle() 函数将 Pandas DataFrame 导出到 Pickle 文件

    The to pickle函数于Pandas允许您将 DataFrame 或 Series 对象序列化 pickle 为 pickle 文件格式 当您想要保存 DataFrame 或 Series 的当前状态并稍后检索它而不丢失任何数据或元
  • 掌握 Samba:创建强大的 Linux 文件服务器

    Linux 文件服务器是功能强大的服务器之一 可帮助您与基于 Windows 的 PC 和其他操作系统共享文件和打印机 在我们讨论使用 Samba 作为文件服务器之前 我们先讨论一些基础知识 目录 hide 1 Linux Samba Wi
  • Linux Sed 分支:条件文本处理

    分支于sed允许您在 sed 脚本中创建条件工作流程 根据输入或特定条件 sed 可以选择执行一组命令而不是另一组命令 它类似于编程中的 if then else 结构 让我们深入研究一些示例来了解 sed 中的分支机制 目录 hide 1
  • 使用 read_pickle 读取 Pandas 中的 Pickle 文件

    read pickle in Pandas允许您加载腌制的 Pandas 对象 它可以加载数据 例如数据框和使用保存的系列熊猫 to pickle method 在本教程中 我们将揭示其语法 将 pickle 文件加载到 DataFrame
  • 在 Linux 上恢复已删除的文件(初学者教程)

    您是否曾经错误地删除过重要文件 谁不呢 好的 但是我可以恢复它们吗 在这篇文章中 您将了解如何使用不同文件系统上的各种程序在 Linux 上恢复已删除的文件 您将了解如何从 SD 卡 HDD 和不同分区上的已删除分区恢复已删除的文件Linu
  • 掌握 seq 命令:Linux 中的序列生成

    The seqLinux 中的命令用于生成数字序列 如果您想生成一个简单的增量列表或具有特定格式的复杂序列 seq可以做到这一点 让我们深入了解它的强大功能 目录 hide 1 生成从 1 到指定数字的序列 2 生成两个数字之间的序列 3
  • 在 Linux 中设置永久和系统范围的环境变量

    在 Linux 中 环境变量是一个可用于提供系统不同部分的配置和数据的值 这些变量充当数据的占位符 使应用程序和 shell 能够更顺畅地相互交互 环境变量的一个主要优点是它们促进进程之间的值共享 从而实现对系统行为各方面的集中控制 目录
  • 使用 to_html 将 Python Pandas DataFrame 转换为 HTML 表

    This to html函数于Pandas允许您转换您的数据框到 HTML 表中 它具有高度可定制性和灵活性 使您能够根据您的要求定制 HTML 输出结果 这可能包括设计数据的样式和格式以适合您所需的演示文稿 目录 hide 1 语法和参数
  • 使用 Pandas DataFrame loc 属性进行基于标签的访问

    The loc财产在Pandas允许基于标签的索引 这意味着您使用标签 如列名和行索引 来访问特定的行和列数据框 Unlike iloc 它使用基于整数的索引 loc主要是基于标签的 使其能够处理具有有意义标签的数据 目录 hide 1 P
  • 使用Python random模块生成随机数

    随机数生成是编程中的一个基本概念 对于统计采样 模拟 数据生成 随机算法甚至游戏等各种任务至关重要 在本教程中 我们将介绍基本概念 如何生成不同类型的随机数 如整数 浮点数和特定范围内的随机数 以及随机数提供的各种函数 random mod
  • Linux Syslog 服务器和日志管理

    在这篇文章中 我们将讨论 Linux Syslog 服务器以及如何管理日志 如果您想保护您的系统 您必须知道该系统中发生了什么 您可以使用日志来做到这一点 通过日志 您可以诊断问题并确定系统和应用程序的运行状况 在上一篇文章中 我们讨论了如
  • 如何在 Shell 脚本中提取文件名和扩展名

    要从 shell 脚本中的文件路径中提取文件名和扩展名 您可以使用 基本名称 命令 这是一个如何使用的示例basename来提取filename and 扩大从给定的文件路径 usr bin env bash Define a file p
  • 如何在 Ubuntu 和 Debian 上删除 PPA 存储库

    个人包档案 PPA 是 Ubuntu 和 Debian 用户安装和更新官方存储库中未提供的软件包的便捷方法 虽然 PPA 是宝贵的资源 但它们也可能会过时 不受支持 甚至可能有害 在这种情况下 了解如何将它们从系统中删除非常重要 在本文中
  • 如何在 Debian 11/10 上安装 Sublime

    崇高的文字是一个功能强大的文本编辑器 也可用于 Linux 系统 它有很多你一定喜欢使用的功能 本教程将帮助您使用个人软件包存档 PPA 在 Debian 11 Debian 10 和 Debian 8 Linux 系统上安装 Sublim
  • /tmp 文件夹 100% 已满 ( cPanel )

    Issue 今天 我发现 tmp 显示 100 已满 但是 从 tmp 删除所有文件后 它仍然显示已满 经过谷歌搜索后 我发现有一些文件从 tmp 文件夹中删除 但仍然被进程使用 占用了所有空间 通常这些文件由apache或mysql使用
  • Linux 中的 tar 命令及实际示例

    tar 命令是 Linux 用户的必备工具 特别是对于那些使用大量文件的用户 tar 命令允许您将多个文件组合成一个存档文件 还可以从存档中提取文件 在本文中 我们将为初学者提供有关 Linux 中 tar 命令基础知识的全面指南 什么是