Vylepšení terminálu Bash pomocí konfigurace .bashrc
Bash shell je sice silný nástroj, ale jeho uživatelské prostředí lze dále optimalizovat. V tomto článku si ukážeme, jak zvýšit efektivitu práce s terminálem pomocí úprav konfiguračního souboru .bashrc. Před jakýmikoli změnami doporučujeme vytvořit zálohu vašeho stávajícího souboru .bashrc. To provedete příkazem:
cp .bashrc bashrc-zaloha
Zlepšení historie příkazů
Jednou z atraktivních funkcí alternativního shellu Fish je jeho schopnost inteligentního doplňování příkazů během psaní. Tato funkce usnadňuje vyhledávání a opakování dříve použitých příkazů. Bohužel, Bash tuto funkci standardně nenabízí a standardně je nutné prohledávat historii příkazů ručně. Naštěstí existuje jednoduchý způsob, jak tuto funkci v Bash napodobit.
Otevřete soubor .bashrc pomocí textového editoru Nano a přidejte následující řádky, které umožní rychlé vyhledávání v historii:
nano ~/.bashrc
V souboru .bashrc vyhledejte sekci označenou jako „# User specific aliases and functions“ (nebo podobně) a vložte pod ni následující kód. Upozorňujeme, že některé linuxové distribuce mohou mít soubor .bashrc upravený, takže uvedená sekce nemusí být přesně takto pojmenovaná. V takovém případě vložte kód na konec souboru.
bind '"\e[A": history-search-backward' bind '"\e[B": history-search-forward'
Tento kód umožní procházet historii příkazů pomocí šipek nahoru a dolů na klávesnici. Uložte změny (Ctrl+O) a ukončete editor (Ctrl+X). Pro aktivaci změn je třeba zavřít a znovu otevřít terminál.
Efektivnější protokolování historie příkazů
Bash, podobně jako jiné terminálové shelly, ukládá historii zadávaných příkazů. Tato funkce je sice užitečná, ale ukládání duplicitních příkazů může ztížit orientaci v historii. Abyste se vyhnuli duplicitám, přidejte do souboru .bashrc následující konfiguraci:
nano ~/.bashrc
Do otevřeného souboru vložte tento řádek:
export HISTCONTROL=ignoredups
Nápověda k příkazům ve stylu Zsh
Shell Zsh umožňuje snadný přístup k manuálovým stránkám pomocí klávesové zkratky Alt+H. V Bash je standardní způsob zobrazení manuálu pomocí příkazu man
, což není tak pohodlné. Následující úprava přidá do Bashe funkcionalitu nápovědy podobnou Zsh.
Na konec souboru .bashrc vložte následující řádek:
bind '"\eh": "C-aebedC-ye#man C-yC-mC-pC-pC-aC-dC-e"'
Automatické přepínání adresářů
Zsh nabízí funkci automatického přepínání do adresáře bez nutnosti zadávat příkaz cd
. I když použití cd
není náročné, neustálé psaní tohoto příkazu může být otravné. Následující úprava umožní automatické přepínání adresářů i v Bash.
Otevřete .bashrc pomocí Nano a přidejte tento kód:
... shopt -s autocd ...
Uložte změny (Ctrl+O) a ukončete editor (Ctrl+X). Po restartování terminálu můžete zadat cestu k adresáři přímo bez předchozího cd
. Například:
/usr/bin/
Vylepšené doplňování pomocí tabulátoru
Doplňování pomocí tabulátoru je jednou z užitečných funkcí Bash, kterou mnoho uživatelů nedocení. Standardně Bash automaticky doplňuje příkazy, adresáře atd. Stačí začít psát několik prvních písmen a Bash doplní zbytek. Standardní doplňování však nemusí být vždy dokonalé a může mu chybět některé položky. Následující krok vylepší doplňování pomocí tabulátoru.
Pro vylepšení doplňování je třeba nainstalovat balíček bash-completion
. Postupujte podle následujících pokynů pro vaši distribuci:
Ubuntu
sudo apt install bash-completion
Debian
sudo apt install bash-completion
Arch Linux
sudo pacman -S bash-completion
Fedora
sudo dnf install bash-completion
OpenSUSE
sudo zypper install bash-completion
Obnovení původního souboru .bashrc
V tomto průvodci jsme provedli několik změn v souboru .bashrc. Tyto úpravy mohou učinit Bash užitečnějším, ale ne každému mohou vyhovovat. Pokud preferujete výchozí chování Bash, můžete snadno obnovit původní konfiguraci.
Díky záloze, kterou jsme vytvořili na začátku článku, je obnovení původního souboru .bashrc jednoduché. Nejprve je třeba smazat upravený soubor .bashrc:
rm ~/.bashrc
Následně obnovte zálohu:
cp bashrc-zaloha .bashrc
Po provedení těchto kroků se soubor .bashrc vrátí do původního stavu. Pro dokončení změn restartujte počítač.