GNU/Linux >> Linux Esercitazione >  >> Linux

l'uso di < /dev/null &nella riga di comando

< /dev/null viene utilizzato per inviare istantaneamente EOF al programma, in modo che non attenda input (/dev/null , il dispositivo nullo, è un file speciale che scarta tutti i dati scritti su di esso, ma segnala che l'operazione di scrittura è riuscita e non fornisce dati a nessun processo che legge da esso, producendo immediatamente EOF). & è un tipo speciale di separatore di comandi utilizzato per mettere in secondo piano il processo precedente.

Senza conoscere il programma chiamato, non so direttamente perché è necessario eseguirlo in questo modo.


</dev/null disconnette l'input del programma dal terminale. Alcuni programmi reagiscono in modo diverso a seconda di ciò a cui è collegato il loro input standard. Con il reindirizzamento </dev/null , il programma può dire che il suo input non proviene da un terminale e riceverà immediatamente un'indicazione di fine file se tenta di leggere dal suo input standard.

Il solitario & alla fine fa sì che il programma venga eseguito in background. Ciò significa che ricevi immediatamente un prompt della shell. Senza il & , riceverai un prompt della shell solo al termine dell'esecuzione del programma.

Nota che il file autonomo & non è correlato a >& . >& è un operatore di reindirizzamento (in tcsh, bash e zsh) che reindirizza sia l'output standard del programma che l'errore standard del programma al nome file specificato dopo l'operatore (qui log ).

In altre parole, ciò che fa la shell quando vede questa riga di comando è:

  • Avvia un processo in background. Nel processo in background:
    • Collega l'input standard a /dev/null (il dispositivo nullo).
    • Collega sia l'output standard che l'errore standard al file chiamato log (creando il file se non esiste ancora e troncandolo se esiste).
    • Cerca un file eseguibile chiamato java nel $PATH .
    • Esegui quel file con i 5 argomenti -cp , /home/weka.jar , weka.classifiers.trees.J48 , –t , train_file`.

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

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

  3. Quanto sono portatili /dev/stdin, /dev/stdout e /dev/stderr?

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

  5. Come silenziare completamente un Cronjob in /dev/null/?

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

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

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

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

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

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