• 締切済み

ディレクトリ一覧作成の高速化

UNIXで / 配下のディレクトリ一覧をファイル出力することになりました。 今は # find / -type d > /tmp/hoge.txt としてますが、/ 配下のファイル数(ディレクトリも含む)が30万以上もあるため、 一覧を出力するだけで非常に時間がかかります。 ディスクは1マシン辺り30本程ついています。 (この規模のマシンが50台くらい) 後の方法は、ls でドバーっと出力して後からディレクトリだけを抽出する、という 感じくらいかなと思うのですが、もっと早く出力する方法があれば教えてください。 よろしくお願いします。

みんなの回答

  • zsh
  • ベストアンサー率68% (11/16)
回答No.2

ディスクが大量にあるのであれば、 各ディスク並列にfindし、 結果をマージするようにすれば、 多少は早くなるのではないでしょうか?

  • Lean
  • ベストアンサー率72% (435/603)
回答No.1

それだけファイル(ディレクトリ含む)があると時間がかかるのは仕方ないのではないでしょうか? ファイル(ディレクトリ含む)数が同程度かそれ以上の環境で同じくディレクトリ一覧をファイルに出力した事がありますが数時間かかっていましたから。 あと、ls(1)コマンドの方が普通に実行すると内部で表示のためのソートを行っている分遅くなると思います。