Ogni volta che un comando viene immesso nel terminale, verrà salvato alla fine del file di cronologia in Linux. Puoi facilmente recuperare questi comandi in qualsiasi momento usando history
comando. La shell tiene inoltre traccia del timestamp di tutte le voci di comando, in modo da poter trovare facilmente quando viene eseguito un comando specifico. Ti abbiamo già mostrato come abilitare il timestamp in Bash e Zsh conchiglie. Oggi vedremo come abilitare il timestamp per il comando della cronologia in Fish shell in Linux. Inoltre, impareremo anche come creare una semplice funzione per mostrare la data e l'ora nell'output del comando della cronologia nel guscio di pesce.
Abilita Timestamp per il comando della cronologia in Fish Shell
A partire dalla versione 2.6, il fish
shell supporta i timestamp nella history
incorporata comando. Eseguiamo alcuni comandi nel fish
sessione di shell:
> lsb_release -a
> uname -r
> hostname -f
> mkdir ostechnix
> cd ostechnix/
> touch ostechnix.txt
> ls
Se esegui la history
comando senza alcun flag, vedrai tutti questi comandi eseguiti in precedenza senza i timestamp.
> history
ls
touch ostechnix.txt
cd ostechnix/
mkdir ostechnix
hostname -f
uname -r
lsb_release -a
[...]
Per abilitare il timestamp per la history
comando in fish
shell, usa --show-time
flag come mostrato di seguito:
> history --show-time
Risultato di esempio:
# Monday 30 November 2020 02:39:52 PM
history
# Monday 30 November 2020 02:36:52 PM
ls
# Monday 30 November 2020 02:36:47 PM
touch ostechnix.txt
# Monday 30 November 2020 02:36:39 PM
cd ostechnix/
# Monday 30 November 2020 02:36:36 PM
mkdir ostechnix
# Monday 30 November 2020 02:34:11 PM
hostname -f
# Monday 30 November 2020 02:33:51 PM
uname -r
# Monday 30 November 2020 02:33:42 PM
lsb_release -a
[...]
Come puoi vedere, il comando cronologia mostra il timestamp nella parte superiore di ciascun comando. Non mi piace il modo in cui il guscio del pesce mostra la data e l'ora. Quindi, ho personalizzato l'output del comando della cronologia come di seguito:
> history --show-time='%F %T '
Risultato di esempio:
2020-11-30 14:47:12 history --show-time
2020-11-30 14:39:52 history
2020-11-30 14:36:52 ls
2020-11-30 14:36:47 touch ostechnix.txt
2020-11-30 14:36:39 cd ostechnix/
2020-11-30 14:36:36 mkdir ostechnix
2020-11-30 14:34:11 hostname -f
2020-11-30 14:33:51 uname -r
2020-11-30 14:33:42 lsb_release -a
[...]
Ora è perfetto!
Qui, il %F
l'opzione mostra la data in YYYY-MM-DD
(Anno-Mese-Data). E il %T
l'opzione mostra l'ora nel formato HH:MM:SS
(Ora-Minuto-Secondi).
Se vuoi mostrare solo la data , usa questo comando:
> history --show-time='%F '
Risultato di esempio:
2020-11-30 ls
2020-11-30 touch ostechnix.txt
[...]
Per visualizzare solo l'ora , quindi usa questo:
> history --show-time='%T '
Risultato di esempio:
14:36:52 ls
14:36:47 touch ostechnix.txt
[...]
Puoi anche utilizzare i seguenti formati diversi:
> history --show-time='%d/%m/%y %H:%M:%S '
Questo mostra l'output della cronologia nel seguente formato:
30/11/20 14:36:52 ls
30/11/20 14:36:47 touch ostechnix.txt
[...]
Ecco un'altra versione:
> history --show-time='%h/%d - %H:%M:%S '
Risultato di esempio:
Nov/30 - 14:36:52 ls
Nov/30 - 14:36:47 touch ostechnix.txt
[...]
Una funzione fish per mostrare data e ora nell'output del comando della cronologia
Se vuoi salvare alcuni tratti, puoi usare una function
come di seguito.
> nano ~/.config/fish/functions/history.fish
Nota: Se il ~/.config/fish/functions/
la directory non esiste, basta crearla.
Aggiungi le seguenti righe in history.fish
file:
function history
builtin history --show-time='%F %T '
end
Ora la history
comando ti mostrerà il timestamp senza flag:
Per maggiori dettagli, fare riferimento alla pagina man di pesce:
> man fish
Ora sai come mostrare la data e l'ora nella history
output del comando in fish shell in Linux. Hai anche imparato a usare una semplice function
per abilitare il timestamp per il comando della cronologia in fish shell. Spero che lo trovi utile.
Lettura correlata:
- Come avviare Fish Shell in modalità privata in Linux