Право, таким образом выполненное:
env | grep PATH
Ваш $PATH является списком каталогов. Unix пройдет тот список каталогов в порядке, пока он не найдет "Python".
Вы видите, какой каталог это находит с, 'которые' управляют:
which python
Это зависит от файловой системы. Для некоторых файловых систем (ext3 среди них), каталог является на самом деле файлом с известным форматом и 'd' набором битов в его полномочиях или режиме. В этом случае история того, какие имена файлов длины стали созданными и удаленными, может иметь значение. Ядро заполнит первую запись в файле каталога, который имеет достаточно комнаты для содержания имени нового файла. См. http://e2fsprogs.sourceforge.net/ext2intro.html для большего количества детали, раздел, названный "Физическое Описание".
Для некоторых других файловых систем, Reiserfs среди них, каталог является на самом деле просто некоторыми записями в B + дерево, это не видимо в файловой системе, таким образом, плоскость ls
из каталога в Reiserfs файловая система находится в лексическом порядке.
Действительно, нет никакого определенного порядка ожидать. Это до ОС и реализации файловой системы для упорядочивания записей путем, этому нравится. Одна цель этой опции состоит в том, чтобы получить более быстрый список, возможный, который может быть значимым фактором с очень большими каталогами.
Это - порядок, что записи хранятся внутренне в файловой системе. Это будет варьироваться от файловой системы до файловой системы. Например, записи могут быть сохранены в некотором сбалансированном дереве, таком как Красно-черное Дерево. Может быть дальнейшая оптимизация для каталогов с небольшим количеством записей, или иметь дело эффективно с дополнениями и удалениями.
Каталог является просто другим файлом, которые перечисляют метаданные фактических файлов. "ls-U" просто перечисляет записи в том же порядке в файле каталога.
Порядок определяется ОС и реализацией файловой системы.