Linuxのtarで「引数が多すぎます」と怒られた時

Linuxの引数には制限がある。ので大量のファイルをtarで固めようとすると「引数が多すぎます」と怒られたりする。まず引数の制限について。$getconf ARG_MAXとやると131072と返ってくるがこれは128K程度。2万ファイルのメールディレクトリ固めようとしたらそれはダメだわな。

$cd Mairdir
$tar cvf cur.tar cur/*
$引数が多すぎます

単純には引数が短ければ良いので上の階層に上がって以下のようにすれば良い。

$tar cvf cur.tar cur

その他の場合はxargという便利なコマンドがある。下記を参照。
http://x68000.q-e-d.net/~68user/unix/pickup?xargs

$echo /home/user/* | xargs grep hoge