/ Dev / zero'nun amacı?


49

Denedim cat /dev/zerove hiçbir şey yapmadı. Googled /dev/zerove temelde sonsuz boyutta boş bir dosya olduğunu söylüyor. Is catvarolmayan karakter sonsuz sayıda baskı? Bu nasıl çalışıyor? 0 bayt ise, sonsuz veriyi nasıl sağlar? Biri sadece boş bir dosya oluşturabilirse, bu dosyanın kullanımları nelerdir?


11
cat -v /dev/zeroNe yaptığını görmek için koş . Ortak bir amaç için bkz. Kullanılmayan alanı sıfırlarla (ext3, ext4) temizleme .
Manatwork

Ayrıca okumak istiyorsanız boş bir dosya gibi davranan / dev / null ve eğer yazarsanız bir kara delik gibi davranır.
jofel

@jofel fakat / dev / null komutunu sonsuz 0 bit için kullanamazsınız, değil mi? cat foo > /dev/nullve cat foo > /dev/zeroaynıdır, ancak cat /dev/nullve cat /dev/zerodoğru, aynı değildir?
tkbx

@tkbx evet, doğru. Bir program ondan okumak isterse /dev/nullderhal EOF döndürür . /dev/zerosonsuz 0 bayt döndürür.
jofel

Yanıtlar:


53

/dev/zeroboş bir karakter dizisi sağlayan özel bir dosya (bu durumda, sözde aygıt) nedir? Bu nedenle, cathiçbir şey çıkmıyor (ancak içinden geçmeyi deneyin od(sekizli boşaltma)).

'sonsuz boyutta boş dosya'% 100 doğru değil: normal bir dosya değil, özel bir dosya (daha çok 'stream' ya da jeneratör gibi). Ondan istediğiniz kadar okuyabilirsiniz, örneğin dd(like dd if=/dev/zero of=yourfile count=1024 bs=1024).

Gerçekten boş bir dosya değil, boş dosyalar oluşturmak için de kullanılmıyor: yalnızca sıfırlarla dolu dosyalar veya bellek sayfaları oluşturmak için kullanılır. Ayrıca bir düden gibi performans göstererek yazabilirsiniz (daha popüler kardeşi /dev/nullbunun için daha yaygın kullanılır).


Neden birileri boş alanı doldurmak istesin ki?
tkbx

5
Örneğin, daha önce orada olanları silmek için. Veya iletirken.
Konerak

4
srmKılavuzu veya kaynağı okumamıştım , ancak çoğu 'güvenli silgi' bir sürücüyü sıfırlamak yerine rasgele veri yazmayı tercih ediyor, çünkü bir sıfırlama geçişi yeterince güvenli değil (bazı üç harfli ajanslar) tek tek bitler% 100 gerçek anlamda 1 veya 0 değil, sadece "çoğunlukla 1" veya "çoğunlukla 0" olduğundan, sıfırlanmış bir sabit diskin orijinal içeriğini hala düşürebilir. "ya da" bütünüyle doğru ", ancak genellikle diğer tarafa doğru bir salıncak yeterlidir.
Konerak

11
Bir bölmeye çalışırken @tkbx dddaha sonra daha küçük bir sıkıştırılmış dosya elde etmek için rastgele yerine tüm boş alanları 0'a kadar doldurmak isteyebilirsiniz.
neurino,

1
@Konerak Bundan oldukça şüpheliyim. Her yerde söylendiğini duydum ve bir zamanlar herhangi bir uzaktan sabit diskin mümkün olabileceğini gösteren bir kanıt görmedim (en azından son 10 yılda yapılmış).
Rob
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.