/ 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.