Formål med / dev / zero? (Norsk)
On februar 17, 2021 by admin Jeg prøvde å cat /dev/zero
, og det så ikke ut til å gjøre noe. Jeg googlet /dev/zero
, og det står at det i utgangspunktet er en tom fil med uendelig størrelse. Skriver cat
et uendelig antall ikke-eksisterende tegn? Hvordan virker dette? Hvordan gir det uendelige data hvis det er 0 byte? Hva bruker denne filen hvis man bare kan lage en tom fil?
Kommentarer
Svar
/dev/zero
er en spesiell fil (i dette tilfellet en pseudo-enhet) som gir en uendelig strøm av null tegn (så hex 0x00)? Det er derfor cat
ikke gir noe (men prøv å kjøre det gjennom od
(oktalt dump)).
«blank fil med uendelig størrelse» er ikke 100% riktig: den er ikke en vanlig fil, men en spesiell fil (mer som en «stream» eller en generator). Du kan lese så mye fra det du vil, for eksempel med dd
(som dd if=/dev/zero of=yourfile count=1024 bs=1024
).
Det «s egentlig ikke en tom fil, og heller ikke brukt til å lage tomme filer: den brukes til å lage filer eller minnesider fylt med bare nuller. Du kan også skrive til den, slik at den fungerer som et synkehull (den mest populære broren /dev/null
brukes ofte til dette).
Kommentarer
- Hvorfor skulle noen ønske å fylle ut tomrom, skjønt?
- For eksempel å slette det som var der før. Eller når du sender.
- Jeg ' har ikke lest
srm
manualen eller kilden, men de fleste ' sikre viskelær ' foretrekker å skrive (pseudo-) tilfeldige data i stedet for å nullstille en stasjon, siden en passering av nullering ikke er sikker nok (visse byråer med tre bokstaver kan fremdeles trekke det originale innholdet i en nullstilt harddisk, siden de enkelte bitene ikke er 100% virkelig 1 eller 0, men bare " stort sett 1 " eller " for det meste 0 ". Sammenlign det med en spak som du kan sette " helt til venstre " eller " helt til høyre ", men vanligvis er det bare nok å svinge til den andre siden. - @tkbx prøver å
dd
en partisjon som du kanskje vil fylle ut tomt tomrom til 0 i stedet for tilfeldig for å få en mindre komprimert fil lat er. - @Konerak I ' er ganske mistenkelig for det. Jeg ' har hørt det sagt overalt, og jeg ' har aldri en gang sett bevis for at det var mulig på en ekstern ny harddisk ( laget minst de siste 10 årene).
cat -v /dev/zero
for å se hva den gjør. Se Fjern ubrukt plass med nuller (ext3, ext4) for et felles formål.cat foo > /dev/null
ogcat foo > /dev/zero
er de samme, mencat /dev/null
ogcat /dev/zero
er ' t det samme, riktig?/dev/null
returnerer umiddelbart EOF hvis et program vil lese fra det./dev/zero
returnerer uendelig 0-byte.