Programování BASH

Používání a přizpůsobení historie příkazů Bash

Používání a přizpůsobení historie příkazů Bash
Bash shell je výchozí prostředí příkazového řádku dostupné ve většině distribucí Linuxu. Podobně jako ve všech prostředích prostředí udržuje záznamy o příkazech, které byly dříve provedeny uživatelem. Tento záznam je veden a udržován, i když restartujeme náš systém.

Možná znáte základní použití příkazu historie, ale může toho udělat mnohem víc. Historie bash je obvykle uložena v souboru ~ /.bash_history. Umožňuje vám efektivně vyvolat a znovu použít uložený záznam, abyste mohli co nejlépe využít funkci ukládání historie bash. Nejen to, ale můžete také přizpůsobit a ovládat výstup příkazu bash tak, jak chcete.

V tomto článku vysvětlíme, jak efektivně používat a přizpůsobovat historii příkazů bash, abyste co nejlépe využili jeho funkcí.

Pro spuštění příkazů a postupů uvedených v tomto článku jsme použili Debian 10.

Pomocí historie příkazů bash

1. Zobrazení historie bash

Chcete-li zobrazit celou historii příkazů prostředí, můžete v Terminálu spustit následující příkaz:

$ historie

Zobrazí seznam celé historie konkrétního uživatele ze souboru historie uloženého konkrétně pro daného uživatele. Uvidíte všechny příkazy začínající číslem přiděleným každému z nich. Nahoře bude seznam starších příkazů počínaje číslem 1 a novější příkazy dole.

2. Hledání výstupu historie

Můžete také vyhledat konkrétní klíčové slovo z výstupu historie. Spárujte příkaz historie s grep a konkrétním klíčovým slovem a vyhledejte příkazy, které odpovídají zadanému klíčovému slovu, takto:

$ historie | grep [klíčové slovo]

Například pro výpis všech příkazů, které obsahují klíčové slovo „find“, by byl tento příkaz:

$ historie | grep najít

3. Prohlížení posledních n příkazů

Příkaz historie ve výchozím nastavení obsahuje seznam posledních 1 000 příkazů provedených uživatelem. V případě, že chcete zobrazit pouze konkrétní číslo, řekněme n číslo posledního provedeného příkazu, spusťte v Terminálu následující příkaz:

$ historie n

Například pro vypsání posledních 7 provedených příkazů by byl příkaz:

$ historie 7

Chcete-li zobrazit počet posledních příkazů n spuštění, které obsahují konkrétní klíčové slovo, můžete použít následující syntaxi:

$ historie | klíčové slovo grep | tail -n

Příkladem by mohlo být zobrazení posledních 4 spuštěných příkazů s klíčovým slovem „java“.

$ historie | grep java | tail -n

4. Prohlížení nejstarších příkazů

Chcete-li zobrazit nejstarší počet příkazů, můžete v Terminálu použít následující syntaxi:

$ historie | hlava -n

Chcete-li zobrazit nejstarší n počet příkazů, které obsahují konkrétní klíčové slovo, použijte následující syntaxi:

$ historie | klíčové slovo grep | head -n

Příkladem by bylo zobrazit nejstarší 4 spuštěné příkazy s klíčovým slovem „java“.

$ historie | grep java | hlava -4

5. Vymazat historii Bash úplně

Chcete-li odebrat celou historii bash, spusťte v Terminálu následující příkaz:

$ historie -cw

Přizpůsobení historie příkazů bash

Chcete-li přizpůsobit historii příkazů bash, budeme muset provést změny v ~ /.soubor bashrc. Úpravy ~ /.soubor bashrc, použijte následující příkaz:

$ nano ~ /.bashrc

Po dokončení úprav souboru uložte a zavřete nano editor pomocí Ctrl + O a Ctrl + X.

Poté spusťte následující příkaz, abyste provedli úpravy:

$ zdroj ~ /.bashrc

1. Přidejte do historie Bash datum a časové razítko

Chcete-li zobrazit datum a časové razítko spolu s historií příkazu, můžete to udělat přidáním následujícího řádku do ~ /.bashrc:

$ export HISTTIMEFORMAT = '% F,% T'

Nyní spusťte Dějiny příkaz a zobrazí historii příkazů s odpovídajícími daty a časovým razítkem.

2. Zvyšování velikosti historie bash

Bash ve výchozím nastavení udržuje 500 příkazů v seznamu historie. Tuto hodnotu však můžeme změnit pomocí hodnoty HISTSIZE.

Chcete-li zobrazit aktuální velikost historie bash, spusťte v Terminálu následující příkaz:

$ echo $ HISTSIZE

Podobně je výchozí velikost souboru historie bash 500. Je to maximální počet položek, které jsou obsaženy v souboru historie.

Chcete-li zvětšit velikost historie bash, řekněme 10 000, přidejte následující řádky do ~ /.soubor bashrc:

$ HISTSIZE = 10 000
$ HISTFILESIZE = 10 000

Chcete-li ověřit, zda se velikost historie bash úspěšně změnila, spusťte v Terminálu následující příkazy:

$ echo $ HISTSIZE
$ echo $ HISTFILESIZE

3. Připojte příkazy Bash k souboru historie

Když je relace bash uzavřena, můžete se rozhodnout, zda přepíšete nebo připojíte příkazy v souboru historie pomocí proměnné histappend. Chcete-li zobrazit aktuální nastavení, spusťte v Terminálu následující příkaz:

$ shoped histappend

„Zapnuto“ ve výstupu ukazuje, že je povolena možnost histappend a příkazy budou připojeny do souboru historie namísto přepsání. Zatímco se zobrazuje „vypnuto“, volba histappend je deaktivována a soubor bude přepsán.

Otevřete ~ /.soubor bashrc a:

Přidejte následující řádek, pokud chcete místo přepsání přidat příkazy do souboru historie:

$ shopt -s histappend

Nebo přidejte následující řádek, pokud chcete deaktivovat možnost přidání a chcete přepsat soubor při ukončení:

$ shopt -u histappend

4. Okamžitě uložte historii Bash

Bash ve výchozím nastavení uloží relaci do souboru historie bash pouze po ukončení relace. Chcete-li změnit toto výchozí chování a umožnit okamžité uložení každého provedeného příkazu, můžete využít PROMPT_COMMAND.

Upravit ~ /.soubor bashrc a přidejte následující řádek:

$ PROMPT_COMMAND = 'history -a'

Nyní, kdykoli spustíte libovolný příkaz, bude okamžitě přidán do souboru historie.

5. Ovládejte historii Bash

Způsob, jakým bash ukládá naši historii příkazů, můžeme ovládat pomocí proměnné HISTCONTROL. Můžeme jej určit pro ignorování duplicitních záznamů a / nebo pro ignorování záznamů s úvodními bílými mezerami.

Chcete-li použít tyto funkce, otevřete ~ /.bashrc a přidejte následující řádek s hodnotami oddělenými dvojtečkou takto:

$ export HISTCONTROL = ignorespace: ignoredups

6. Ignorovat konkrétní příkazy

Můžeme také řídit, které příkazy mají být v historii ignorovány, pomocí proměnné HISTIGNORE. Jedná se o seznam vzorů oddělených dvojtečkou, ve kterém můžeme určit všechny příkazy, které chceme z historie ignorovat.

Například pokud nechceme vypsat základní příkazy, jako jsou příkazy historie, ls, pwd, do seznamu historie, přidáme následující řádek do ~ /.soubor bashrc:

$ export HISTIGNORE = "history: ls: pwd:"

S historií příkazů Linux bash můžete udělat mnohem víc, než jen opakovat staré příkazy. V tomto článku jsme se naučili, jak používat historii bash k zobrazení příkazů, které byly provedeny dříve, a také jsme se naučili ovládat způsob, jakým bash ukládá historii příkazů.

Hry Jak používat GameConqueror Cheat Engine v Linuxu
Jak používat GameConqueror Cheat Engine v Linuxu
Tento článek popisuje průvodce používáním cheatovacího modulu GameConqueror v systému Linux. Mnoho uživatelů, kteří hrají hry v systému Windows, často...
Hry Nejlepší emulátory herních konzolí pro Linux
Nejlepší emulátory herních konzolí pro Linux
Tento článek uvádí seznam populárního softwaru pro emulaci herních konzolí, který je k dispozici pro Linux. Emulace je vrstva softwarové kompatibility...
Hry Nejlepší linuxové distribuce pro hraní her v roce 2021
Nejlepší linuxové distribuce pro hraní her v roce 2021
Operační systém Linux má za sebou dlouhou cestu od svého původního, jednoduchého vzhledu založeného na serveru. Tento OS se v posledních letech nesmír...