tar:当没有指定排序时,是否使用参数顺序?

tar:当没有指定排序时,是否使用参数顺序?

在 GNU tar 中,联机帮助页显示:

默认值为 --sort=none,它按照操作系统返回的顺序存储存档成员。

但是操作系统返回什么?特别是,我很感兴趣,如果是的话保证当我将 tar 条目作为命令行参数传递时

tar -cf file.tar a b c

ab和的顺序c被保留。

答案1

指定的排序顺序--sort 仅有的影响命令行上指定的文件和目录子目录的排序。它不影响命令行上给出的路径的顺序。

在你的情况下,命令

tar -cf file.tar a b c

无论指定的顺序如何,都会a先存档b,然后存档。如果其中任何一个是目录,则 using将影响从这些目录添加文件和子目录的顺序,但不会影响,和 的顺序。c--sort--sortabc

操作系统返回条目的顺序与使用 时出现的顺序相同ls -f。该顺序是目录节点存储条目的顺序,并且可能取决于许多因素,例如添加和删除文件的顺序(它取决于文件系统实现)。

相关内容