GNU/Linux >> Linux Esercitazione >  >> Linux

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

“/dev/zero” e “/dev/null” sono due file di dispositivo fittizi utili per creare file vuoti. Ma c'è una netta differenza in ciò che effettivamente fanno. In questo post vedremo la differenza tra i due e dove possono essere utilizzati.

file/dev/zero

Viene utilizzato per creare un file senza dati ma con la dimensione richiesta (un file con tutti gli zero scritti su di esso).

Creiamo il file con /dev/zero:

# dd if=/dev/zero of=/opt/zero.txt bs=2048 count=2048
2048+0 records in
2048+0 records out
4194304 bytes (4.2 MB) copied, 0.150465 s, 27.9 MB/s

Crea un file che contiene zeri continui. Quindi possiamo dire che /dev/zero è un file che viene utilizzato per creare un nuovo file con una dimensione richiesta senza alcun significato per i dati.

Puoi anche usare il file /dev/zero insieme al comando dd per cancellare un disco. Ad esempio:

# dd if=/dev/zero of=/dev/sda bs=2K conv=noerror,sync

Un altro file che può essere utilizzato anche in questo processo è/dev/null:

/dev/null

Mentre inviare tutto l'output è spesso una cosa carina da fare, un'altra cosa che ti ritroverai a fare regolarmente è reindirizzare gli errori (che ti aspetti da alcuni comandi) a un dispositivo speciale:/dev/null.

Il tipo nullo rivela la funzionalità:è una via di mezzo tra un bidone della spazzatura e un buco nero. Questo file è anche utile per creare file con dimensione zero.

Ad esempio, se vedi che ho pochi file e cartelle nella directory corrente:

# ls
anaconda-ks.cfg  Documents  initial-setup-ks.cfg  Pictures  Templates
Desktop          Downloads  Music                 Public    Videos

Se reindirizzare l'output del comando "ls" al file "/dev/null", i dati di output non possono essere recuperati nuovamente anche dopo aver letto il file null:

# ls > /dev/null
# cat /dev/null
#

Come ricreare /dev/null

I comandi seguenti sono stati inseriti in una riga e separati da un punto e virgola ";" per essere eseguiti il ​​più rapidamente e avere un effetto minimo sul sistema in esecuzione.

# rm /dev/null ; mknod -m 0666 /dev/null c 1 3 ;

Execute: yes

Verifica che tutto sia a posto e a posto:

# ls -al /dev/null

Riepilogo

Quando reindirizziamo l'output su /dev/zero, fa esattamente lo stesso di /dev/null:i dati scompaiono. Tuttavia, in pratica, /dev/null viene spesso utilizzato per questo scopo.

Allora, perché avere questo dispositivo speciale allora? Perché /dev/zero può essere utilizzato anche per leggere byte nulli. Su tutti i 256 byte possibili, il byte nullo è il primo:lo 00 esadecimale. Un byte nullo viene spesso utilizzato per indicare la cessazione del comando.


Linux
  1. Come mappare il dispositivo /dev/sdX e /dev/mapper/mpathY dal dispositivo /dev/dm-Z

  2. DD da /dev/zero a /dev/null... cosa succede realmente

  3. Come Linux usa /dev/tty e /dev/tty0

  4. echo o print /dev/stdin /dev/stdout /dev/stderr

  5. Crea un dispositivo a blocchi virtuale che scrive su /dev/null

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

Che cos'è /dev/null in Linux

/dev/null in Linux

kernel:disabilitare /dev/kmem e /dev/mem

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

Perché sono necessari < o > per usare /dev/tcp