dポイントプレゼントキャンペーン実施中!

lsコマンドでディレクトリのファイルをリスト化するのに
ls *ではファイル数が多すぎてエラーになります。

lsコマンドで表示可能なファイル数はいくつでしょうか。

A 回答 (4件)

findとxargsが常套回避手段ですね

    • good
    • 1

execve(2)のマニュアル



http://www.linux.or.jp/JM/html/LDP_man-pages/man …

に詳細な説明があります。
カーネル2.6.23までは128KB。それ以降はもっと大きいようですね。

# このページ、CentOS 5.2 の man execve (Linux 2.6.7/2004-06-23/EXECVE(2))よりもだいぶ詳しいなぁ…
    • good
    • 0

多分「ファイル数が多い」というエラーではなく, 「コマンドを実行するときの文字列が長すぎる」というエラーではない? エラーメッセージを正確に書けますか?


これは, カーネルがプロセスを起動するときの「コマンドの長さ」に制限があるからなんだけど, どれだけだったかなぁ.... 128kB くらいはあったような気がするけど....

この回答への補足

すみません
エラーは以下です。
/bin/ls: 引数リストが長すぎます.

環境はREDAHTE3.0です。

補足日時:2008/08/20 22:46
    • good
    • 0

>ls *ではファイル数が多すぎてエラーになります。


本当ですか?どんなエラーメッセージなんでしょう。
あなたの利用されている OS やハードウェアの環境を詳しく補足した方がよいでしょう。

私の環境(FreeBSD 6.3)では ls -R / でもエラーにはなりません。
ちなみに ls -R / | wc -l は 548187 です。
    • good
    • 1

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!