Według strony podręcznika dla ls ls -U
oznacza:
nie sortuj; wyświetlać wpisy w kolejności katalogowej.
Co oznacza „porządek katalogów” i jak się to określa?
Poniższy test (przeprowadzony w systemie plików ext3) pokazuje, że nie jest to kolejność, w jakiej pliki zostały utworzone:
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
źródło
Rzeczywiście nie ma konkretnego zamówienia. To do systemu operacyjnego i implementacji systemu plików należy porządkowanie wpisów w dowolny sposób. Jednym z celów tej opcji jest uzyskanie możliwie szybszej listy, co może być znaczącym czynnikiem w przypadku bardzo dużych katalogów.
źródło
Kolejność, w której wpisy są przechowywane wewnętrznie w systemie plików. Będzie to różnić się w zależności od systemu plików. Na przykład, wpisy mogą być przechowywane w jakimś zrównoważonym drzewie, takim jak drzewo czerwono-czarne . Mogą istnieć dalsze optymalizacje katalogów z niewielką liczbą pozycji lub efektywne radzenie sobie z dodatkami i usunięciami.
źródło
Katalog to tylko kolejny plik, który zawiera metadane rzeczywistych plików. „ls -U” po prostu wyświetla wpisy w tej samej kolejności w pliku katalogu.
Kolejność zależy od systemu operacyjnego i implementacji systemu plików.
źródło