Chcę wyświetlić zawartość mojego .bash_history
pliku, ale nie wiem, jak się tam dostać za pomocą wiersza polecenia.
/home/username/.bash_history
?
.bash_history
jest dołączany tylko wtedy, gdy terminal jest zamknięty.
Chcę wyświetlić zawartość mojego .bash_history
pliku, ale nie wiem, jak się tam dostać za pomocą wiersza polecenia.
/home/username/.bash_history
?
.bash_history
jest dołączany tylko wtedy, gdy terminal jest zamknięty.
Odpowiedzi:
Jeśli chcesz uzyskać dostęp do samego pliku rzeczywiste, wystarczy użyć dowolnego edytora tekstu (używam emacs
ale można korzystać pluma
z gedit
lub vim
lub cokolwiek):
emacs ~/.bash_history
Jest to domyślna lokalizacja, jeśli plik historii. Jeśli nic tam nie znajdziesz, być może zmieniłeś nazwę pliku historii. Jest to przechowywane w $HISTFILE
zmiennej, więc wydrukuj ją, aby sprawdzić jej bieżącą wartość:
echo $HISTFILE
Jeśli zamiast pliku chcesz tylko zobaczyć swoją historię, możesz uruchomić history
zgodnie z sugestią @ minerz029. Polecenia bez opcji po prostu drukuje zawartość Twojego następnie poleceń zawartych w bieżącej powłoki, które nie zostały jeszcze napisane do tego pliku, z numerami linii.history
$HISTFILE
Jeśli rzeczywiście potrzebują wyjście z .bash_history
pliku, należy wymienić history
ze
cat ~/.bash_history
we wszystkich poniższych poleceń.
Jeśli faktycznie chcesz poleceń bez liczb z przodu, użyj tego polecenia zamiast history
:
history | cut -d' ' -f 4-
w przeciwnym razie nie będzie różnicy (chyba że używasz innej powłoki).
Możesz użyć
history | tail -n 15
aby uzyskać tylko ostatnie 15 wierszy historii z ostatnim wykonanym wydrukowanym na końcu (na dole).
Alternatywnie użyj
history | grep "apt-get" | tail -n 15
aby uzyskać ostatnie 15 poleceń, które zawierały apt-get
ostatnio wykonane polecenie wydrukowane jako ostatnie (na dole). Możesz zastąpić apt-get
dowolną komendą (lub argumentem komendy), którą chcesz wyszukać (może to być wyrażenie regularne).
Możesz użyć
history | tac | less
aby przewijać wszystkie wykonane polecenia, zaczynając od najnowszych na górze. Naciśnij, qaby wyjść.
Podobnie użyj
history | grep "apt-get" | tac | less
aby przewijać wszystkie polecenia wykonane z „ apt-get
” w nich (łącznie z argumentami), zaczynając od najnowszych na górze. Naciśnij, qaby wyjść.
Oprócz doskonałej odpowiedzi minerz029.
Powtórzmy - polecenie „historia” drukuje historię wraz z liczbą obok niej.
Możesz przesłać dane historyczne do grep, less itp.
Wyjście historii pokazuje również liczbę po lewej stronie wyjścia. na przykład
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
Za pomocą tego numeru możesz ponownie uruchomić polecenie.
np. aby ponownie uruchomić 473 napisałbym w terminalu
admin@xen1~$ !473
następnie klawisz Enter, aby powtórzyć polecenie obok 473 w danych wyjściowych historii.
Możesz także wyszukiwać interaktywnie wstecz w historii poleceń, wpisując ctrl + r
klawisze, a następnie zacznij wpisywać część treści polecenia, które przeszuka je i wypełni. Po znalezieniu możesz wpisać Enter, aby je powtórzyć, lub naciśnij [tab]
klawisz, aby skopiować go do wiersza poleceń, aby najpierw edytować polecenie.
Oczywiście te dwie ostatnie opcje działają w powłoce bash. Nie jestem pewien, czy te funkcje działają w innych powłokach. Ale ponieważ bash jest domyślną powłoką Ubuntu, powinieneś je tam znaleźć.
Możesz spróbować historii podobnej do „pole sugestii” https://github.com/dvorka/hstr - czyta historię Bash i pozwala na szybką nawigację.
history | less