目录的默认排序参数集是什么以及如何更改它?



我正在使用Ubuntu 14.04。 在一个目录中,我有大约 12,00,000 张图像。 图像以升序数值命名,例如:

1234567890.jpg
1234567891.jpg
....
1245367890.jpg

我相信,这些图像是按名称排序的。 但是我运行来处理图像的程序会随机获取文件。 这使我相信该特定文件夹中的文件不是按名称排序的,而是按复制到服务器的时间排序的,或者可能是按其大小排序的。

如何在 Ubuntu 中设置要命名的目录的默认文件排序参数?

这个问题中几乎没有信息可以作为答案的基础,所以既然你在这里使用Unix和LinuxSE,我假设你指的是shell脚本。如果您想提供更多细节,可能会有更有针对性的答案。

在 shell 脚本中,您通常会使用通配符遍历目录条目,该通配符根据您的区域设置(通常按字母数字)隐式对文件进行排序:

for item in *; do echo "Got $item"; done

ls程序还具有内置的排序功能,但您可以使用-f标志禁用此功能(请参阅man ls):

ls -f

find命令遍历未排序的目录,如果需要,用户可以对输出进行排序:

find . -maxdepth 1

以编程方式,您或您的库将使用opendir(3)readdir(3),它们对未排序的目录条目进行操作。

实际上并没有向目录本身添加排序标准的概念(尽管我相信某些文件系统确实更喜欢排序目录)。

最新更新