linuxでファイルが多いディレクトリの中を素早くlsする

最近忙しかったり、怠けてたり、ネタがなかったりで気がついたら4月何も書いてなかったのでせめて小ネタでも書く。

ext3などのファイルシステムによっては1ディレクトリ中のファイルが10万単位になると、lsを実行した際の応答が遅くなる。これはファイルの結果を名前順にsortしているから。というわけで"-f" オプションを付ければsortされないので、結果が早く帰ってくる。場合によってはls -f してからパイプでsortするほうが早くなるかも。

  • man ls

-f ディレクトリの中身をソートせず、ディスク上にある順番にリスト表示する。このオプションは
-a も有効にする。 -f より前に -l, --color, -s が指定された場合、それらのオプションは無効になる。


とはいえ、一度lsを実行したらキャッシュに載って次回以降早くなるのであまり気にしないでも良いかもしれないし、そもそも1ディレクトリに10万もファイル作るような仕組みを見直すほうが先だからls -f オプションなんて覚えてなくてもあまり困らないのであった。