ソートなしで ls を使用する場合、ファイルの順序付け方法を決定するものは何ですか?

ソートなしで ls を使用する場合、ファイルの順序付け方法を決定するものは何ですか?

lsフラグを使用した場合の順序は、-UC で dirent.h ライブラリを使用してループでファイル名を表示する場合の順序と同じです。構造体d_offのメンバーを表示すると、dirent番号は昇順で表示されます。

これはファイルの順序の理由ですかd_off? もしそうなら、それは正確には何ですか? ファイル オフセットとして説明されているのを見ましたが、それが何を意味するのかわかりません。

前もって感謝します

答え1

からman 3 readdir

オフ
   d_off で返される値は、ディレクトリ ストリームの現在の位置で telldir(3) を呼び出すことによって返される値と同じです。そのタイプと名前にもかかわらず、d_off フィールドは、最近のファイル システムではディレクトリ オフセットの種類になることはほとんどないことに注意してください。アプリケーションは、このフィールドを不透明な値として扱い、その内容について想定しないでください。telldir(3) も参照してください。

言い換えれば、d_off順序は同じものだ; これは、そのディレクトリのファイル システムによって返されるディレクトリ エントリの番号です。

したがって、順序はファイル システム自体によって定義されます。順序は単純なもの (たとえば、FAT12 ディレクトリ内) または非常に複雑なもの (たとえば、複雑なファイル システム上の overlayFS) になる場合があります。

関連情報