Puoi trovare facilmente l'elenco dei comandi eseguiti di recente in Linux usando history
comando, giusto? Sì. Ma come fai a sapere l'ora in cui è stato eseguito il comando? Naturalmente, puoi cercare nei file di registro. Tuttavia, esiste un modo più semplice. Puoi semplicemente abilitare il timestamp nella cronologia di Bash in Linux, quindi è più facile trovare quando è stato eseguito un comando specifico in Linux.
Abilita timestamp nella cronologia di Bash in Linux
Ben mantiene una cronologia dei comandi che sono stati immessi nel Terminale. Questo elenco di comandi viene salvato in un file chiamato .bash_history
nella nostra directory HOME. La maggior parte delle distribuzioni Linux ricorda gli ultimi 1000 comandi per impostazione predefinita. Possiamo recuperare i comandi eseguiti di recente usando history
comando cenere mostrato di seguito:
$ history
Risultato di esempio:
Come puoi vedere nell'output sopra, anche se il comando cronologia mostra l'elenco dei comandi eseguiti in precedenza, non mostrava quando quei comandi sono stati eseguiti.
Per abilitare il timestamp nella cronologia di Bash in Linux, devi impostare il HISTTIMEFORMAT
variabile d'ambiente. Questa variabile viene utilizzata per stampare il timestamp associato a ciascuna voce della cronologia visualizzata.
Esegui il comando seguente per impostare HISTTIMEFORMAT
variabile ambiente:
$ export HISTTIMEFORMAT='%F %T '
Qui, il %F
l'opzione viene utilizzata per visualizzare la data in YYYY-MM-D
Formato D (anno-mese-data). E il %T
l'opzione viene utilizzata per mostrare l'ora nel formato HH:MM:SS
(Ora-Minuto-Secondi).
Ora, esegui la history
comando di nuovo e vedrai il timestamp prima di ogni comando:
Perfetto! Ora puoi scoprire facilmente quando un comando specifico viene eseguito nel tuo sistema Linux.
Se vuoi visualizzare i timestamp degli ultimi "N" comandi, ad esempio 10
, invia la history
output del comando su tail
comando come di seguito:
$ history | tail -10
Tieni presente che questo imposterà solo i timestamp per la nuova history
voci dopo il HISTTIMEFORMAT
la variabile di ambiente è impostata per le sessioni.
Puoi anche utilizzare personalizzare il formato della data a tuo piacimento come mostrato nel seguente comando:
$ export HISTTIMEFORMAT='%d/%m/%y %T '
Questa variabile di ambiente mostra la data e l'ora nel comando della cronologia in gg/mm/anno formato ad es. 27/11/20 19:11:55
.
Per creare il HISTTIMEFORMAT
env variabile persistente tra i riavvii del sistema, modificare il ~/.bashrc
file:
$ nano ~/.bashrc
Aggiungi la seguente riga alla fine:
export HISTTIMEFORMAT='%F %T '
Oppure,
export HISTTIMEFORMAT='%d/%m/%y %T '
Premi CTRL+O
per salvare il file e premere CTRL+X
per uscire.
Esegui il comando seguente per rendere immediatamente effettive le modifiche:
$ source ~/.bashrc
Verrà visualizzato solo il timestamp per l'utente corrente. Per abilitare il timestamp della cronologia di Bash per tutti gli utenti del sistema, modifica /etc/profile
file:
$ sudo nano /etc/profile
e aggiungi questa riga:
export HISTTIMEFORMAT='%F %T '
Oppure,
export HISTTIMEFORMAT='%d/%m/%y %T '
Salva e chiudi il file. Per rendere effettive le modifiche, esegui:
$ sudo source /etc/profile
Per maggiori dettagli, fare riferimento alle pagine man:
$ man bash
Ora sai per mostrare la data e l'ora nell'output del comando della cronologia in Linux. Come già affermato, se desideri controllare quando viene eseguito un comando, abilita semplicemente il timestamp nel comando bash history come descritto sopra.
Stai usando Pesce o Zsh guscio? Consulta i seguenti tutorial per scoprire come abilitare il timestamp nella history
comando:
- Abilita timestamp per comando cronologia in Fish Shell
- Abilita il timestamp per il comando della cronologia in Zsh in Linux
Spero che questo aiuti.
Lettura correlata:
- Come cancellare la cronologia della riga di comando in Linux
- Come visualizzare la cronologia di Bash senza numeri di riga
- Come evitare voci duplicate nella cronologia di Bash in Linux
- Trova il tempo di esecuzione di un comando o di un processo in Linux