Formål med / dev / zero?
On februar 17, 2021 by admin Jeg forsøgte at cat /dev/zero
, og det syntes ikke at gøre noget. Jeg googlede /dev/zero
, og det står, at det stort set er en tom fil med uendelig størrelse. Udskriver cat
et uendeligt antal ikke-eksisterende tegn? Hvordan virker det? Hvordan leverer det uendelige data, hvis det er “0 byte? Hvad bruger denne fil, hvis man simpelthen kan oprette en tom fil?
Kommentarer
- Kør
cat -v /dev/zero
for at se, hvad den laver. Se Ryd ubrugt plads med nuller (ext3, ext4) til et fælles formål. - Der er også / dev / null , der opfører sig som en tom fil, hvis du vil læse den og som en sort hul, hvis du skriver til det.
- @jofel men du kan ' t bruge / dev / null til uendelige 0-bits, ikke?
cat foo > /dev/null
ogcat foo > /dev/zero
er de samme, mencat /dev/null
ogcat /dev/zero
er ' t det samme, korrekt? - @tkbx ja, korrekt.
/dev/null
vender straks tilbage EOF hvis et program ønsker at læse fra det./dev/zero
returnerer uendeligt 0-bytes.
Svar
/dev/zero
er en speciel fil (i dette tilfælde en pseudo-enhed), der giver en uendelig strøm af nul tegn (så hex 0x00)? Derfor udsender din cat
ikke noget (men prøv at køre det gennem od
(oktalt dump)).
“tom fil med uendelig størrelse” er ikke 100% korrekt: den er ikke en almindelig fil, men en speciel fil (mere som en “stream” eller en generator). Du kan læse så meget fra det, som du vil, for eksempel med dd
(som dd if=/dev/zero of=yourfile count=1024 bs=1024
).
Det “er ikke rigtig en tom fil eller bruges til at oprette tomme filer: den bruges til at oprette filer eller hukommelsessider fyldt med kun nuller. Du kan også skrive til det, så det fungerer som et synkehul (dets mere populære bror /dev/null
bruges dog hyppigere til dette).
srm
manual eller kilde, men de fleste ' sikre viskelæder ' foretrækker at skrive (pseudo-) tilfældige data i stedet for at nulstille et drev, da en gennemgang af nuling ikke er sikker nok (visse bureauer med tre bogstaver kan stadig trække det originale indhold af en nulstillet harddisk, da de enkelte bits ikke er 100% virkelig 1 eller 0, men bare " for det meste 1 " eller " for det meste 0 ". Sammenlign det med en håndtag, som du kan sætte " hele vejen til venstre " eller " hele vejen til højre ", men normalt er det bare nok at svinge til den anden side.dd
en partition, du måske vil udfylde alt tomt rum til 0 snarere end tilfældigt for at få en mindre komprimeret fil lat er.