/dev/null
ファイルに似ているか、またはファイルが実際には存在しない特別なファイルを作成したいが、ファイルの/dev/random
見かけ上のサイズに実際に制限があることを除いて、まだファイルから読み取ることができます。
つまり、特殊ファイルを作成し(上限を500GBに設定したと仮定)、ファイルを「cat」するとファイルの500GBがすべて出力されてから停止します。実際の500GBファイルと同じように機能する必要がありますが、スペースを占有しないでください。ファイルが何であるかは問題ではありません。おそらく、すべて\0
似て/dev/null
いるか、送信され続ける小さな文字列などです。
これができることですか?私が見つけることができる唯一のものはマニュアルページで説明されていますが、mknod
それほど役に立ちません。
答え1
あなたは作ることができますスパースファイル一部のファイルシステムでは現れる特定のサイズに達しますが、実際にはそれほど多くのスペースを使用しません。ディスク上。
$ dd if=/dev/null of=sparse bs=1024 count=1 seek=524288000
0+0 records in
0+0 records out
0 bytes (0 B) copied, 2.4444e-05 s, 0.0 kB/s
$ ls -l sparse
-rw-rw-r--. 1 ignacio ignacio 536870912000 May 9 22:25 sparse
$ du -h sparse
0 sparse
答え2
答え3
ファイルを表示する必要がない場合は、名前付きパイプを使用できます。
mkfifo my_special_file
yes | head -n 100 > my_special_file&
cat my_special_file
もちろん、複雑なスクリプトを含む他のコマンドを使用してパイプラインからデータを生成することもできます。
答え4
truncate コマンドを使用することもできます。例:以下は5MBファイルを生成します。
truncate -s 5M 5.dumpfile