Salva cronologia terminale


2

Attualmente sto prendendo una classe Linux e sto lavorando a un progetto nella riga di comando. L'ultima cosa che devo fare è salvare tutto il mio lavoro in un file di registro. Il fraseggio esatto è: "Crea un file di registro di tutti i comandi che hai utilizzato fino a questo punto. Dai un titolo a questo file Log_File.txt e scaricalo per l'invio" La parte di scaricamento viene eseguita tramite l'IDE ma sto avendo una cagna di tempo trovare la risposta a come creare quel file che salva tutto ciò che ho fatto nel progetto. Qualsiasi cosa sarebbe d'aiuto. -Grazie


Quale shell stai usando? La maggior parte (se non tutte) le shell mantengono una cronologia dei comandi utilizzati, la revisione del manuale della shell ti dirà quali comandi usare per ottenerli.
dessert

sto usando bash? Credo.
Corey Lewis,

1
Il scriptcomando salverà tutto l'output dello schermo (e l'input da tastiera) in un file chiamato dattiloscritto .
FedonKadifeli,

La cronologia dei comandi SInce (" $HISTFILE" valore predefinito $HOME/.history) viene sovrascritta quando si accede nuovamente, vedere askubuntu.com/questions/80371/… la mia risposta.
Waltinator,

@waltinator Nel bashvalore predefinito di $HISTFILEis ~/.bash_historye le sue righe vengono eliminate per rimanere entro il $HISTFILESIZElimite predefinito di 2000 righe: perché dovrebbe essere sovrascritto al momento dell'accesso?
dessert

Risposte:


2

Suppongo che devi solo eseguire:

history > filename.txt

0

Per gestire la cronologia delle sessioni di una bashshell c'è il historycomando. Diamo un'occhiata alle parti rilevanti di help history:

$ help history
history: history [-c] [-d offset] [n] or history -anrw [filename] or history -ps arg [arg...]
    Display or manipulate the history list.

    Display the history list with line numbers, prefixing each modified
    entry with a `*'.  An argument of N lists only the last N entries.

    Options:
      -a        append history lines from this session to the history file
      -w        write the current history to the history file

    If FILENAME is given, it is used as the history file.  Otherwise,
    if HISTFILE has a value, that is used, else ~/.bash_history.

Quando bashviene avviata una shell, legge le ultime (per impostazione predefinita 1000) righe dal file della cronologia dell'utente (per impostazione predefinita ~/.bash_history) e crea una cronologia delle sessioni nella RAM. Quando esegui ora una riga di comando, questa viene salvata nella cronologia della sessione e rilascia invece la prima riga: la cronologia della sessione una volta raggiunta il limite delle 1000 righe non supera questo limite.

In seguito, per salvare solo la cronologia della sessione, ovvero le righe di comando eseguite in questa finestra del terminale in un file ~/session_history, è:

history -a ~/session_history

Se tuttavia desideri salvare le 1000 righe della cronologia attualmente memorizzata nella sessione , ovvero i comandi delle sessioni precedenti e di quella corrente, è:

history -w ~/session+old_history

Se si desidera salvare l'intera cronologia di tutte le sessioni chiuse finora , limitatamente a 2000 righe per impostazione predefinita, è sufficiente copiare il file della cronologia predefinito:

cp ~/.bash_history ~/closed-sessions_history

Se si desidera salvare manualmente la cronologia di una sessione in questo file senza chiudere la sessione, procedere come segue:

history -a

Se lo hai fatto in ogni terminale aperto, il tuo file di cronologia è aggiornato con tutte le righe di comando che hai usato fino a questo punto, copiandolo ora ti dà una cronologia completa di sessioni chiuse e aperte :

cp ~/.bash_history ~/all-sessions_history
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.