Linux 打包命令 tar 详解

这篇具有很好参考价值的文章主要介绍了Linux 打包命令 tar 详解。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

tar 是 Linux 中常用的一种存档格式,它可以将多个文件或目录压缩成单个文件进行分发,还可以创建和解压 tar 存档。本文将讲解如何使用 tar 命令在 Linux 中创建、解压和管理 tar 存档,以及一些常见的 tar 命令选项。

1. tar 命令基础语法

tar 命令基础语法:

tar [选项] [文件名]

选项是可选的,可以用来指定 tar 命令的操作和设置。如果没有选项,则 tar 命令会以默认方式执行。文件名是要处理的文件或目录的名称。

下面是一些最常用的 tar 命令选项:

  • -c:创建新的存档文件(Create)。
  • -x:从存档文件中提取文件(eXtract)。
  • -t:列出存档文件中的内容(lisT)。
  • -v:显示 tar 命令执行的详细信息(Verbose)。
  • -f:指定存档文件的名称(File)。
  • -z:在创建或提取存档文件时使用 gzip 压缩算法来进行压缩或解压缩(gzip)。
  • -j:在创建或提取存档文件时使用 bzip2 压缩算法来进行压缩或解压缩(bzip2)。
  • -C:指定 tar 命令的工作目录(Change directory)。

2. tar 命令的常用操作

2.1 创建 tar 存档文件

使用 tar 命令创建存档文件,格式如下:

tar -cvf archive_name.tar file1 file2 file3 ...

例如,要将/etc目录中的所有文件和子目录打包成一个名为etc_backup.tar的 tar 存档文件,可以执行以下命令:

tar -cvf etc_backup.tar /etc

上述命令会创建一个名为etc_backup.tar的 tar 存档文件,并将/etc目录中的所有文件和子目录添加到该文件中。如果您想查看 tar 命令执行的详细信息,请将 -v选项添加到命令行中。

tar -cvvf etc_backup.tar /etc

在创建 tar 存档文件时,还可以同时压缩存档文件。例如,要使用 gzip 压缩新创建的存档文件,可以执行以下命令:

tar -czvf etc_backup.tar.gz /etc

上述命令会创建一个名为 etc_backup.tar.gz 的 gzip 压缩的 tar 存档文件,并将 /etc 目录中的所有文件和子目录添加到该文件中。

类似地,如果要使用 bzip2 压缩算法来创建 tar 存档文件,则可以使用以下命令:

tar -cjvf etc_backup.tar.bz2 /etc

上述命令将创建一个名为etc_backup.tar.bz2的 bzip2 压缩的 tar 存档文件,并将/etc目录中的所有文件和子目录添加到该文件中。

有时,还需要将 tar 存档文件压缩成 xz 格式。在 Linux 系统中,通常使用 xz-utils 软件包提供相关功能。要使用 xz 压缩算法创建 tar 存档文件,可以使用以下命令:

tar -cJvf etc_backup.tar.xz /etc

注意,xz 压缩算法相对于 gzip 和 bzip2 压缩算法具有更高的压缩比,但是在压缩和解压缩时需要消耗更多的 CPU 和内存资源。

2.2 解压 tar 存档文件

使用 tar 命令解压存档文件,格式如下:

tar -xvf archive_name.tar

例如,要从之前创建的etc_backup.tar存档文件中提取文件,可以执行以下命令:

tar -xvf etc_backup.tar

上述命令会将存档文件解压缩到当前目录。如果要将存档文件解压缩到不同目录,则可以使用 -C 选项指定目标目录:

tar -xvf etc_backup.tar -C /tmp

上述命令会将存档文件解压缩到 /tmp 目录下。

如果存档文件是经过 gzip、bzip2 或 xz 压缩的,则必须指定相应的压缩算法来解压存档文件,例如:

tar -xzvf etc_backup.tar.gz
tar -xjvf etc_backup.tar.bz2
tar -xJvf etc_backup.tar.xz

2.3 列出存档文件的内容

要查看 tar 存档文件的内容列表,可以使用以下命令:

tar -tvf archive_name.tar

例如,要查看之前创建的 etc_backup.tar 文件中的内容列表,可以执行以下命令:

tar -tvf etc_backup.tar

上述命令将显示存档文件中包含的所有文件和目录的列表。

类似于解压缩 tar 存档文件时,如果存档文件是经过 gzip、bzip2 或 xz 压缩的,则必须指定相应的压缩算法来列出存档文件的内容列表:

tar -tzvf etc_backup.tar.gz
tar -tjvf etc_backup.tar.bz2
tar -tJvf etc_backup.tar.xz

3. tar 命令的高级用法

3.1 使用通配符来压缩多个文件

有时,您可能需要将符合某些条件的多个文件压缩成一个 tar 存档文件。在这种情况下,可以使用通配符来指定要压缩的文件,例如:

tar -cvf my_files.tar /path/to/files/*

上述命令将压缩 /path/to/files 目录下的所有文件和子目录,并将存档文件保存为 my_files.tar

3.2 排除指定文件或目录

有时,您可能需要在创建 tar 存档文件时排除某些文件或目录。例如,您可能不想在存档文件中包含指定类型的文件、某个特定目录或某个特定文件。在这种情况下,可以使用 --exclude 选项来排除文件或目录。

例如,要在创建存档文件时排除所有以 .mp3 结尾的文件,可以执行以下命令:

tar -czvf backup.tar.gz /path/to/files --exclude '*.mp3'

上述命令将创建一个名为 backup.tar.gz 的压缩 tar 存档文件,并排除所有以 .mp3 结尾的文件。您还可以使用多个 --exclude 选项来指定多个文件或目录以排除它们。

3.3 将存档文件直接发送到远程服务器

使用 tar 命令创建存档文件后,可以将其发送到远程计算机以备份数据。在 Linux 系统中,可以使用 ssh 命令将存档文件发送到远程计算机。

例如,假设您已经创建了名为 backup.tar.gz 的存档文件,并且要将其发送到具有 IP 地址 192.168.1.100 的远程计算机上的 /backup 目录中,可以执行以下命令:

ssh user@192.168.1.100 'mkdir -p /backup' && \
cat backup.tar.gz | ssh user@192.168.1.100 'cd /backup && tar -xz'

上述命令将创建一个名为 backup.tar.gz 的 tar 存档文件,并使用管道符将它发送到远程计算机。在远程计算机上,先在 /backup 目录中创建一个新目录(如果不存在),然后运行 tar 命令解压缩存档文件。

3.4 将存档文件分割成多个部分

有时,存档文件可能很大,难以在单个文件中存储或传输。在这种情况下,可以使用 --multi-volume 选项将存档文件分割成多个部分。

例如,要将一个名为 archive.tar.gz 的存档文件分割成每个部分为 10MB 大小的多个文件,可以执行以下命令:

tar -czvf - /path/to/archive | split -b 10m -d - archive.tar.gz.

上述命令将使用管道符将压缩的存档文件发送到 split 命令中,并将其分割成多个 10MB 大小的文件,每个部分的文件名以 archive.tar.gz. 开头,并以数字结尾(例如,archive.tar.gz.00,archive.tar.gz.01 等)。

3.5 将多个存档文件合并为单个文件

有时,可能需要将多个已经存在的存档文件合并成一个单独的存档文件,以便进行更方便的管理和传输。在这种情况下,可以使用 --concatenate 选项将多个存档文件合并为单个文件。

例如,要将两个名为archive1.tar.gzarchive2.tar.gz的存档文件合并为一个名为combined_archive.tar.gz的存档文件,可以执行以下命令:

cat archive1.tar.gz archive2.tar.gz > combined_archive.tar.gz

上述命令将使用cat命令将两个存档文件的内容串联在一起,并将结果输出到combined_archive.tar.gz文件中。

3.6 创建增量备份

在进行数据备份时,通常会希望使用最少的时间和资源来创建备份文件。在这种情况下,可以使用 --incremental 选项创建增量备份,该选项只备份与上次备份之间的更改。

例如,要创建一个增量备份,可以先在指定目录(例如/backup)中创建一个新的快照:

tar -czvf /backup/snapshot.tar.gz /path/to/files

然后,在下一次备份时,可以使用--listed-incremental选项指定增量备份文件(例如/backup/incremental_backup.snar),以便 tar 命令仅备份与上次备份之间的更改。例如:

tar -czvf backup.tar.gz --listed-incremental=/backup/incremental_backup.snar /path/to/files

上述命令将使用 shell 提供的通配符来压缩/path/to/files目录中的所有文件和子目录,并使用--listed-incremental选项指定增量备份文件的名称。如果您需要在多个备份之间存储差异,则可以使用--incremental选项来创建增量备份。文章来源地址https://www.toymoban.com/news/detail-491708.html

到了这里,关于Linux 打包命令 tar 详解的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • linux tar打包压缩解压命令学习

    Linux系统中tar是最常用的打包工具,通过打包工具可以压缩/解压 比如常见的压缩包格式 如下: tar 未压缩文件 只是做了一个打包而已 tar.gz 使用gzip算法格式压缩的压缩包 tar.bz2 bz2格式压缩包 tar.xz xz格式压缩 参数介绍 tar 的参数很多 列出几个比较常用的记录一下。 格式 tar

    2024年02月04日
    浏览(35)
  • Linux基础命令-tar打包压缩文件

    Linux基础命令-echo输出信息_Linux学习中的博客-CSDN博客 Linux三剑客-grep命令_Linux学习中的博客-CSDN博客 Linux文件管理命令(3)-mv改动文件_Linux学习中的博客-CSDN博客 文章目录 前言 一、tar命令介绍 二、命令语法及常用参数 三、 参考案例 总结 在工作上,有同事需要用到程序或一

    2024年02月13日
    浏览(28)
  • Linux 下使用 tar 命令打包指定目录下的所有文件,不包含路径方法

    一,问题描述 例如:需要打包/data/android_data/VMRK02ejyijtyww20 文件夹到/data/testtar/目录下 一般我们使用命令如下命令 当我们解VMRK02ejyijtyww20.tar压缩包后发现,把路径也打包进去了, 即/data/android_data/VMRK02ejyijtyww20;而大多数情况,我们解压后只需要的是VMRK02ejyijtyww20文件夹 二、打包

    2024年02月16日
    浏览(43)
  • Linux下 tar 命令详解

    Tar(Tape ARchive,磁带归档的缩写,LCTT 译注:最初设计用于将文件打包到磁带上,现在我们大都使用它来实现备份某个分区或者某些重要的目录)。 tar 是类 Unix 系统中广泛使用的命令,用于归档多个文件或目录到单个归档文件中,并且归档文件可以进一步使用 gzip 或者 bzip

    2024年04月08日
    浏览(25)
  • Linux tar命令详解,Linux备份解压文件_linux tar备份文件

    一、常用操作 1. 压缩/备份文件 2. 查看压缩文件 3. 解压文件 二、注意事项 1. 操作类型要放在前面 作用:将多个文件打包成一个文件,方便文件传输,也可以用来备份文件,打包过程中支持压缩。 参数: -z 用gzip指令处理备份文件 -v 显示执行过程 -f 指定备份文件 -c 建立备份

    2024年02月02日
    浏览(50)
  • Linux中_使用tar_gzip_zip_rar_命令_打包和解包_压缩和解压

    1.3.1、到当前目录下 1.3.2、到指定目录下 3.1.1、压缩当前目录: 3.1.2、压缩指定目录: 3.2.1、到当前目录 3.2.2、到指定目录 4.2.1、压缩文件本身: 4.2.2、递归压缩,将指定目录下所有文件和子目录一并压缩:

    2024年02月04日
    浏览(51)
  • Linux系统常见的压缩命令和打包命令(gzip,zcat,bzip2,bzcat,xz,xzcat,zip,unzip,tar)

    在Linux的环境中,压缩文件的扩展名大多是: tar、tar.gz、*tgz、*gz、 *.Z 、 *.bz2、 *.xz。 这是因为Linux支持的压缩命令非常多,且不同的命令所用的压缩技术并不相同,彼此之间可能就无法互通压缩/解压缩文件。所以,当你要下载某个压缩文件时,自然就需要知道该文件是由哪

    2024年02月05日
    浏览(30)
  • linux下常见解压命令gz、tar、zip详解

    .tar.gz和.gz文件不是同一种格式压缩文件,需要用不同的方式处理 解压 解压当当前目录文件夹下 解压到指定目录文件夹下 压缩 archive.tar.gz 是你希望创建的压缩文件的名称,/path/to/directory 是你希望压缩的目录或文件的路径。 -c:创建新的归档文件。 -z:使用 gzip 压缩算法。

    2024年04月16日
    浏览(27)
  • 【linux】tar指令压缩解压缩文件夹、文件命令详解

    压缩当前目录下文件夹/文件test到test.tar.gz: 解压缩当前目录下的file.tar.gz到file: -c: 建立压缩档案 -x:解压 -t:查看内容 -r:向压缩归档文件末尾追加文件 -u:更新原压缩包中的文件 -z:有gzip属性的 -j:有bz2属性的 -Z:有compress属性的 -v:显示所有过程 -O:将文件解开到标准输

    2024年02月16日
    浏览(36)
  • linux 中常用的压缩和解压缩命令详解(tar zip)

    在工作中,涉及到文件传输,为了减少文件的体积和传输的时间,经常会对文件进行压缩,本文介绍了linux系统中常用的压缩和解压缩命令 .tar :简单封装,被称为归档文件,只是简单的将文件组装到一个.tar的文件内,并没有太多文件体积的减少,仅仅是简单的封装 .gz :压

    2024年02月06日
    浏览(26)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包