/dev/null
/dev/null är i operativsystem av Unix-typ en särskild sorts fil som representerar en virtuell (fysiskt icke-existerande) periferienhet. I Unix är periferienheter representerade av filer i katalogen /dev. Filen null i denna katalog har den särskilda egenskapen att alla data som omdirigeras till den "försvinner". Vid läsning returnerar filen omedelbart EOF. /dev/null kallas ibland för det "svarta hålet" på programmerarslang. Enheten används för att konsumera utdata som den anropande processen inte har någon användning för, eller som ett enkelt sätt att representera en tom fil.
I andra operativsystem
[redigera | redigera wikitext]Motsvarande enhet i CP/M (och efterföljare som DOS och Windows) kallas NUL:, eller bara NUL. I Windows NT och dess efterföljare är namnet \Device\Null.
Exempelanvändning
[redigera | redigera wikitext]Exempel på ett kommando som kan användas i Red Hat Linux för att hämta namnet på ett installationspaket som innehåller en viss fil:
for i in *.rpm ; do (rpm -qlp $i | grep $1 >/dev/null && echo $i) ; done
for i in *.rpm | Gå igenom alla paket med filnamnsändelsen '.rpm' |
do (rpm -qlp $i | grep $1 >/dev/null && echo $i) | Kör kommandot |
rpm -qlp $i | grep $1 | Gör en sökning i paketet $i efter filen $1 och skriv ut resultatet (alltså namnet på den fil vi söker efter). |
>/dev/null | Men! Vi är inte intresserade av filnamnet (vi vet redan vilken fil vi letar efter). |
&& echo $i | Däremot är vi intresserade av namnet på paketet som producerade resultatet (det innehåller filen). |
done | Avsluta for-slingan (alla filer med ändelsen '*.rpm') |
Begreppet /dev/null används också i datavitsar, till exempel "Alla supportärenden omdirigeras automatiskt /dev/null" (alltså att alla supportärenden kastas omedelbart) eller skämtsamma varningsmeddelanden som "/dev/null är nu 98 % full".