約100,000個のファイルを含むディレクトリがあります。ls -fが1分以上ハングします。私はstraceを実行し、すぐにgetdentsを確認し始めたので、lsは明らかにディレクトリを読み取っています。また、brkへの呼び出しが多いので、lsは明らかにメモリにバッファリングしています。readdirを呼び出してファイル名を出力する簡単なプログラムを書いたところ、すぐに応答しました。ただし、ls -fは出力を提供しません。何ができますか?-fの要点は、lsがreaddir以外に何も行わないことだと思いました。ディレクトリの内容をリストするポータブルで信頼できる方法はありますか?(これはLinux上のgnuのcoreutilsからのlsであることに注意してください。)
-編集-
エイリアスがありましたが、「/ bin / ls -1f> / dev / null」には8〜15秒かかります。「/ bin / ls -1fx> / dev / null」には4〜11秒かかりますが、簡単なプログラムreaddirは.011秒かかります。GNU lsが吸わないようにするために何をする必要がありますか?