GNU/Linux >> Linux Esercitazione >  >> Linux

L'output del comando reindirizza al file e al terminale

Vale la pena ricordare che 2>&1 significa che anche l'errore standard verrà reindirizzato, insieme all'output standard. Quindi

someCommand | tee someFile

ti dà solo l'output standard nel file, ma non l'errore standard:l'errore standard apparirà solo nella console. Per ottenere anche l'errore standard nel file, puoi usare

someCommand 2>&1 | tee someFile

(fonte:nella shell, cos'è " 2>&1 "? ). Infine, entrambi i comandi precedenti tronceranno il file e inizieranno a cancellare. Se usi una sequenza di comandi, potresti voler ottenere l'output&errore di tutti loro, uno dopo l'altro. In questo caso puoi usare -a flag per il comando "tee":

someCommand 2>&1 | tee -a someFile

Nel caso in cui qualcuno abbia bisogno di aggiungere l'output e non eseguire l'override, è possibile utilizzare l'opzione "-a" o "--append" del comando "tee":

ls 2>&1 | tee -a /tmp/ls.txt
ls 2>&1 | tee --append /tmp/ls.txt

Sì, se reindirizzi l'output, non verrà visualizzato sulla console. Usa tee .

ls 2>&1 | tee /tmp/ls.txt

Linux
  1. Come reindirizzare l'output su un file e stdout

  2. Qual è la differenza nel reindirizzare un output usando >, &>, >&e 2&>?

  3. Come aggiungere l'output a un file?

  4. Come reindirizzare l'output di system() su un file?

  5. Come reindirizzare l'output del comando time su un file in Linux?

Come salvare l'output dei comandi in un file in Linux

Lavorare con l'output di input e il reindirizzamento degli errori in Linux

Come reindirizzare l'output del comando della shell

Terminale Ctrl+s contro Ctrl+z?

Opzioni di comando ed esempi di Tee Command in Linux

Salva l'output di un comando dal terminale Debian in un file