Linux 中的 18 个 Tar 命令示例
Linux“ tar ”代表磁带存档,大量Linux/Unix系统管理员使用它来处理Linux 中的磁带驱动器备份。
Linux 中的 tar 命令用于将文件和目录集合解压缩为高度压缩的存档文件(在Linux中通常称为tarball或tar、gzip和bzip ) 。
tar是使用最广泛的命令,用于创建压缩档案文件,这些文件可以轻松地从一个磁盘移动到另一个磁盘或从一台机器移动到另一台机器。
在本文中,我们将回顾和讨论各种tar 命令示例,包括如何使用(tar、tar.gz和tar.bz2)压缩创建存档文件、如何提取存档文件、提取单个文件、查看文件内容、验证文件、将文件或目录添加到现有存档文件、估计 tar 存档文件的大小等。
本指南的主要目的是提供各种tar 命令示例,这些示例可能有助于您理解并成为 tar 档案操作方面的专家。
1. 创建 Tar 存档文件
下面的tar命令示例将为当前工作目录中的目录/home/example创建一个tar存档文件。example-17-11-2023.tar
查看tar命令的实际操作示例。
tar -cvf example-17-11-2023.tar /home/example/
让我们讨论一下上述tar命令中使用的每个选项。
c
– 创建一个新的.tar档案文件。v
– 详细显示.tar文件进度。f
– 档案文件的文件名类型。
2. 创建压缩的 Tar 存档
要创建压缩存档文件,我们使用选项'z'
(使用 gzip 压缩存档)。例如,下面的命令将生成一个'MyImages-17-11-2023.tar.gz'
以目录“ /home/MyImages ”命名的压缩文件。(注意:'tar.gz'
和'tgz'
是可互换的术语)。
tar cvzf MyImages-17-11-2023.tar.gz /home/example/MyImages OR tar cvzf MyImages-17-11-2023.tgz /home/example/MyImages
3. 在 Linux 中创建 tar.bz2 文件
bz2功能可压缩并创建比gzip更小的存档文件。但是,bz2压缩方法在压缩和解压缩时都需要更多时间,而gzip在这两个过程中都更快。
要通过捆绑/home/php目录中的所有文件和子目录来创建一个名为Phpfiles-org.tar.bz2的高度压缩的新 tar 存档,请使用该选项,该选项指示tar使用bzip2压缩算法,从而减小文件大小以实现高效存储和传输。-j
注意:tar.bz2和tbz是类似的术语,都指tb2。
tar cvfj Phpfiles-org.tar.bz2 /home/example/php OR tar cvfj Phpfiles-org.tar.tbz /home/example/php OR tar cvfj Phpfiles-org.tar.tb2 /home/example/php
4. 提取 Tar 档案
要解压或提取 tar 文件,只需使用选项'x'
(extract) 执行以下命令。例如,以下命令将解压当前工作目录中名为“ example-17-11-2023.tar ”的文件。
tar -xvf example-17-11-2023.tar
如果您想在不同的目录中解压,那么使用选项-C
(指定目录)。
tar -xvf example-17-11-2023.tar -C /home/example/
5. 提取压缩的 tar.gz 档案
要提取名为“ MyImages-17-11-2023.tar.gz ”的压缩 tar 存档文件的内容,请使用以下命令。
tar -xvf MyImages-17-11-2023.tar.gz
如果您想在不同的目录中提取,只需使用选项-C
,它将把文件提取到指定的目录中,如图所示。
tar -xvf MyImages-17-11-2023.tar.gz -C /home/example/
6. 提取 tar.bz2 档案
要解压高度压缩的tar.bz2文件,只需使用以下命令,它将解压存档文件中的所有文件。
tar -xvf Phpfiles-org.tar.bz2
7. 列出 tar 存档的内容
要列出或查看 tar 存档文件的内容,只需运行带有-t
选项(列出内容)的以下命令,它将显示 ' example-17-11-2023.tar ' 存档中包含的文件和目录的详细列表。
tar -tvf example-17-11-2023.tar
8. 查看 tar.gz 存档的内容
以下命令将显示“ MyImages-17-11-2023.tar.gz ”存档中包含的文件和目录的详细列表。
tar -tvf MyImages-17-11-2023.tar.gz
9. 打印 tar.bz2 存档的内容
以下命令概述了“ Phpfiles-org.tar.bz2 ”存档中的内容,而无需提取文件。
tar -tvf Phpfiles-org.tar.bz2
10. 从档案中提取单个文件
wp-cron.php
要从存档Phpfiles-org.tar.bz2中提取单个文件,请使用以下命令。确保提供要提取的文件的正确路径。
tar -xvf Phpfiles-org.tar.bz2 home/example/php/wp-cron.php
11. 从档案中提取多个文件
tar
要从、tar.gz
和存档文件中提取或解压多个文件tar.bz2
,请使用以下命令,它将从指定的存档文件中提取文件。
tar -xvf example-17-11-2023.tar "file1" "file2" tar -zxvf MyImages-17-11-2023.tar.gz "file1" "file2" tar -jxvf Phpfiles-org.tar.bz2 "file1" "file2"
12.在Linux中使用通配符提取一组文件
要提取一组文件,我们使用基于通配符的提取。例如,要从.php
、tar
和tar.gz
存档tar.bz2
文件中提取一组以 开头的所有文件,请使用:
tar -xvf Phpfiles-org.tar --wildcards '*.php' tar -zxvf Phpfiles-org.tar.gz --wildcards '*.php' tar -jxvf Phpfiles-org.tar.bz2 --wildcards '*.php'
13. 将文件附加到现有档案
要将文件或目录添加到现有的tar
、tar.gz
和tar.bz2
存档文件中,请使用选项-r
,这会将文件添加到现有的存档文件中。
tar -rvf example-14-09-12.tar xyz.txt tar -rvf MyImages-14-09-12.tar.gz xyz.txt tar -rvf Phpfiles-org.tar.bz2 xyz.txt
14. 验证 Tar 存档文件
以下命令将显示指定存档文件中包含的文件和目录的详细列表,以便您直观地验证存档的内容。如果存档已损坏或不完整,此验证过程可能会在列表过程中发现错误。
tar -tvf Phpfiles-org.tar.bz2
15. 检查 Tar 存档文件大小
tar
要检查任何、tar.gz
和存档文件的大小tar.bz2
,请使用以下命令,它将以千字节 ( KB ) 为单位显示存档文件的大小。
tar -czf - example-14-09-12.tar xyz.txt | wc -c tar -czf - MyImages-14-09-12.tar.gz xyz.txt | wc -c tar -czf - Phpfiles-org.tar.bz2 xyz.txt | wc -c
16. 创建 Tar 存档时排除文件
要在创建 tar 存档文件时排除某些文件和目录,可以使用以下命令以及一个--exclude
选项,该选项将在创建 tar 存档文件时排除文件和目录,如下所示。
tar --exclude='file1.txt' -zcvf backup.tar.gz /home/example tar --exclude='/home/example/uploads' -zcvf backup.tar.gz /home/example
在上面的命令中,我们从/home/example文件夹中排除了文件“ file1.txt ”和“ uploads ”目录。
(.txt)
要在创建 tar 存档文件时排除具有特定文件扩展名的文件,请使用:
tar --exclude='*.txt' -zcvf backup.tar.gz /home/example
17. 从 Tar 存档中删除文件
以下 tar 命令将使用选项从已创建的 tar 文件中删除文件或目录--delete
,如图所示。
tar --delete -f backup.tar.gz file1.txt tar --delete -f backup.tar.gz '/home/example/uploads'
18. 从 Tar 存档中提取文件扩展名
以下 tar 命令将仅使用所示的选项.png
从 tar 存档文件中提取具有特定扩展名的文件。--wildcards
tar -xvf backup.tar.gz --wildcards '*.png'
19. Tar 命令用法和选项
了解 ' tar ' 命令的以下各种选项和使用模式对于高效的文件归档、压缩和提取至关重要。
-c
– 创建档案文件。-x
– 提取档案文件。-v
– 显示存档文件的进度。-f
– 档案文件的文件名。-t
– 查看档案文件的内容。-u
– 存档并添加到现有存档文件。-j
– 通过 bzip2 过滤档案。-z
– 通过 gzip 过滤档案。-r
– 将文件或目录附加或更新到现有的存档文件。-W
– 验证存档文件。-A
– 连接档案文件。--wildcards
– 在 UNIX tar 命令中指定模式。--exclude
– 创建档案时排除文件和目录。--delete
– 从档案中删除文件和目录。
现在就是这样,希望上面的tar 命令示例足以供您学习,有关更多信息,请使用man tar命令。
# man tar
如果您希望将任何大型 tar 存档文件拆分为多个部分或块,请阅读本文:
如果我们遗漏了任何示例,请通过评论框与我们分享,请不要忘记与您的朋友分享这篇文章。这是表达感谢的最好方式……