È possibile salvare l'output di un comando in un file dopo che il comando è già stato eseguito?


13

Esiste un modo elegante per salvare l'output di un comando in un file dopo che il comando è stato eseguito, mentre la finestra del terminale è aperta, cioè una volta che il comando è stato eseguito nel terminale?

L'uscita è ancora presente nel terminale. Ora potrei copiare e incollare tutte le linee e salvarlo in un file.

Ma esiste forse un metodo per scrivere in qualche modo il buffer di output di una finestra terminale in un file o anche meglio l'output di un comando già eseguito?


Doveva esserci una patch per gnome-terminal per fare esattamente questo - per salvare il buffer di scrollback in un file. È là fuori da qualche parte, ma non riesco a trovare in quale versione di gnome-terminal sia effettivamente integrata. Credo che sia una semplice opzione 'Salva su file' nel menu file.
belacqua,

@belacqua sei mai riuscito a trovare la versione con patch?
Dmitry Pashkevich il

Risposte:


7

Sembra che tu abbia una serie di opzioni, ma gnome-terminal non supporta la registrazione su un file da solo.

  • È possibile eseguire il scriptcomando prima dell'output per eseguire ciò. Vedi le domande e risposte di Launchapd per ulteriori informazioni.

  • Puoi installare e usare un terminale diverso invece di gnome-terminal, che supporta la registrazione di tutto l'output in un file, come Putty. Potrebbero essercene altri.

  • È possibile semplicemente evidenziare l'output di testo richiesto, quindi utilizzare CTRL-SHIFT-C per copiare il testo.


1
Aggiunta: quello che ho scoperto finora, buoni strumenti a tale scopo sono screen o tmux.
NES,

1
@NES Se lo schermo funziona, potrebbe essere utilizzato anche byobu. Dustin Kirkland (uno dei principali sviluppatori di Ubuntu) ha lavorato per migliorare lo schermo in quel pacchetto (nei repository). Anche se non l'ho usato di recente, di solito terminatore.
belacqua,

3
Edit->Select Allin gnome terminal può aiutarti a evidenziare tutto ciò che è nel buffer
Dmitry Pashkevich

6

Se stai cercando un modo per salvare l'output di un comando in un file e visualizzarlo anche nel terminale, usa il comando tee.

command | tee filename

l'output del comando viene visualizzato nel terminale e nel file.


1
non esattamente quello che intendevo, ma è anche molto utile. grazie
NES

1
Questo è totalmente ciò che l'OP ha richiesto, ma mi hai appena salvato ENORMI enormi! Grazie! =)
Malabarba,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.