Из «Интерфейса программирования Linux»:
Имена файлов, возвращаемые readdir (), расположены не в отсортированном порядке, а в
порядок, в котором они встречаются в каталоге (это зависит от порядка в
какая файловая система добавляет файлы в каталог и как она заполняет пробелы в каталоге
список после удаления файлов). (Команда ls –f выводит список файлов в том же несортированном
Порядок, что они будут получены readdir ().)
Мы можем использовать функцию scandir (3), чтобы получить отсортированный список файлов, соответствующих
критерии, определенные программистом; см. страницу руководства для деталей. Хотя нет
указанный в SUSv3, scandir () предоставляется в большинстве реализаций UNIX.