Linux で file が多いと下記のようにでることが

あるのですが、
/bin/rm: Argument list too long
どのくらいファイル数があるとなるのでしょうか?
こういう設定だとこうなるという対応表を教えてください。

回答の条件
  • URL必須
  • 1人2回まで
  • 登録:2007/03/26 20:27:01
  • 終了:2007/04/02 20:30:04

回答(2件)

id:b-wind No.1

b-wind回答回数3344ベストアンサー獲得回数4402007/03/26 20:34:31

ポイント35pt

UNIXの部屋 検索:xargs

長さの制限は OS によって異なり、FreeBSD では 64KB、Linux のあるディストリビューションでは 128KB、Solaris は 1MB である。実際の値は /usr/include を ARG_MAX で grep すればわかる。

id:kaiketsu

limits.h:#define ARG_MAX 131072 /* # bytes of args + environ for exec() */

でしょうか

2007/03/26 20:42:50
id:kurukuru-neko No.2

kurukuru-neko回答回数1844ベストアンサー獲得回数1552007/03/26 22:04:41

ポイント35pt

rm *.dat 

rm /xxx/yyy/zzz/*.dat

等のように文字列を展開したとき バイト数が

全体の文字数が ARG_MAXを超えた場合、

エラー( E2BIG )が発生する。

ディレクトリー/tttのファイル *.dat

を全て消すコマンド文字列を表示する。

find /ttt -name "*.dat" -type f -exec echo rm -f '{}' \;

※:echoで画面に表示しているだけです。

find

http://www.linux.or.jp/JM/html/GNU_findutils/man1/find.1.html

  • id:b-wind
    >limits.h:#define ARG_MAX 131072 /* # bytes of args + environ for exec() */
    それだと思います。
    引数の長さが 131072byte までと言う事です。

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

絞り込み :
はてなココの「ともだち」を表示します。
回答リクエストを送信したユーザーはいません