/dev/null
En sistemes operatius tipus Unix, /dev/null o perifèric nul (null device) és un fitxer especial que descarta tota la informació que s'escriu o redirecciona en ell. Al seu torn, no proporciona cap dada a qualsevol procés que intenti llegir d'ell, tornant simplement un EOF o fi de fitxer.
Generalment s'usa en shell scripts per redirigir la sortida d'un flux de dades (stream) d'un procés o com un fitxer buit que actua com entrada d'un flux de dades d'un procés.
La forma més comuna utilitzada és mitjançant la redirecció, ja que /dev/null, com ja s'ha dit, és un fitxer especial i no un directori; per tant, no es poden moure (mv) ni copiar (cp) fitxers en el seu interior.
Exemples d'ús
[modifica]Primer exemple
[modifica]uname -r > /dev/null/
Anàlisi de l'ordre:
- 'uname': mostra informació del sistema.
- -r: Argument per l'ordre anterior, la qual li diu a l'ordre "uname" que mostri la versió completa del kernel del sistema.
- >: Aquest és una ordre de redirecció. Redirecciona el resultat de l'ordre "uname -r" a un arxiu; en aquest cas, a l'arxiu:
- /dev/null : Aquest arxiu rep la informació resultant, tanmateix, no l'emmagatzema com succeiria amb una arxiu normal. A continuació, la consola no reporta cap informació ni error.
Segon exemple
[modifica]En aquest exemple l'usuari desitja trobar el nom d'un fitxer dins de paquet RPM:
for i in *.rpm; do (rpm -qlp $i | grep $1 >/dev/null && echo $i); done
Anàlisi de l'ordre:
- for i in *.rpm : efectua un bucle sobre tots els arxius del tipus .rpm.
- do (rpm -qlp $i | grep $1 >/dev/null && echo $i) ' ' : execució de la comanda.
- rpm -qlp $i | grep $1 : realitza una recerca dins de cada arxiu .rpm trobat i mostra el resultat (el nom del fitxer buscat).
- >/dev/null: PERÒ, com no desitja el resultat (en realitat és el nom del fitxer buscat que ja el coneixem).
- &&echo $i : el que volem és el nom de l'arxiu (paquet rpm) que el conté, ho mostrem utilitzant un echo.
- done: finalitza el bucle.