ディレクトリ内のファイルの「ディレクトリ順序」とは何ですか(「ls -U」で使用)?

ディレクトリ内のファイルの「ディレクトリ順序」とは何ですか(「ls -U」で使用)?

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

ベストアンサー1

ファイルシステムによって異なります。一部のファイルシステム(そのうちext3)では、ディレクトリは実際にはよく知られている形式のファイルであり、その権限またはモードに「d」ビットが設定されています。この場合、ファイル名の長さの作成と削除の履歴が重要な場合があります。カーネルは、新しいファイルの名前を保存するのに十分なスペースを持つディレクトリファイルの最初のエントリを入力します。バラよりhttp://e2fsprogs.sourceforge.net/ext2intro.html詳細については、「物理的説明」セクションを参照してください。

Reiserfsなどの他のファイルシステムの場合、ディレクトリは実際にはB+ツリーの一部の項目これはファイルシステムでは見えないため、lsReiserfsファイルシステムの通常のディレクトリは語彙順にソートされます。

おすすめ記事