Próbowałem cat /dev/zero
, ale to nic nie zrobiło. Poszukałem /dev/zero
go w Google i napisano, że jest to po prostu pusty plik o nieskończonym rozmiarze. Czy cat
drukuje nieskończoną liczbę nieistniejących znaków? Jak to działa? W jaki sposób zapewnia nieskończone dane, jeśli ma 0 bajtów? Jakie są zastosowania tego pliku, jeśli można po prostu utworzyć pusty plik?
filesystems
tkbx
źródło
źródło
cat -v /dev/zero
aby zobaczyć, co robi. Zobacz Czyszczenie nieużywanego miejsca zerami (ext3, ext4) dla wspólnego celu.cat foo > /dev/null
icat foo > /dev/zero
są takie same, alecat /dev/null
icat /dev/zero
to nie to samo, prawda?/dev/null
natychmiast zwraca EOF, jeśli program chce z niego czytać./dev/zero
zwraca nieskończenie 0 bajtów.Odpowiedzi:
/dev/zero
to specjalny plik (w tym przypadku pseudo-urządzenie), który zapewnia niekończący się strumień pustych znaków (więc hex 0x00)? Dlategocat
nic nie wypisuje (ale spróbuj to uruchomićod
(ósemkowy zrzut)).„pusty plik o nieskończonym rozmiarze” nie jest w 100% poprawny: nie jest to zwykły plik, ale plik specjalny (bardziej jak „strumień” lub generator). Możesz przeczytać z niego tyle, ile chcesz, na przykład za pomocą
dd
(lubiędd if=/dev/zero of=yourfile count=1024 bs=1024
).Nie jest to tak naprawdę pusty plik ani nie jest używany do tworzenia pustych plików: służy do tworzenia plików lub stron pamięci wypełnionych tylko zerami. Możesz także do niego pisać, dzięki czemu działa on jak zlew (bardziej popularny
/dev/null
jest jednak do tego bardziej popularny brat ).źródło
srm
instrukcji ani źródła, ale większość „bezpiecznych gumek” woli zapisywać (pseudo-) losowe dane zamiast zerowania dysku, ponieważ jedno przejście zerowania nie jest wystarczająco bezpieczne (niektóre trzyliterowe agencje nadal można odjąć oryginalną zawartość zerowanego dysku twardego, ponieważ poszczególne bity nie są w 100% prawdziwe 1 lub 0, ale tylko „głównie 1” lub „głównie 0”. Porównaj to z dźwignią, którą możesz umieścić „do końca „lub„ całkowicie w prawo ”, ale zwykle wystarczy tylko przechylenie na drugą stronę.dd
partycję, możesz chcieć wypełnić całe puste miejsce do 0 zamiast losowo, aby później uzyskać mniejszy skompresowany plik.