彻底理解Linux归档压缩神器~tar

tar命令概述实战演练tar命令可以创建、更新、检查以及解包归档文件。(1)用tar创建归档文件:$ tar -cf output.tar [SOURCES]选

大家好,今天给各位分享彻底理解Linux归档压缩神器~tar的一些知识,其中也会对进行解释,文章篇幅可能偏长,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在就马上开始吧!

(1) 使用tar创建归档文件:

$ tar -cf 输出.tar [来源]

选项-c表示创建一个新的归档文件。选项-f 代表归档文件名,后面必须跟一个文件名:

$ tar -cf archive.tar 文件1 文件2 文件3 文件夹1 .

(2) 选项-t可以列出压缩包中包含的文件:

$ tar -tf 存档.tar

文件1

文件2

(3)选项-v或-vv参数可以在命令输出中添加更详细的信息。

此功能称为“详细模式(v,verbose)”或“非常详细模式(vv,非常详细)”。 -v 是在终端中生成报告的命令的常规选项。该选项可以显示更多详细信息,例如文件权限、所有者所属组、文件修改日期等信息:

$ tar -tvf 存档.tar

-rw-rw-r– shaan/shaan 02013-04-08 21:34 file1

-rw-rw-r– shaan/shaan 02013-04-08 21:34 file2

文件名必须紧接在-f 之后出现,并且-f 应该是列表中的最后一个选项。如果你想使用详细模式,你可以这样写:

$ tar -cvf 输出.tar 文件1 文件2 文件3 文件夹1

正则表达式在tar中的应用

tar 命令可以接受一组文件名或通配符(例如*.txt)来指定需要归档的源文件。该命令执行后,所有源文件都会包含在指定的归档文件中。

命令行参数的数量是有限制的,我们不能一次传递数百个文件或目录。如果您有很多文件要存档,那么使用追加选项会更安全。

tar追加部分文件到压缩档

选项-r 可以将新文件追加到现有存档文件的末尾

tar -rvf 原始文件.tar 新文件

如何列举压缩档中的文件

当压缩文件非常大并且您只想提取几个文件时,此功能非常有用。

-t 选项列出存档的内容。选项-f可以指定归档文件名

tar -tf 存档.tar

你好.txt

从归档文件中提取文件或目录

选项-x 可以将存档文件的内容提取到当前目录。当使用-x 时,tar 命令会将归档文件的内容提取到当前目录。我们还可以使用选项-C 来指定文件应解压到的目录。

这也非常有用,因为您不再需要来回复制文件。

$ tar -xf archive.tar -C /path/to/extraction_directory

在tar中使用stdin和stdout

将stdout 指定为输出文件,以便另一个命令可以通过管道将其读取(作为stdin)并执行其他处理。

通过Secure Shell (SSH) 传输数据时

tar cvf – 文件/| ssh user@example.com ‘tar xv -C 文档/’

files 目录的内容被归档并输出到stdout(由- 指定),然后提取到远程系统上的Documents 目录中。

这种压缩和解压缩操作在内存中快速执行,不需要中间存储。缺点是透明,无法知道内部进度。

拼接两个归档文件

彻底理解Linux归档压缩神器~tar

假设我们现在有两个tar 文件:file1.tar 和file2.tar。以下命令可以将file2.tar的内容合并到file1.tar中

tar -Af 文件1.tar 文件2.tar

通过检查时间戳来更新归档文件中的内容

追加选项(-r) 可以将任何指定的文件添加到存档文件中。如果已存在同名文件,则存档将包含两个同名文件。我们可以使用更新选项-u来指定:只添加比压缩包中同名文件更新(更新)的文件。

这个操作也很实用。如果需要更新一两个压缩文件,则无需花费时间压缩整个文档。

tar -uf archive.tar 文件a

您可以使用-t 验证时间戳是否已更改,或-xf 提取新文件并检查内容以确认。

比较归档文件与文件系统中的内容

-d 选项将存档中的文件与文件系统中的文件进行比较。该函数可用于确定是否需要创建新的存档。

从归档中删除文件

tar -f archive.tar –删除file1 file2

压缩tar归档文件

一个容易混淆的概念,tar 只归档而不压缩。 -a 或–auto-compress 选项完成压缩

tar命令默认只归档文件,不压缩文件。但是,tar 支持相关的压缩选项。压缩可以显着减小文件大小。存档文件通常被压缩为以下格式之一。

gzip 格式:file.tar.gz 或file.tgz。

bzip2 格式:文件.tar.bz2。

Lempel-Ziv-Markov 格式:file.tar.lzma。

不同的tar 选项可用于指定不同的压缩格式:

-j 指定bunzip2格式;

-z 指定gzip格式;

–lzma 指定lzma 格式。

无需明确指定上述特定选项即可使用压缩。

tar的智能压缩算法

tar 可以根据输出或输入文件的扩展名进行压缩。为了让tar支持基于扩展名的自动选择压缩算法。

在归档过程中排除部分文件

选项–exclude [PATTERN] 可以从归档过程中排除与通配符模式匹配的文件。

请注意,应使用双引号将模式引起来,以防止shell 扩展它。

如果需要排除的文件较多,也可以将需要排除的文件列表放到一个文件中,并使用选项-X:

$ 猫列表

菲莱拉

文件b

$ tar -cf arch.tar * -X 列表

排除版本控制目录

tar 文件的用途之一是分发源代码。许多源代码都是使用版本控制系统维护的,例如subversion、Git、mercurial 和CVS。版本控制系统中的代码目录通常包含一些特殊目录,例如.svn或.git。这些目录由版本控制系统管理,对开发人员以外的用户用处不大。无需将其包含在分发给用户的tar 文件中。

tar选项–exclude-vcs可以在归档时排除版本控制相关的文件和目录

打印总字节数

选项-totals 可以打印出存档中的总字节数。请注意,这是数据的实际字节数。如果使用压缩选项,文件大小将小于归档总字节数:

用户评论

彻底理解Linux归档压缩神器~tar
一生只盼一人

终于有一个简单易懂的教程讲解tar命令了!我之前一直以为这东西太复杂,实际操作起来却很容易!作者说得都很有道理,受益良多!

    有9位网友表示赞同!

彻底理解Linux归档压缩神器~tar
颓废人士

说的没错,tar真是个强大的工具!之前总是用zip和7z,但遇到很多文件,这些软件就有点力不从心了。之后我试了一下tar,确实效率很高,而且可以自定义压缩档案的等级,这对于储存空间很重要。

    有20位网友表示赞同!

彻底理解Linux归档压缩神器~tar
短发

这篇文章讲得真好!尤其是关于“-c”, “-x”, “-t”, “-v”等选项的使用,非常清晰详细,完全搞懂了这些基础指令的功能和用法!

    有19位网友表示赞同!

彻底理解Linux归档压缩神器~tar
羁绊你

虽然tar本身很简单,但配合其他工具使用就更强大。作者也提到了这方面的内容,比如如何用gzip和xz文件压缩tar档案?真的太棒了!我已经迫不及待去实践它了

    有18位网友表示赞同!

彻底理解Linux归档压缩神器~tar
情深至命

讲到归档压缩,还得提到bzip2的优缺点啊! tar压缩本身速度快,而且兼容性强,但我感觉bzip2能提供更强的压缩比!

    有16位网友表示赞同!

彻底理解Linux归档压缩神器~tar
身影

之前一直没尝试过tar,因为以为太复杂了。看了这篇文章才发现它其实很直观易懂!以后我会把它作为我的常用工具吧!

    有15位网友表示赞同!

彻底理解Linux归档压缩神器~tar
命该如此

我用的Linux系统版本比较高,有些功能和指令可能不太一样吧。作者的例子或许可以参考,但还是得根据自己的环境进行实践操作。

    有18位网友表示赞同!

彻底理解Linux归档压缩神器~tar
冷青裳

这篇文章没有提到如何使用tar去处理文件夹中的特殊文件或符号链接吗?这部分内容也很重要啊!

    有16位网友表示赞同!

彻底理解Linux归档压缩神器~tar
青衫故人

tar真是一把利器!以前总是麻烦地一个一个的压缩文件,现在只需要一行命令就能搞定,省去了很多时间和精力。我强烈推荐给所有Linux用户使用tar!

    有19位网友表示赞同!

彻底理解Linux归档压缩神器~tar
嗯咯

虽然tar真的很方便,但是有时候那些大型档案解压起来也很费时啊。有没有什么技巧可以加快解压速度呢?

    有20位网友表示赞同!

彻底理解Linux归档压缩神器~tar
等量代换

这篇文章写得真好,终于有人来讲解tar命令了!之前我一直用zip和7z,但tar确实更强大,而且更适合处理大量文件。这个教程帮助我入门了!

    有10位网友表示赞同!

彻底理解Linux归档压缩神器~tar
熟悉看不清

这篇博客介绍的不错,但是缺少一些实际案例和应用场景的讲解。比如可以使用tar压缩哪些类型的档案?有哪些行业的应用场景?

    有14位网友表示赞同!

彻底理解Linux归档压缩神器~tar
我就是这样一个人

文章没有提到tar的一些安全问题,比如如何防止被恶意压缩文件攻击? 这部分内容也值得关注!

    有7位网友表示赞同!

彻底理解Linux归档压缩神器~tar
有恃无恐

我很想学习用tar来打包安装软件, 但是这篇文章只介绍了基本的用法。有没有后续的文章讲解如何使用tar在软件开发中应用呢?

    有19位网友表示赞同!

彻底理解Linux归档压缩神器~tar
挽手余生ら

tar命令其实蛮灵活的,可以结合其他工具进行更复杂的处理,比如使用shell脚本自动化任务等等。希望作者能提供更多高级操作的小技巧!

    有18位网友表示赞同!

彻底理解Linux归档压缩神器~tar
迁心

看了这篇文章之后,我感觉tar真的太简单了,简直就是Linux用户必备技能!而且它还能配合其他命令,实现很多功能。 值得学习!

    有10位网友表示赞同!

彻底理解Linux归档压缩神器~tar
?亡梦爱人

其实我觉得tar的使用场景还是有限的,对于一些图片、视频等大文件压缩来说, 7z或者rar可能会更合适。

    有15位网友表示赞同!

原创文章,作者:小su,如若转载,请注明出处:https://www.sudun.com/ask/200470.html

(0)
小su's avatar小su
上一篇 2024年9月27日 下午10:57
下一篇 2024年9月27日 下午11:02

相关推荐

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注