Seznam naposledy provedených příkazů v Linuxu můžete snadno najít pomocí history
příkaz, jo? Ano. Jak ale poznáte čas, kdy byl příkaz vykonán? Samozřejmě můžete vyhledávat v souborech protokolu. Existuje však jednodušší způsob. Můžete jednoduše povolit časové razítko v historii Bash v Linuxu, takže je snazší najít, kdy byl v Linuxu proveden konkrétní příkaz.
Povolit časové razítko v historii Bash v Linuxu
Bash udržuje historii příkazů, které byly zadány do terminálu. Tento seznam příkazů je uložen v souboru s názvem .bash_history
v našem HOME adresáři. Většina distribucí Linuxu si pamatuje posledních 1000 příkazy ve výchozím nastavení. Nedávno provedené příkazy můžeme načíst pomocí history
příkaz ash zobrazený níže:
$ history
Ukázkový výstup:
Jak vidíte ve výše uvedeném výstupu, i když příkaz history zobrazuje seznam dříve provedených příkazů, neukázal, kdy byly tyto příkazy provedeny.
Chcete-li povolit časové razítko v historii Bash v Linuxu, musíte nastavit HISTTIMEFORMAT
proměnná prostředí. Tato proměnná se používá k tisku časového razítka spojeného s každým zobrazeným záznamem historie.
Spuštěním následujícího příkazu nastavte HISTTIMEFORMAT
proměnná env:
$ export HISTTIMEFORMAT='%F %T '
Zde je %F
možnost se používá k zobrazení data v YYYY-MM-D
Formát D (rok-měsíc-datum). A %T
volba se používá k zobrazení času ve formátu HH:MM:SS
(Hour-Minute-Seconds).
Nyní spusťte history
příkaz znovu a před každým příkazem uvidíte časové razítko:
Perfektní! Nyní můžete snadno zjistit, kdy je ve vašem systému Linux spuštěn konkrétní příkaz.
Pokud chcete zobrazit časová razítka posledních "N" příkazů, například 10
, potrubí history
výstup příkazu na tail
příkaz jako níže:
$ history | tail -10
Upozorňujeme, že toto nastaví pouze časová razítka pro novou history
záznamy za HISTTIMEFORMAT
Proměnná prostředí je nastavena pro relace.
Můžete také použít přizpůsobení formátu data podle svých představ, jak je znázorněno v následujícím příkazu:
$ export HISTTIMEFORMAT='%d/%m/%y %T '
Tato proměnná prostředí zobrazuje datum a čas v příkazu historie v dd/mm/rok formát např. 27/11/20 19:11:55
.
Chcete-li vytvořit formát HISTTIMEFORMAT
env proměnná trvalá po restartování systému, upravte ~/.bashrc
soubor:
$ nano ~/.bashrc
Na konec přidejte následující řádek:
export HISTTIMEFORMAT='%F %T '
Nebo,
export HISTTIMEFORMAT='%d/%m/%y %T '
Stiskněte CTRL+O
pro uložení souboru a stiskněte CTRL+X
pro ukončení.
Spusťte následující příkaz, aby se změny projevily okamžitě:
$ source ~/.bashrc
Zobrazí se pouze časové razítko pro aktuálního uživatele. Chcete-li povolit časové razítko historie Bash pro všechny uživatele systému, upravte /etc/profile
soubor:
$ sudo nano /etc/profile
a přidejte tento řádek:
export HISTTIMEFORMAT='%F %T '
Nebo,
export HISTTIMEFORMAT='%d/%m/%y %T '
Uložte a zavřete soubor. Aby se změny projevily, spusťte:
$ sudo source /etc/profile
Další podrobnosti naleznete na manuálových stránkách:
$ man bash
Nyní víte, že chcete zobrazit datum a čas ve výstupu příkazu historie v Linuxu. Jak již bylo řečeno, pokud jste někdy chtěli zkontrolovat, kdy je příkaz proveden, jednoduše povolte časové razítko v příkazu historie bash, jak je popsáno výše.
Používáte Ryby nebo Zsh skořápka? V následujících výukových programech se dozvíte, jak povolit časové razítko v history
příkaz:
- Povolte časové razítko pro příkaz historie v rybí skořápce
- Povolit časové razítko pro příkaz historie v Zsh v Linuxu
Doufám, že to pomůže.
Související čtení:
- Jak vymazat historii příkazového řádku v systému Linux
- Jak zobrazit historii bash bez čísel řádků
- Jak se vyhnout duplicitním záznamům v historii Bash v Linuxu
- Zjistěte dobu provedení příkazu nebo procesu v systému Linux