GNU/Linux >> Linux Esercitazione >  >> Linux

Che cos'è /dev/null in Linux

Il '/dev ' La directory nei sistemi basati su Linux e Unix contiene i file corrispondenti ai dispositivi collegati al sistema. Ad esempio, come si vede nello screenshot qui sotto, si accede all'unità CD usando "cdrom ', unità DVD con 'dvd ', si accede ai dischi rigidi utilizzando 'sda1 ', 'sda2 ', ecc.

Lettura consigliata :Che cos'è "> /dev/null 2>&1" in Linux

Tutti questi file comunicano con il sistema Linux attraverso i rispettivi file in '/dev '. L'elaborazione di input/output dei dispositivi avviene tramite questi file. Ciò è dovuto a una caratteristica importante del filesystem in Linux:tutto è un file o una directory.

$ cd /dev

Oltre a questi file che rappresentano dispositivi fisici reali, ci sono alcuni file in "/dev ' noti come 'file di dispositivo virtuale ' o 'file pseudo-dispositivo '. Questi file non gestiscono alcun dispositivo e vengono utilizzati per fornire varie funzioni richieste dal sistema operativo.

Ad esempio, il file "/dev/random ' quando letto, restituisce un insieme di byte casuali generati dal generatore di numeri casuali.

Uno di questi file molto comunemente utilizzato è "/dev/null '. Oggi cercheremo di conoscere questo file e per quale scopo è presente in Linux.

/dev/null:che cos'è e perché c'è?

In Linux, potresti sapere che principalmente la riga di comando viene utilizzata per eseguire non solo processi amministrativi o processi di gestione del server, ma anche processi quotidiani. La riga di comando (chiamata anche Terminale ) esegue un programma e stampa l'output (noto anche come log ).

Il terminale stampa due tipi di output:

  1. STDOUT o "Output standard ' è l'output contenente informazioni generali sull'esecuzione del programma e messaggi di successo dell'esecuzione del programma.
  2. STDERR o "Errore standard ' è l'output contenente i messaggi di errore dell'esecuzione del programma.

Più grande è il processo, più grande è il log prodotto dal processo. Molte volte, la maggior parte del registro non è nemmeno rilevante per l'utente. Questo utilizza anche risorse non necessarie della macchina.

Lettura correlata :Come filtrare le voci del file di registro in base all'intervallo di date

In questi casi, "/dev/null ' torna utile. Questo file viene utilizzato come un "sink ', ovvero un file di destinazione per scrivere il log. Tranne che non appena il registro viene scritto in questo file, viene immediatamente eliminato/cancellato dal sistema operativo.

$ ls /dev

Evidenziato in giallo sopra è il file "null ' nella directory 'dev ' filesystem.

Pertanto, poiché i dati vengono eliminati immediatamente, viene impedito un consumo di memoria non necessario. Ciò è particolarmente utile nel caso di script di automazione complessi che contengono l'output di 10s e 20 anni di programmi.

Per indirizzare l'output di qualsiasi programma a /dev/null , usa semplicemente l'operatore di reindirizzamento nella shell Linux (‘>’) come segue.

$ ls > /dev/null

Come puoi vedere, quando "ls ' viene eseguito normalmente mostra il contenuto della directory come output, tuttavia, quando viene reindirizzato a /dev/null , l'output completo viene soppresso.

Conclusione

In questo articolo abbiamo appreso di /dev/null e il suo utilizzo in Linux. Puoi saperne di più sul reindirizzamento dell'output a /dev/null con varie combinazioni di STDOUT e STDERR qui.

Se hai domande o feedback, faccelo sapere nei commenti qui sotto!


Linux
  1. Cosa sono i file /dev/zero e /dev/null in Linux

  2. Linux:differenza tra /dev/console , /dev/tty e /dev/tty0

  3. È sbagliato collegare /dev/random a /dev/urandom su Linux?

  4. ls -l output nella directory /dev del sistema Unix/Linux

  5. Esiste una directory equivalente a /dev/null in Linux?

tty (/dev/tty ) vs pts (/dev/pts) in Linux

Che cos'è "/dev/null 2&1" in Linux

Come reindirizzare l'output su /dev/null in Linux

Quando usare /dev/random vs /dev/urandom?

Linux – Come creare /dev/null?

/dev/null in Linux