GNU/Linux >> Linux Esercitazione >  >> Linux

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

Soluzione 1:

L'FHS non fornisce alcuna directory vuota "standard".

È comune per i sistemi Linux fornire una directory /var/empty , ma questa directory non è definita in FHS e potrebbe non essere effettivamente vuota. Invece, alcuni demoni creeranno le proprie directory vuote qui. Ad esempio, openssh utilizza la directory vuota /var/empty/sshd per la separazione dei privilegi.

Se la tua esigenza di una directory vuota è temporanea, puoi creare tu stesso una directory vuota, come sottodirectory di /run o /tmp . Se lo stai facendo al di fuori del programma, puoi usare mktemp -d per questo, o usa il mkdtemp(3) funzione C all'interno del programma. Anche se sempre hai bisogno che la directory vuota sia presente, considera di crearne una sotto /var/empty come fa openssh.

Per questo caso d'uso, creare una directory in /tmp è probabilmente la soluzione migliore, anche se in pratica non ha molta importanza dove la metti.

Soluzione 2:

Puoi usare mktemp -d per creare una nuova directory temporanea vuota con permessi sicuri, per impostazione predefinita in /tmp/ . L'utility restituirà il percorso della nuova directory su STDOUT , quindi è utile nella shell.

È comunque più portabile di un file unit systemd.

Soluzione 3:

Questa domanda Unix ha alcuni suggerimenti per la creazione di una directory "blackhole", incluso un filesystem FUSE nullfs.

Soluzione 4:

Per i servizi systemd fornisce l'opzione PrivateTmp per creare /tmp privato e /var/tmp directory che non sono condivise da processi al di fuori dello spazio dei nomi per quel servizio e che dovrebbero essere vuote (inizialmente).

[Service]
ExecStart=...
PrivateTmp=yes 

Linux
  1. Come generare una password casuale in Linux usando /dev/random

  2. In che modo Linux gestisce più separatori di percorsi consecutivi (/home////nomeutente///file)?

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

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

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

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

Che cos'è /dev/null in Linux

/dev/null in Linux

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