Articles
/ dev / zeroの目的は?
On 2月 17, 2021 by admin cat /dev/zero
を試しましたが、何も起こらなかったようです。/dev/zero
、そしてそれはそれが基本的に無限のサイズの空白のファイルであると言います。 cat
は、存在しない文字を無数に印刷していますか?これはどのように作動しますか? 0バイトの場合、どのようにして無限のデータを提供しますか?単に空のファイルを作成できる場合、このファイルの用途は何ですか?
コメント
EOF (プログラムがそれから読み取りたい場合)。/dev/zero
は無限に0バイトを返します。
回答
/dev/zero
は、ヌル文字の無限のストリームを提供する特別なファイル(この場合は疑似デバイス)です。 (つまり、hex 0x00)?そのため、cat
は何も出力しません(ただし、od
(オクタルダンプ)を実行してみてください)。
「無限サイズの空白ファイル」は100%正しくありません。通常のファイルではなく、特別なファイル(「ストリーム」やジェネレーターのようなもの)です。たとえば、dd
(dd if=/dev/zero of=yourfile count=1024 bs=1024
など)を使用して、必要なだけ読み取ることができます。
It 「実際には空白ファイルではなく、空白ファイルの作成にも使用されません。」は、ゼロのみで埋められたファイルまたはメモリページの作成に使用されます。それに書き込むこともでき、陥没穴のように機能します(ただし、より人気のある兄弟/dev/null
がより一般的に使用されます)。
コメント
- なぜ誰かが空白を埋めたいのですか?
- たとえば、以前にあったものを消去するためです。または送信時。
- '
srm
のマニュアルまたはソースを読んでいませんが、ほとんどの'安全な消去装置'は、ドライブをゼロにするのではなく、(疑似)ランダムデータを書き込むことを好みます。 (個々のビットが100%真に1または0ではなく、"ほとんどが1 "または"ほとんど0 "。左端"または"右端"ですが、通常は反対側にスイングするだけで十分です。 - @tkbxが
dd
パーティションを作成しようとするとすべての空のスペースを0に埋めることができますランダムではなく、より小さな圧縮ファイルを取得するlat er。 - @Konerak I 'それについてはかなり疑わしいです。 'あちこちで言われているのを聞いたことがありますが、'リモートで新しいハードドライブでそれが可能であるという証拠を見たことがありません(少なくとも過去10年間に作成されました。
cat -v /dev/zero
を実行して、その動作を確認します。未使用のスペースをゼロでクリアする(ext3、ext4)を参照してください。共通の目的のために。cat foo > /dev/null
とcat foo > /dev/zero
は同じですが、cat /dev/null
とcat /dev/zero
aren '同じです、正しいですか?/dev/null
はすぐに