GNU/Linux >> Znalost Linux >  >> Linux

Jak používat příkaz historie Linuxu

Úvod

history command v Linuxu je vestavěný nástroj shellu, který zobrazuje seznam příkazů použitých v relaci terminálu. history umožňuje uživatelům znovu použít jakýkoli uvedený příkaz, aniž by jej museli znovu zadávat.

V tomto tutoriálu vám ukážeme, jak history příkaz funguje a různé způsoby jeho použití.

Předpoklady

  • Systém se systémem Linux.
  • Účet s právy sudo.
  • Přístup do okna terminálu.

Jak používat příkaz historie Linuxu

Pomocí history příkaz bez voleb zobrazí seznam příkazů použitých od začátku relace terminálu:

history

Chcete-li zobrazit seznam historie příkazů s omezeným počtem položek, připojte toto číslo k history příkaz. Chcete-li například zobrazit pouze posledních pět záznamů, použijte:

history 5

Jakmile zavřete terminál, prostředí Bash uloží nové záznamy historie příkazů do .bash_history soubor.

Použít datum a čas

Soubor .bashrc soubor ukládá nastavení prostředí Bash. Úpravou tohoto souboru můžete změnit výstupní formát history příkaz.

Otevřete soubor .bashrc pomocí textového editoru, jako je Nano:

sudo nano .bashrc

Chcete-li změnit výstupní formát tak, aby zahrnoval datum a časová razítka, přidejte následující řádek do souboru .bashrc soubor:

export HISTTIMEFORMAT="%c "

Použití různých argumentů po HISTTIMEFORMAT umožňuje upravit úroveň podrobností v časovém razítku:

  • %d :Den
  • %m :Měsíc
  • %y :Rok
  • %H :Hodina
  • %M :Minuty
  • %S :sekund
  • %F :Celé datum (formát Y-M-D)
  • %T :Čas (formát H:M:S)
  • %c :Kompletní datum a časové razítko (formát Den-D-M-Y H:M:S)

Uložte změny do .bashrc soubor, znovu spusťte terminál a spusťte history příkaz k potvrzení nového výstupního formátu:

history

Zobrazení velikosti vyrovnávací paměti historie

Soubor .bashrc obsahuje dvě položky, které řídí velikost vyrovnávací paměti historie:

  • HISTSIZE :Maximální počet položek pro seznam historie.
  • HISTFILESIZE :Maximální počet záznamů v .bash_history soubor.

Úprava HISTSIZE a HISTFILESIZE hodnoty mění způsob, jakým shell Bash zobrazuje a ukládá historii příkazů.

Například změna HISTSIZE hodnotu na 10 vytváří history seznam příkazů zobrazuje maximálně 10 posledních záznamů.

Uložení změn do .bashrc soubor, opětovné spuštění terminálu a spuštění history příkaz potvrdí nový výstupní formát:

history

Opakujte příkaz

Spuštění history umožňuje znovu použít kterýkoli z příkazů v seznamu. Chcete-li například spustit první příkaz (sudo apt update ) znovu použijte:

!1

Přidání pomlčky (- ) před číslem příkazu začne počítání od konce seznamu. Chcete-li například znovu použít předposlední desátý příkaz (history 5 ), použijte:

!-10

K opakování posledního příkazu použijte dvojité vykřičníky:

!!

Hledat příkaz podle řetězce

Přidáním řetězce za vykřičník se spustí nejnovější příkaz, který začíná tímto řetězcem. Chcete-li například znovu použít nejnovější příkaz, který začíná sudo , použijte:

!sudo

Použití této metody může způsobit problémy, pokud shell spustí neočekávaný příkaz, zejména při hledání příkazu, který začíná sudo . Jako preventivní opatření přidejte :p argument zobrazí příkaz bez jeho spuštění, což vám umožní zkontrolovat příkaz a rozhodnout, zda jej chcete provést.

!sudo:p

Chcete-li vyhledat příkaz, který obsahuje řetězec, ale nemusí jím začínat, přidejte vedle vykřičníku otazník. Chcete-li například znovu použít poslední příkaz, který obsahuje echo :

!?echo

Ve výše uvedeném příkladu shell znovu použije poslední příkaz, který obsahuje echo řetězec, i když příkaz začíná sudo .

Seznam odpovídajících příkazů

Kombinace history a grep umožňuje zobrazit seznam příkazů, které obsahují řetězec. Chcete-li například vypsat všechny příkazy, které obsahují ufw , použijte:

history | grep ufw

Změňte provedený příkaz

Ke změně posledního provedeného příkazu použijte následující syntaxi:

^[old string]^[new string]^

Například ufw příkaz k povolení portu 20 ukazuje, že port je již povolen:

sudo ufw allow 20/tcp

Pomocí výše uvedené syntaxe změňte číslo portu z 20 na 22:

^20^22^

Zabránit nahrávání příkazů v historii

Chcete-li zabránit nahrávání příkazů v seznamu historie, dočasně deaktivujte nahrávání pomocí:

set +o history

Chcete-li znovu povolit nahrávání, použijte:

set -o history

Smazat historii

Použijte -d možnost s history příkaz k odstranění příkazu ze seznamu historie. Například smažte příkaz číslo 87 pomocí:

history -d 87

Použijte -c možnost vymazat celý seznam historie:

history -c

Aktualizujte soubor historie

Když ukončíte relaci terminálu, prostředí Bash uloží všechny aktualizace do seznamu historie příkazů. history příkaz také umožňuje uložit změny v relaci terminálu.

Pomocí -a možnost vám umožní připojit záznamy historie příkazů z této relace do .bash_history soubor:

history -a

Další metodou je použití -w možnost uložit celý seznam historie do .bash_history soubor:

history -w

Linux
  1. Jak používat Linuxový příkaz grep

  2. Jak používat příkaz historie v Linuxu

  3. Jak používat Su Command v Linuxu

  1. Jak používat příkaz sudo v Linuxu

  2. Jak používat příkaz id v Linuxu

  3. Jak používat příkaz „screen“ v Linuxu

  1. Jak používat Linux na Command

  2. Jak používat příkaz locate v Linuxu

  3. Jak používat příkaz xargs pro Linux