gar*_*ead 103 tar archive compression
在我的公司,我们将本地开发数据库快照下载为db.dump.tar.gz文件。压缩是有道理的,但 tarball 只包含一个文件 ( db.dump)。
归档单个文件是否有任何意义,或者.tar.gz只是这样一种常见的习惯用法?为什么不只是.gz?
jof*_*fel 164
使用.tar.gz而不是的优点.gz是
tar存储的元数据(UNIX 权限等)比gzip.使用的开销tar也很小。
如果不是真的需要,我仍然不建议 tar 单个文件。有可以直接访问压缩单个文件很多有用的工具(如zcat,zgrep等-也为现有的bzip2和xz)。
小智 30
仅使用 gzip 压缩的文本文件有一个很大的优势 - 可以使用less, zgrep,等命令行工具直接访问内容zcat。
plu*_*ash 21
我想说的是,人们可能只是没有意识到他们可以在没有 tar 的情况下使用 gzip/ bzip2 / xz。可能是因为它们来自DOS /Windows 背景,在这种背景下,压缩和存档以单一格式(ZIP、RAR等)集成是正常的。
由于元数据的存储或添加额外文件的能力,在某些情况下使用 tar 可能有一些优势,但也有缺点。使用普通的 gzip/bzip2/xz 文件,您可以解压缩它并将解压缩的数据直接传送到另一个工具(例如您的数据库),而无需将解压缩的数据作为文件存储在磁盘上。使用 tarball 这更难。
ale*_*xis 18
tar在某些情况下使用important有一个重要的区别:除了@jofel 在他的回答中提到的“元数据”之外,还将tar 文件名记录在档案中。提取它时,无论存档名称如何,您都会获得原始文件名。
在您的情况下,tar 存档及其包含的文件具有相关名称db.dump.tar.gz和db.tar,但假设您将 tar 文件重命名为20-Apr-16.dump.tgz,或其他名称。用 解压它tar xvfz,你就会得到db.dump. 为了进行比较,解压后20-Apr-16.dump.gz你就得到了20-Apr-16.dump. (编辑:正如评论中所指出的,gzip 还会记录文件名;但解压缩时通常不使用它)。一个tar存档也可以包含一个相对路径是放在一个子目录中提取的文件。
您的用例将决定这种文件名持久性是需要的,甚至是想要的,或者实际上是不受欢迎的。但可以肯定的是,无论压缩如何,tar存档的传输方式都与常规文件不同。
除了所有其他答案之外,我最近遇到了一种脚本编写情况,即只需要一个文件,但前任员工编写的脚本可能会生成多个文件。所以文件被 tar 和 bzipped,然后传输和扩展。
当进程增长到生成 4.3 GB 文件的程度时,它会翻转并生成 .dump.001 文件和 .dump 文件。所有的脚本都在继续工作。
这就是主动系统管理员懒惰的定义!
| 归档时间: |
|
| 查看次数: |
19857 次 |
| 最近记录: |