Jedním z široce používaných příkazů ve světě UNIX je příkaz historie. Každá varianta UNIXu má příkaz historie. Shell bash ukládá historii zadaných příkazů, kterou lze použít k opakování příkazů pomocí příkazu history. Ve výchozím nastavení se zobrazí předchozích 1000 příkazy, které byly použity.
Zde je ukázkový výstup historie příkazů:
# history 1 uname -a 2 clear 3 ssh [email protected] 4 exit 5 ls 6 clear 7 echo "Hello" ........
Mechanismus historie bash podporuje různé pokročilé způsoby získávání příkazů ze seznamu historie. Níže jsou uvedeny některé způsoby použití příkazu historie bash:
1. Výpis posledních n použitých příkazů
Ve výchozím nastavení příkaz historie zobrazuje posledních 1000 použitých příkazů. Pokud chcete vypsat pouze několik posledních příkazů spuštěných uživatelem, použijte „historii n“. Chcete-li například zobrazit posledních 5 spuštěných příkazů:
# history 5 504 uname -a 505 who am i 506 date 507 echo "Hi" 508 history 5
2. Opakování posledního příkazu
Pro opakování posledního provedeného příkazu:
# echo "I am history" I am history # !! echo "I am history" I am history
3. Opakujte poslední příkaz počínaje nějakým znakem
!char =opakuje poslední příkaz, který začal znakem char. Například:
# !uname uname -a Linux geeklab 2.6.32-504.el6.x86_64 #1 SMP Tue Sep 16 01:56:35 EDT 2014 x86_64 x86_64 x86_64 GNU/Linux
4. Opakujte poslední příkaz podle jeho čísla
!num =zopakuje příkaz podle jeho čísla ve výstupu historie. Například:
# !1010 ls -lrth total 197M -rw-r--r-- 1 root root 512K May 25 2015 file1 drwxr-xr-x 2 root root 4.0K Jun 1 2016 dir1
5. Opakujte poslední příkaz, který obsahuje nějaký znak
!?command =opakuje poslední příkaz, který obsahuje (na rozdíl od příkazu začínajícího [!char]) příkaz. Příklad:
# echo "I am legend" I am legend # !?legend echo "I am legend" I am legend
6. Opakujte n-tý poslední příkaz
!-n =zopakuje zadaný příkaz n příkazů zpět
# !-3 uname -a Linux VMAX3Linux 2.6.32-358.el6.x86_64 #1 SMP Tue Jan 29 11:47:41 EST 2013 x86_64 x86_64 x86_64 GNU/Linux
7. Vyhledání příkazu v historii a jeho provedení
Ctrl-r =vyhledat příkaz v historii příkazů a spustit jej, jakmile najdete shodu.
# (reverse-i-search)`uname': uname -aSolaris :Jak zahrnout datum a časové razítko do historie příkazů bash shell
CentOS / RHEL :Jak získat datum a čas provedeného příkazu do výstupu příkazu historie
CentOS / RHEL :Jak zakázat historii prostředí BASH