Moc Linux „History Command” w Bash Shell
- 658
- 148
- Igor Madej
Używamy historia Polecenie często w naszych codziennych rutynowych zadaniach, aby sprawdzić historię polecenia lub uzyskać informacje o poleceniu wykonanym przez użytkownika. W tym poście zobaczymy, w jaki sposób możemy skutecznie używać komendy historii, aby wyodrębnić polecenie, które zostało wykonane przez użytkowników w Bash Shell. Może to być przydatne w celu audytu lub dowiedzieć się, jakie polecenie jest wykonywane za co data I czas.
Domyślnie data I znak czasu nie będzie widać podczas wykonywania historia Komenda. Jednak Bash Shell zapewnia Cli Narzędzia do edytowania historii poleceń użytkownika. Zobaczmy poręczne wskazówki, sztuczki i moc historia Komenda.
Przykłady polecenia historii1. Lista ostatni/wszystkie wykonane polecenia w Linux
Wykonanie prostego historia Polecenie z terminalu wyświetli pełną listę ostatnich wykonanych poleceń z numerami wiersza.
[[e -mail chroniony] ~] $ History 1 ps1 = '\ e [1; 35m [\ [chroniony e -mail] \ h \ w] $ \ e [m' 2 ps1 = "\ e [0; 32M [\ [[e -mail chronione] \ h \ w] $ \ e [m "3 ps1 =" \ [e -mail chroniony] \ h: \ w [\ j] $ "4 ping Google.com 5 echo $ ps1 6 ogon -f/var/log/message 7 ogon -f/var/log/message 8 exit 9 Wyczyść 10 HISTORIA 11 Clear 12 Historia
2. Wymień wszystkie polecenia z datą i znacznikiem czasu
Jak znaleźć data I znak czasu przeciw poleceniom? Z 'eksport' Polecenie ze zmienną wyświetli polecenie historii z odpowiednim znacznikiem czasu, gdy polecenie zostało wykonane.
[[e-mail chroniony] ~] $ Export HisttimeFormat = " %f %t" 1 2013-06-09 10:40:12 Cat /etc /emisj 2 2013-06-09 10:40:12 Clear 3 2013-06- 09 10:40:12 Znajdź /etc -name *.CONF 4 2013-06-09 10:40:12 Wyczyść 5 2013-06-09 10:40:12 Historia 6 2013-06-09 10:40:12 PS1 = '\ e [1; 35m [\ [[e-mail chroniony ] \ H \ w] $ \ e [M '7 2013-06-09 10:40:12 ps1 = "\ e [0; 32M [\ [chroniony e-mail] \ h \ w] $ \ e [m" 8 8 2013-06-09 10:40:12 ps1 = "\ [chroniony e-mail] \ h: \ w [\ j] $" 9 2013-06-09 10:40:12 Ping Google.COM 10 2013-06-09 10:40:12 Echo $ PS1
Znaczenie zmiennych HisttimeFormat
%F równoważny %y - %m - %d %t zastąpiony przez czas ( %h: %m: %s)
3. Filtruj polecenia w historii
Jak widzimy, że to samo polecenie jest powtarzane liczba razy w powyższym wyjściu. Jak filtrować proste lub nie destrukcyjne polecenia w historii?. Użyj następujących 'eksport„Polecenie, określając polecenie w HISTIGNORE = „LS -L: PWD: Data:” nie będzie zapisane według systemu i nie będzie pokazane w dowództwie historii.
[[e -mail chroniony] ~] $ export histignore = "ls -l: pwd: data:"
4. Ignoruj zduplikowane polecenia w historii
Z poniższym poleceniem pomoże nam zignorować duplikat poleceń wprowadzonych przez użytkownika. Tylko pojedynczy wpis zostanie wyświetlony w historii, jeśli użytkownik wykonuje to samo polecenie wiele razy w wierszu BASH.
[[e -mail chroniony] ~] $ Export HistControl = IgnorredUps
5. Unset Export Command
Unset Export Command w locie. Wykonać Unset Export polecenie ze zmienną jeden po drugim, jakie polecenia zostały wyeksportowane eksport Komenda.
[[e -mail chroniony] ~] $ unset eksport HistConcontrol
6. Zapisz polecenie eksportu na stałe
Dokonaj wpisu w następujący sposób .bash_profile zapisać eksport polecenie na stałe.
[[chroniony e -mail] ~] $ vi .bash_profile # .bash_profile # Zdobądź aliasy i funkcje, jeśli [-f ~/.bashrc]; Następnie . ~/.BASHRC FI # Specyficzne dla użytkownika środowisko i programy startupowe Eksport HistControl = IgnorredUps Ścieżka = $ ścieżka: $ home/bin ścieżka eksportowa
7. Wypisz wykonane polecenia określone przez użytkownika
Jak zobaczyć historię poleceń wykonaną przez określonego użytkownika. Bash przechowuje historię w '~/.bash_history ' plik. Możemy wyświetlić lub otwierać plik, aby zobaczyć historię polecenia.
[[chroniony e -mail] ~] $ vi .Bash_history CD / TMP / CD Logstalgia-1.0.3/ ./Skonfiguruj sudo passwd root apt-get instaluj libsdl1.2-dev libsdl-image1.2-dev libpcre3-dev libftgl-dev libpng12-dev libjpeg62-dev Make GCC ./konfiguruj, aby zainstaluj apt-get instaluj libsdl1.2-dev libsdl-image1.2-dev libpcre3-dev libftgl-dev libpng12-dev libjpeg62-dev Make gcc ++ apt-get instaluj libsdl1.2-dev libsdl-image1.2-dev libpcre3-dev libftgl-dev libpng12-dev libjpeg62-dev make gcc apt-get instaluj MySQl -u root -p apt-get instaluj grsync apt-get instaluj Unisis Unison Unison
8. Wyłącz przechowywanie historii poleceń
Niektóre organizacja nie zachowują historii poleceń ze względu na politykę bezpieczeństwa organizacji. W takim przypadku możemy edytować .bash_profile plik (to ukryty plik) użytkownika i dokonaj wpisu jak poniżej.
[[chroniony e -mail] ~] $ vi .bash_profile # .bash_profile # Zdobądź aliasy i funkcje, jeśli [-f ~/.bashrc]; Następnie . ~/.bashrc fi # Ścieżka dla użytkownika i programy uruchamiania = $ ścieżka: $ home/bin histsize = 0 ścieżka eksportu .bash_profile (koniec)
Zapisz zmiany i załaduj zmiany poniżej polecenia.
[[e -mail chroniony] ~] $ Źródło .bash_profile
Notatka: Jeśli nie chcesz, aby system pamiętał, jak wpisałeś polecenia, po prostu wykonaj poniżej polecenie, które wyłączy lub przestanie nagrywać historię w locie.
[[e -mail chroniony] ~] $ Eksport Histsize = 0
Porady: Szukaj 'Histsize'i edytuj w'/itp./profil ' Plik z Superuser. Zmiana pliku wpłynie na globalnie.
9. Usuń lub jasna historia poleceń
Z w górę I w dół strzałka, widzimy wcześniej używane polecenie, które może być pomocne lub może cię zirytować. Usuwanie lub wyczyszczenie wszystkich wpisów z listy historii Bash z '-C„Opcje.
[[e -mail chroniony] ~] $ History -c
10. Wyszukaj polecenia w historii za pomocą polecenia GREP
Wyszukaj polecenie przez '.bash_history`` Przekładając plik historii ''Grep' jak poniżej. Na przykład poniższe polecenie wyszukuje i znajdzie 'PWD„Polecenie z listy historii.
[[e -mail chroniony] ~] $ HISTORIA | GREP PWD 113 2013-06-09 10:40:12 PWD 141 2013-06-09 10:40:12 PWD 198 2013-06-09 15:46:23 Historia | GREP PWD 202 2013-06-09 15:47:39 Historia | GREP PWD
11. Wyszukaj na koniec wykonane polecenie
Wyszukaj wcześniej wykonane polecenie z „Ctrl+r” Komenda. Po znalezieniu polecenia, którego szukasz, naciśnijWchodzić„Aby wykonać tę samą elastyczność”wyjście„Aby to anulować.
(Odwrotne-i-poszukiwaj) „Źródło”: Źródło .bash_profile
12. Przywołaj ostatnie wykonane polecenie
Przypomnijmy wcześniej użyte określone polecenie. Kombinacja Huk I 8 (!8) Polecenie przywoła numer 8 polecenie, które wykonałeś.
[[chroniony e -mail] ~] $ !8
13. Przywołaj na koniec wykonane określone polecenie
Przywołaj wcześniej używane polecenie (netstat -np | GREP 22) z '!„I a następnie niektóre litery tego konkretnego polecenia.
[[chroniony e -mail] ~] $ !net netstat -np | GREP 22 (nie można odczytać żadnych informacji dla „-p”: geteuid () = 501, ale powinieneś być root.) TCP 0 68 192.168.50.2:22 192.168.50.1: 1857 Ustanowiony - TCP 0 0 192.168.50.2:22 192.168.50.1: 2516 Ustanowiony - UNIX 2 [] DGRAM 12284 - @/org/freedesktop/hal/udev_event Unix 3 [] Stream podłączony 14522 - UNIX 2 [] DGRAM 13622 - UNIX 3 [] Stream podłączony 12250 - @/var/run/run/run/run/ HALD/DBUS -UJAJOMNA0G UNIX 3 [] Podłączony strumień 12249 - UNIX 3 [] Stream podłączony 12228 -/var/run/dbus/system_bus_socket Unix 3 [] Stream podłączony 12227 -
Próbowaliśmy podkreślić moc History Command. To jednak nie jest to koniec. Podziel się z nami swoim doświadczeniem z History za pośrednictwem naszego pola komentarza poniżej.
- « Jak tworzyć i uruchamiać nowe jednostki serwisowe w Systemd za pomocą skryptu powłoki
- Jak zainstalować i skonfigurować LEMP na Debian 8 (Jessie) »