Linux tar命令
简介
Linux中的 tar 命令是文件管理中最重要的命令之一。它是Tape Archive的缩写,用于创建和提取存档文件。归档文件是一个压缩文件,它包含一个或多个文件捆绑在一起,以便更方便地存储和携带。在本指南中,我们将通过实例演示如何创建、列出、编辑和提取tar归档文件,并介绍一些比较常用的tar命令选项。
tar命令的语法
tar 命令接受以下语法 —
$ $ tar [options][archive-file] [file or dir to be archived]
让我们看一下 tar 命令提供的一些选项。
tar命令的选项
tar 命令提供了下列选项 –
- -c – 这会创建一个存档文件。
-
-x – 该选项提取了存档文件。
-
-f – 指定归档文件的文件名。
-
-v – 这将打印终端上任何tar操作的粗略信息。
-
-t – 这将列出一个归档文件内的所有文件。
-
-u – 归档一个文件,然后把它添加到一个现有的归档文件中。
-
-r – 更新位于 .tar 文件中的文件或目录
-
-z – 使用gzip压缩创建一个tar文件
-
-j – 使用bzip2压缩法创建一个存档文件
-
-W – -w选项验证一个归档文件。
创建一个归档文件
tar 工具允许你使用各种压缩算法创建归档文件,如 xz 、 gzip 和 bzip2。 公认的惯例是在压缩文件中加入压缩后缀。
例如,当使用 gzip压缩 时(使用”-z “选项),文件的后缀必须是”.tar.gz”。
$ tar -czvf sales.tar.gz sales1.pdf sales2.pdf sales3.pdf
在这个例子中,该命令从三个 PDF 文件中创建了一个名为 “sales.tar.gz “的文件。
同样,当使用 bzip2压缩 时(使用”-j “选项),归档文件必须以”.tar.bz2 “为后缀。
$ tar -cjvf sales.tar.bz2 sales1.pdf sales2.pdf sales3.pdf
除了归档文件,你还可以压缩目录。例如,下面的命令创建了一个简单的主目录压缩包。
$ tar -cvf home.tar /home/james
列出一个存档文件的内容
-t “选项可以用来列出一个归档文件的内容,而不提取它。
$ tar -tf sales.tar.gz
该命令列出了 “sales.tar.gz “存档中的所有文件。
提取归档文件
有几种方法可以用 tar 命令提取压缩文件。
提取到当前目录
要提取归档文件到当前工作目录,使用”-x “选项,如下所示。
$ tar -xvf documents.tar.gz
在这个例子中,我们正在解压缩或提取 “documents.tar.gz “文件,其中包含三个文本文件。
在不同目录下解压缩
要将归档文件解压缩到一个不同的目录中,需要在”-C “选项后面加上目标路径,如下面的例子所示。
$ tar -xvf documents.tar.gz -C /tmp/files
此命令将 “documents.tar.gz “归档文件的内容提取到/tmp/files目录下。
从归档文件中提取特定文件
你可以通过在命令行中逐一列出某些指定的文件来提取它们。
$ tar -xvf documents.tar.gz file1.txt file2.txt
在这个例子中,我们要从 “documents.tar.gz “档案中提取文件 “file1.txt “和 “file2.txt”。
向.tar归档文件添加文件
要添加或附加一个’.tar’归档文件,使用’-r’选项,如图所示。
$ tar -rvf files.tar file3.txt
在这个例子中,我们要把file3.txt文件加入到archives.tar文件中。
从.tar文件中删除一个文件
要从’.tar’压缩文件中删除一个文件,使用 --delete 选项,如图所示。
$ tar --delete -f archives.tar file3.txt
在这个例子中,我们要从archives.tar文件中删除 “file3.txt “文件。
压缩一个归档文件
tar 命令也可以用来使用 gzip 或 bzip2 压缩 法来压缩一个存档 。 要创建一个压缩文件, -z 或 -j 选项可以与 -c 选项一起使用。
$ tar -zcvf archive.tar.gz files_to_compress
这条命令为指定的文件创建一个”.tar.gz “压缩包。
$ tar -jcvf archive.tar.bz2 files_to_compress
这个命令为指定的文件创建一个”.tar.bz2 “的存档。
解压缩一个档案
要解压一个”.tar.gz “文件 —
$ tar -zxvf archive.tar.gz
要解压一个’.tar.bz2’文件 —
$ tar -jxvf archive.tar.bz2
总结
tar命令是一个在Linux上管理文件的多功能和强大的工具。它可以用来创建、提取和修改各种格式的档案,并提供广泛的选项以满足不同的需要。通过了解 tar 命令的语法和选项,你可以在工作流程中轻松创建、管理和提取档案。掌握了tar命令的知识,你就能更有效地处理你的文件档案。