Linux Tar命令教程及示例

Linux tar是一个非常流行的工具,用于压缩和提取文件和文件夹。Tar使用了很长一段时间,其主要用途是用于磁带存档。Tar主要支持Tar格式或扩展名,用于为所有目录和文件创建一个文件。但是经过历史的发展,tar已经集成了gz、bzip等压缩协议支持。Tar通常与这些流行的压缩协议一起用于压缩文件和文件夹。典型的 .焦油,.tar.gz 和 .焦油.bz 扩展名用于命名压缩文件。在本教程中,我们将详细介绍如何针对不同的情况和操作使用tar命令。

null

创建Tar存档

正如我们之前所说,tar归档将为所有目录和文件创建一个文件。这对于压缩、传输、备份等非常有用。Tar通常也用于传输或备份操作。在本例中,我们将把桌面目录创建为tar文件。

$ tar -cvf tmux.tar tmux-2.2
Create Tar Archive
创建Tar存档

这里我们创建了一个 tmux.tar文件 它提供了中的所有文件和文件夹 tmux-2.2型

详细列出提取或压缩的文件和文件夹

要获取操作的详细信息,应指定verbose选项。在前面的示例中,我们已经将verbose选项用于 -五 .

$tar-cvf tmux.tar tmux-2.2

使用Gzip压缩创建Tar存档

Gzip是一种流行的好的压缩算法,用于许多不同的目的。例如,浏览器和web服务器也使用gzip压缩算法。Tar和gzip可以与下面这样的单个命令一起使用。

$ tar cvfz tmux.tar.gz tmux-2.2
Create Tar Archive With Gzip Compression
使用Gzip压缩创建Tar存档

使用Bzip2压缩创建Tar存档

Bzip2是gzip压缩算法的替代算法。Bzip2特别流行于Linux、Unix和BSD平台。它可以和gzip一样使用。

$ tar cvfj tmux.tar.bz2 tmux-2.2
Create Tar Archive With Bzip2 Compression
使用Bzip2压缩创建Tar存档

解压和解压Tar存档

到目前为止,我们已经压缩了我们的文件和目录。给他们减压怎么样?我们将解压所有内容或档案到目前的工作目录如下。用于提取tar存档的主要参数是 .

$ tar xvf tmux.tar
Decompress or Untar Tar Archive
解压或解压Tar存档

解压缩或Untar tar.gz存档

Gzip压缩的tar文件在解压缩时是类似的。我们可以向正常的extract tar命令添加gzip参数,如下所示。

$ tar xvfz tmux.tar.gz
Decompress or Untar tar.gz Archive
解压缩或Untar tar.gz存档

解压缩或Untar tar.bz2存档

与tar存档一起使用的另一种流行的压缩算法是Bzip2。默认情况下,Bzip2压缩tar档案使用*.tar.bz2文件扩展名。为了解压、提取或解压bzip2归档文件,我们将使用 xvfj 通过提供bzipped归档文件名或路径来选择,如下所示。

$ tar xvfj tmux.tar.bz2
Decompress or Untar tar.bz2 Archive
解压缩或Untar tar.bz2存档

列出或显示Tar存档的内容

一个tar归档文件通常包含很多文件和文件夹,列出tar归档文件就像压缩文件和目录一样简单。我们将提供 -tvf 下面列出的选项 tmux.tar 文件内容。

$ tar -tvf tmux.tar
List Content Of Tar Archive
列出Tar存档的内容

列出Tar.Gz存档的内容

tar.gz的内容可以列在下面。 它和焦油是一样的,因为。Tar自动检测压缩方法。所以我们不需要特别指定压缩算法。

$ tar -tvf tmux.tar.gz
List Content Of Tar.Gz Archive
列出Tar.Gz存档的内容

列出Tar.Bz2存档的内容

与tar和gz格式相同。我们没有具体说明压缩算法。自动检测。

$ tar -tvf tmux.tar.bz2
List Content Of Tar.Bz2 Archive
列出Tar.Bz2存档的内容

从Tar存档中提取单个文件

从存档中提取文件最常用的方法之一是只提取单个文件。我们将通过给tar命名来提取一个文件,如下所示。我们将使用 -xvf 选项并提供 tar 文件和我们要提取的文件。在本例中,我们将提取 tmux-2.2/hooks.c tar文件中名为 tmux.tar

$ tar -xvf tmux.tar tmux-2.2/hooks.c
Extract Single File From Tar Archive
从Tar存档中提取单个文件

从Tar.Gz存档中提取单个文件

从tar.gz存档中提取单个文件与前面的示例非常相似。我们将添加Gzip参数 z . 我们将使用 -zxvf 选项如下。

$ tar -zxvf tmux.tar.gz tmux-2.2/hooks.c
Extract Single File From Tar.Gz Archive
从Tar.Gz存档中提取单个文件

从Tar.Bz2存档中提取单个文件

为Bzip2归档文件提取单个文件类似于tar和gzip。我们将使用 -jxvf 选项如下。

$ tar -jxvf tmux.tar.bz2 tmux-2.2/hooks.c
Extract Single File From Tar.Bz2 Archive
从Tar.Bz2存档中提取单个文件

提取多个 Tar存档文件

它也可以从tar存档的多个文件中提取。将提取的文件将以空格分隔列出。

$ tar -xvf tmux.tar "tmux-2.2/hooks.c" "tmux-2.2/cfg.c"
Extract Multiple File From Tar Archive
从Tar存档中提取多个文件

提取多个 Tar.Gz存档文件

我们可以从gzip存档中提取多个文件,就像tar存档一样。我们将只在命令末尾放置要提取的文件名。在本例中,我们将提取文件 hooks.c cfg.c

$ tar -zxvf tmux.tar.gz "tmux-2.2/hooks.c" "tmux-2.2/cfg.c"
Extract Multiple File From Tar.Gz Archive
从Tar.Gz存档中提取多个文件

提取多个 Tar.Bz2存档文件

可以提取bzip2归档文件的多个文件,类似于tar和gzip。我们只提供bzip2参数 j .

$ tar -jxvf tmux.tar.bz2 "tmux-2.2/hooks.c" "tmux-2.2/cfg.c"
图片[15]-Linux Tar命令教程及示例-yiteyi-C++库

使用通配符提取指定的文件类型或扩展名

通配符用于指定具有相似名称的多个文件。我们只需设置名称的固定部分,然后为变量部分设置通配符,如下所示。通配符用 * .

$ tar -zxvf  tmux.tar.gz --wildcards '*.txt'

将文件和目录添加到Tar存档

在创建tar存档之后,我们可能需要向现有tar存档添加额外的文件。对于此操作,我们将使用 r 用于追加或添加操作。

$ tar -rvf  tmux.tar test1/
Add Files and Directories To Tar Archive
将文件和目录添加到Tar存档

在本例中,我们添加了一个名为 测试1 . 添加文件也是一样的。

获取Tar存档的大小

内容的大小可以通过计算单词等经验性方法得到。下面的结果以KB为单位。给定的大小是解压缩整个内容后的总大小。

$ tar -czf - tmux.tar | wc -c
Get Size Of Tar Archive
获取Tar存档的大小

获取Tar.Gz存档的大小

tar.gz归档文件的大小如下所示。但请记住,这不是一个确切的大小。这是一个近似值。

$ tar -czf - tmux.tar.gz | wc -c
Get Size Of Tar.Gz Archive
获取Tar.Gz存档的大小

获取Tar.Bz2存档的大小

tar.bz归档文件的大小如下所示。但请记住,这不是确切的大小。这是一个近似值。

$ tar -czf - tmux.tar.bz2 | wc -c
Get Size Of Tar.Bz2 Archive
获取Tar.Bz2存档的大小

© 版权声明
THE END
喜欢就支持一下吧
点赞0 分享