/dev/zeroとは

# スワップ領域を作成するためのコマンド
以下が紹介されていた。

### dd
>```
>[root@sv12-CentOS74 ~]# dd if=/dev/zero of=ddtest bs=1024 count=1
>1+0 レコード入力
>1+0 レコード出力
>1024 バイト (1.0 kB) コピーされました、 0.000419075 秒、 2.4 MB/秒
>[root@sv12-CentOS74 ~]# ls ddtest -lh
>-rw-r--r-- 1 root root 1.0K  3月 19 04:21 ddtest
>```

https://qiita.com/jinnai73/items/b3209e95dec31d57c635#:~:text=%5Broot%40sv12%2DCentOS74%20~%5D%23%20dd%20if%3D/dev/zero%20of%3Dddtest%20bs%3D1024%20count%3D1%0A1%2B0%20%E3%83%AC%E3%82%B3%E3%83%BC%E3%83%89%E5%85%A5%E5%8A%9B%0A1%2B0%20%E3%83%AC%E3%82%B3%E3%83%BC%E3%83%89%E5%87%BA%E5%8A%9B%0A1024%20%E3%83%90%E3%82%A4%E3%83%88%20(1.0%20kB)%20%E3%82%B3%E3%83%94%E3%83%BC%E3%81%95%E3%82%8C%E3%81%BE%E3%81%97%E3%81%9F%E3%80%81%200.000419075%20%E7%A7%92%E3%80%81%202.4%20MB/%E7%A7%92%0A%5Broot%40sv12%2DCentOS74%20~%5D%23%20ls%20ddtest%20%2Dlh%0A%2Drw%2Dr%2D%2Dr%2D%2D%201%20root%20root%201.0K%20%203%E6%9C%88%2019%2004%3A21%20ddtest

>dd コマンドは、 InFile パラメーターまたは標準入力を読み取って指定された変換を行い、 変換したデータを OutFile パラメーターまたは標準出力にコピーします。
if=InFile	入力ファイル名を指定します。標準入力がデフォルト値です。

https://www.ibm.com/docs/ja/aix/7.1?topic=d-dd-command#:~:text=if%3DInFile,%E3%83%87%E3%83%95%E3%82%A9%E3%83%AB%E3%83%88%E5%80%A4%E3%81%A7%E3%81%99%E3%80%82

### fallocate
>使用可能なハードドライブのスペースを確認したので、ファイルシステムにスワップファイルを作成できます。root(/)ディレクトリにswapfileという必要なサイズのファイルを割り当てます。
>
>スワップファイルを作成する最良の方法は、fallocateプログラムを使用することです。このコマンドは、指定したサイズのファイルを即座に作成します。
>
>この例ではサーバーに1GのRAMを搭載しているため、このガイドでは1Gのファイルを作成します。独自のサーバーのニーズに合わせてこれを調整します。
>
>```
>sudo fallocate -l 1G /swapfile
>```
https://www.digitalocean.com/community/tutorials/how-to-add-swap-space-on-ubuntu-20-04-ja#:~:text=%E4%BD%BF%E7%94%A8%E5%8F%AF%E8%83%BD%E3%81%AA%E3%83%8F%E3%83%BC%E3%83%89,l%201G%20/swapfile

# /dev/zero
どうやらfallocateやddはコピーファイルを作成することに使われるらしい。
２つは大体結果が同じになりやすいと思う。だからddを調べている間`/dev/zero/`が頻杯に出ていたので気になって調べてみた。

>入力元として取るとNULL文字がいっぱい返ってくるファイル

https://wa3.i-3-i.info/word11744.html#:~:text=%E5%85%A5%E5%8A%9B%E5%85%83%E3%81%A8%E3%81%97%E3%81%A6%E5%8F%96%E3%82%8B%E3%81%A8NULL%E6%96%87%E5%AD%97%E3%81%8C%E3%81%84%E3%81%A3%E3%81%B1%E3%81%84%E8%BF%94%E3%81%A3%E3%81%A6%E3%81%8F%E3%82%8B%E3%83%95%E3%82%A1%E3%82%A4%E3%83%AB

>典型的利用例として、何らかの情報を上書きするキャラクタストリームとして使う。あるいは、特定サイズの内容が何もないファイルを作成するのにも使われる。

https://ja.wikipedia.org/wiki//dev/zero#:~:text=%E5%85%B8%E5%9E%8B%E7%9A%84%E5%88%A9%E7%94%A8%E4%BE%8B%E3%81%A8%E3%81%97%E3%81%A6%E3%80%81%E4%BD%95%E3%82%89%E3%81%8B%E3%81%AE%E6%83%85%E5%A0%B1%E3%82%92%E4%B8%8A%E6%9B%B8%E3%81%8D%E3%81%99%E3%82%8B%E3%82%AD%E3%83%A3%E3%83%A9%E3%82%AF%E3%82%BF%E3%82%B9%E3%83%88%E3%83%AA%E3%83%BC%E3%83%A0%E3%81%A8%E3%81%97%E3%81%A6%E4%BD%BF%E3%81%86%E3%80%82%E3%81%82%E3%82%8B%E3%81%84%E3%81%AF%E3%80%81%E7%89%B9%E5%AE%9A%E3%82%B5%E3%82%A4%E3%82%BA%E3%81%AE%E5%86%85%E5%AE%B9%E3%81%8C%E4%BD%95%E3%82%82%E3%81%AA%E3%81%84%E3%83%95%E3%82%A1%E3%82%A4%E3%83%AB%E3%82%92%E4%BD%9C%E6%88%90%E3%81%99%E3%82%8B%E3%81%AE%E3%81%AB%E3%82%82%E4%BD%BF%E3%82%8F%E3%82%8C%E3%82%8B%E3%80%82

> /dev/null または /dev/zero 文字特殊ファイルは常に空であり、/dev/null または /dev/zero に書き込まれるデータは破棄されます。ファイル /dev/null および /dev/zero のオブジェクト・タイプは *CHRSF であり、 通常のファイルと同様に使用できます。ただし、/dev/null ファイル内のデータは読み取られず、/dev/zero ファイルは常にデータをゼロにクリアして正常に戻されます。

 https://www.ibm.com/docs/ja/i/7.4?topic=systems-root-file-system#:~:text=/dev/null%20%E3%81%BE%E3%81%9F%E3%81%AF%20/dev/zero%20%E6%96%87%E5%AD%97%E7%89%B9%E6%AE%8A%E3%83%95%E3%82%A1%E3%82%A4%E3%83%AB%E3%81%AF%E5%B8%B8%E3%81%AB%E7%A9%BA%E3%81%A7%E3%81%82%E3%82%8A%E3%80%81/dev/null%20%E3%81%BE%E3%81%9F%E3%81%AF%20/dev/zero%20%E3%81%AB%E6%9B%B8%E3%81%8D%E8%BE%BC%E3%81%BE%E3%82%8C%E3%82%8B%E3%83%87%E3%83%BC%E3%82%BF%E3%81%AF%E7%A0%B4%E6%A3%84%E3%81%95%E3%82%8C%E3%81%BE%E3%81%99%E3%80%82%E3%83%95%E3%82%A1%E3%82%A4%E3%83%AB%20/dev/null%20%E3%81%8A%E3%82%88%E3%81%B3%20/dev/zero%20%E3%81%AE%E3%82%AA%E3%83%96%E3%82%B8%E3%82%A7%E3%82%AF%E3%83%88%E3%83%BB%E3%82%BF%E3%82%A4%E3%83%97%E3%81%AF%20*CHRSF%20%E3%81%A7%E3%81%82%E3%82%8A%E3%80%81%20%E9%80%9A%E5%B8%B8%E3%81%AE%E3%83%95%E3%82%A1%E3%82%A4%E3%83%AB%E3%81%A8%E5%90%8C%E6%A7%98%E3%81%AB%E4%BD%BF%E7%94%A8%E3%81%A7%E3%81%8D%E3%81%BE%E3%81%99%E3%80%82%E3%81%9F%E3%81%A0%E3%81%97%E3%80%81/dev/null%20%E3%83%95%E3%82%A1%E3%82%A4%E3%83%AB%E5%86%85%E3%81%AE%E3%83%87%E3%83%BC%E3%82%BF%E3%81%AF%E8%AA%AD%E3%81%BF%E5%8F%96%E3%82%89%E3%82%8C%E3%81%9A%E3%80%81/dev/zero%20%E3%83%95%E3%82%A1%E3%82%A4%E3%83%AB%E3%81%AF%E5%B8%B8%E3%81%AB%E3%83%87%E3%83%BC%E3%82%BF%E3%82%92%E3%82%BC%E3%83%AD%E3%81%AB%E3%82%AF%E3%83%AA%E3%82%A2%E3%81%97%E3%81%A6%E6%AD%A3%E5%B8%B8%E3%81%AB%E6%88%BB%E3%81%95%E3%82%8C%E3%81%BE%E3%81%99%E3%80%82
### 調べてみた
```
sudo less -f /dev/zero
^@^@^@^@^@^@^@^@....
```

# 感想
中身は空だけど容量があるのか。