システム全体のファイル制限を10 GBに設定しようとしています。走るとulimit -f
帰ってくるunlimited.
を実行すると、ulimit -a
ファイルサイズが単位で表示されますblocks
。これをバイトに変換するには?
ベストアンサー1
Bashでは、デフォルトは1024バイトですが、POSIXモードでは512バイトです(手動):
オプションが与えられない場合は
-f
仮定されます。値は1024バイト単位で増加します。[その他]、POSIXモード(Bash POSIXモードを参照)、-c
512-f
バイトの増分。
(POSIXはもちろん、512バイトブロックが必要.)
$ bash -c 'ulimit -Sf 1000;
head -c1024000 < /dev/zero > /tmp/test && echo ok;
echo x >> /tmp/test && echo ok'
ok
File size limit exceeded