Linux上的tar命令通常用于创建.tar.gz或.tgz归档文件,也称为“tarballs”。此命令有大量选项,但您只需记住几个字母即可快速创建归档文件。 tar命令也可以提取生成的归档。
Linux发行版包含的GNU tar命令具有集成压缩功能。 它可以创建一个.tar归档,然后在一个命令中使用gzip或bzip2压缩进行压缩。 这就是为什么生成的文件是一个.tar.gz文件或.tar.bz2文件。
压缩整个目录或单个文件
使用以下命令在Linux上压缩整个目录或单个文件。 它还会压缩您指定的目录中的每个其他目录,换句话说,它会递归地工作。tar -czvf name-of-archive.tar.gz / path / to / directory-or-file
这些开关实际上意味着什么:-c:C reate存档。
-z:压缩相克žIP存档。
-v:在终端显示进度的同时创建归档,也被称为“V erbose”模式。 v在这些命令中始终是可选的,但它是有帮助的。
-f:允许你指定存档的F ilename。
假设您在当前目录中有一个名为“stuff”的目录,并且要将其保存到名为archive.tar.gz的文件中。 您将运行以下命令:tar -czvf archive.tar.gz的东西
或者,假设在当前系统上的/ usr / local / something有一个目录,并且要将其压缩到一个名为archive.tar.gz的文件。 您将运行以下命令:tar -czvf archive.tar.gz / usr / local / something
一次压缩多个目录或文件
虽然tar经常被用来压缩单个目录,你也可以用它来压缩多个目录, 多个单独的文件 ,或两者兼而有之。 只是提供文件或目录的列表,而不是一个。 例如,假设您要压缩/ home / ubuntu / Downloads目录,/ usr / local / stuff目录和/home/ubuntu/Documents/notes.txt文件。 你只需运行以下命令:tar -czvf archive.tar.gz / home / ubuntu / Downloads / usr / local / stuff /home/ubuntu/Documents/notes.txt
只需列出您想要备份的目录或文件数。
排除目录和文件
在某些情况下,您可能希望压缩整个目录,但不包括某些文件和目录。 您可以通过添加一个这样做--exclude开关为每个目录或文件要排除。
例如,假设你想压缩/ home / ubuntu,但是你不想压缩/ home / ubuntu / Downloads和/home/ubuntu/.cache目录。 以下是您的操作方式:tar -czvf archive.tar.gz / home / ubuntu --exclude = / home / ubuntu / Downloads --exclude = / home / ubuntu / .cache
该--exclude开关是非常强大的。 它不包含目录和文件的名称 - 它实际上接受模式。 还有很多你可以做的。 例如,您可以使用以下命令归档整个目录并排除所有.mp4文件:tar -czvf archive.tar.gz / home / ubuntu --exclude = *。mp4
请改用bzip2压缩
虽然gzip压缩最常用于创建.tar.gz或.tgz文件,tar还支持bzip2压缩。 这允许您创建bzip2压缩文件,通常命名为.tar.bz2,.tar.bz或.tbz文件。 为此,请在此处的命令中将-z替换gzip替换为-j for bzip2。
Gzip更快,但它通常压缩一点,所以你得到一个更大的文件。 Bzip2较慢,但它压缩了一点,所以你得到一个较小的文件。 Gzip也更常见,一些精简的Linux系统默认情况下包括gzip支持,但不支持bzip2。 一般来说,gzip和bzip2实际上是相同的事情,两者都将工作类似。
例如,而不是我们提供的压缩stuff目录的第一个示例,您可以运行以下命令:tar -cjvf archive.tar.bz2 stuff
提取归档
一旦你有一个存档,你可以提取它与tar命令。 以下命令将archive.tar.gz的内容提取到当前目录。tar -xzvf archive.tar.gz
这是相同的,因为我们上面所用的归档文件的创建命令,除了-x开关代替了-c开关。 这指定要E X道存档,而不是创建一个。
您可能想将归档的内容解压缩到特定目录。 您可以通过附加这样做-C切换到命令的末尾。 例如,以下命令将archive.tar.gz文件的内容提取到/ tmp目录。tar -xzvf archive.tar.gz -C / tmp
如果文件是bzip2压缩文件,请将上述命令中的“z”替换为“j”。
这是tar命令的最简单可能的用法。 该命令包含大量附加选项,因此我们不能在此列出它们。 了解更多信息。 在shell运行信息的tar命令查看tar命令的详细信息页面 。 按Q键退出的信息页时,你就大功告成了。
如果您使用的是图形化的Linux桌面,还可以使用桌面附带的文件压缩实用程序或文件管理器来创建或解压缩.tar文件。 在Windows中,您可以提取,并与自由创造的.tar存档7-Zip的工具。