Что такое «порядок каталогов» файлов в каталоге (используется `ls -U`)?

Согласно странице man для ls, ls -U означает:

не сортировать; список записей в каталоге.

Что означает «порядок каталога» и как он определяется?

Следующий тест (выполненный в файловой системе ext3) показывает, что это не тот порядок, в котором были созданы файлы:

 root@sv1010vm0007:/tmp# mkdir test root@sv1010vm0007:/tmp# touch test/2 root@sv1010vm0007:/tmp# touch test/1 root@sv1010vm0007:/tmp# touch test/3 root@sv1010vm0007:/tmp# ls -U test 2 3 1 

4 Solutions collect form web for “Что такое «порядок каталогов» файлов в каталоге (используется `ls -U`)?”

Это зависит от файловой системы. Для некоторых файловых систем (ext3 среди них) каталог на самом деле является файлом с хорошо известным форматом, а бит «d» установлен в его разрешениях или режиме. В этом случае история того, какие длины имен файлов были созданы и удалены, может иметь значение. Ядро заполнит первую запись в файле каталога, в которой будет достаточно места для хранения имени нового файла. Подробнее см. http://e2fsprogs.sourceforge.net/ext2intro.html , раздел «Физическое описание».

Для некоторых других файловых систем Reiserfs среди них каталог – это всего лишь некоторые записи в дереве B +, которые не видны в файловой системе, поэтому простой ls каталога в файловой системе Reiserfs находится в лексическом порядке.

В самом деле, нет конкретного порядка ожидать. Реализация операционной системы и файловой системы зависит от того, как это сделать. Одна из целей этого варианта состоит в том, чтобы получить более быстрый список, который может быть важным фактором с очень большими каталогами.

Это порядок, в котором записи хранятся внутри файловой системы. Это зависит от файловой системы и файловой системы. Например, entires могут храниться в каком-то сбалансированном дереве, таком как дерево Red-Black . Могут быть дальнейшие оптимизации для каталогов с небольшим количеством записей или эффективно работать с дополнениями и удалениями.

Каталог – это еще один файл, в котором перечислены метаданные реальных файлов. «ls -U» просто перечисляет entires в том же порядке в файле каталога.

Порядок определяется ОС и реализацией файловой системы.

  • Как отобразить n-й результат команды ls?
  • Список каталогов с точечными каталогами, затем точечными файлами
  • Можно ли изменить интервал между файлами с помощью ls
  • Как выводить только имена файлов (с пробелами) в ls -Al?
  • то, что является итоговым в выводе команды ls
  • Извлечь диапазон элементов из i-го элемента в j-й элемент, вплоть до n-го элемента из списка
  • stat: время печати в формате «long-iso»
  • Возможно ли изменить поведение команды по умолчанию?
  • Как перечислить atime для файлов?
  • Тип файла и разыменование при указании каталога с помощью команды LS
  • Как мне заставить «sudo ll» работать?
  • Linux и Unix - лучшая ОС в мире.