it-swarm-eu.dev

Jak zobrazit soubor `.bash_history` z příkazového řádku?

Chci si prohlédnout obsah mého .bash_history soubor, ale nevím, jak se tam dostat přes příkazový řádek.

75
isupportopensource

Pokud chcete přistupovat ke skutečnému souboru, použijte svůj oblíbený textový editor (používám emacs, ale můžete použít pluma z gedit nebo vim nebo cokoli ):

emacs ~/.bash_history

Toto je výchozí umístění, pokud váš soubor historie. Pokud tam nic nenajdete, možná jste změnili název souboru historie. Toto je uloženo v $HISTFILE proměnná, takže ji vytiskněte a zkontrolujte její aktuální hodnotu:

echo $HISTFILE

Pokud chcete místo historie vidět pouze svou historii, můžete spustit history, jak to navrhuje @ minerz029. Příkaz history bez možnosti pouze vytiskne obsah vašeho $HISTFILE následované příkazy provedenými v aktuálním prostředí, které ještě nebyly zapsány do tohoto souboru, s čísly řádků.

60
terdon

Pokud skutečně potřebujete výstup .bash_history soubor, nahraďte history za
cat ~/.bash_history ve všech níže uvedených příkazech.

Pokud skutečně chcete příkazy bez čísel vpředu, použijte tento příkaz místo history:

history | cut -d' ' -f 4-

jinak nebude žádný rozdíl (s výjimkou případů, kdy používáte jiný Shell).


Posledních 15 příkazů

Můžeš použít

history | tail -n 15

získat pouze posledních 15 řádků své historie s posledním provedeným vytištěným posledním (dole).


Hledání příkazu

Případně použijte

history | grep "apt-get" | tail -n 15

získat posledních 15 příkazů, které obsahovaly apt-get s posledním provedeným tištěným posledním (dole). Můžete nahradit apt-get s jakýmkoli příkazem (nebo argumentem příkazu), který chcete hledat (může to být regulární výraz).


Procházení historií

Můžeš použít

history | tac | less

procházet všechny příkazy provedené počínaje posledním nahoře. lis q k východu.

Podobně použití

history | grep "apt-get" | tac | less

procházet všechny příkazy provedené pomocí "apt-get "v nich (včetně argumentů) počínaje posledním nahoře. Stiskněte q k východu.

52
kiri

Kromě vynikající odpovědi minerz029.

Pro zopakování - příkaz 'history' vytiskne historii spolu s číslem vedle ní.

Můžete dát výstup historie do grepu, méně atd.

Výpis historie také zobrazuje číslo vlevo vedle výstupu. např.

  469  free
  470  ps -fA
  471  ps -fA | grep xend
  472  free
  473  Sudo vi /etc/xen/xend-config.sxp 
  474  cat /etc/default/grub 

S tímto číslem můžete příkaz znovu spustit.

např. abych znovu spustil 473, napsal bych do terminálu

 [email protected]~$ !473

následované klávesou Enter pro opakování příkazu vedle čísla 473 ve výstupu historie.

Můžete také interaktivně hledat zpět v historii příkazů zadáním kláves ctrl + r, Poté začít psát část obsahu příkazu a vyhledá a vyplní jej. Pokud jste ji našli, můžete ji opakovat zadáním klávesy Enter nebo stisknutím klávesy [tab] Ji zkopírovat do příkazového řádku a příkaz nejprve upravit.

Tyto poslední dvě možnosti samozřejmě fungují v bash Shell. Nejsem si jistý, zda tyto funkce fungují v jiných skořápkách. Ale protože bash je výchozí prostředí Ubuntu, měli byste je tam najít.

15
Matt H

enter image description here

Možná budete chtít vyzkoušet historii podobnou "boxu" https://github.com/dvorka/hstr - přečte historii Bash a umožní rychlé navigace.

1
Martin Dvorak