Czy jest jakiś sposób, aby zobaczyć, o której godzinie polecenia zostały wykonane z historii bash? Widzimy zamówienie, ale czy jest jakiś sposób, aby uzyskać czas?
Konkluzja: Czas wykonania w historii Bash
command-line
bash
history
rɑːdʒɑ
źródło
źródło
history -E
HISTTIMEFORMAT
zmienna została ustawiona podczas wydawania poleceń. Innymi słowy, jeśli go nie ustawiłeś, ustawienie go teraz nie pomoże ci pobrać znaczników czasu wcześniej wydanych poleceń.Odpowiedzi:
Naciśnij Ctrl+ Alt+, Taby otworzyć Terminal, a następnie uruchom poniższe polecenie:
Lub, aby zmienić na stałe dla bieżącego użytkownika:
Następnie
Aby uzyskać więcej informacji, zobacz man bash lub Indeks AZ wiersza poleceń Bash dla systemu Linux .
W przypadku poleceń, które były uruchamiane wcześniej
HISTTIMEFORMAT
, bieżący czas zostanie zapisany jako znacznik czasu. Polecenia uruchomione poHISTTIMEFORMAT
ustawieniu będą miały zapisany odpowiedni znacznik czasu.źródło
export
w.bash_profile
? Jest to zmienna odczytywana tylko przezbash
, a nie przez uruchamiane z niej polecenia, więc nie powinna być eksportowana.HISTTIMEFORMAT
ustawiono dla sesji, tzn. Nie można użyć tego z mocą wsteczną. Niektóre odpowiedzi tutaj sprawiają wrażenie, że polecenie historii natychmiast pokazuje wpisy ze znacznikiem czasuOtwórz terminal Ctrl+ Alt+ Ti uruchom,
następnie,
Aby wprowadzić zmiany na stałe, wykonaj poniższe czynności,
musisz dodać poniższy wiersz do pliku .bashrc, a następnie zapisać go,
uruchom poniższe polecenie, aby źródłowy plik .bashrc,
Po tym
history
poleceniu uruchomienia .źródło : http://www.cyberciti.biz/faq/unix-linux-bash-history-display-date-time/
źródło
Tak, możesz: jeśli ustawisz
$HISTTIMEFORMAT
,.bash-history
będzie odpowiednio datowany. To nie pomaga w przypadku istniejących.bash-history
treści, ale pomoże w przyszłości.źródło
Zobaczysz zmiany przy następnym logowaniu.
źródło
Aby włączyć znaczniki czasu historii dla wszystkich użytkowników, utwórz skrypt w /etc/profile.d:
źródło
/etc/bash.bashrc
byłoby lepszym miejscem.Wiem, że odpowiadam na nie bardzo późno, ale aby to zrobić dla wszystkich użytkowników, możesz utworzyć dowolny
.sh
plik/etc/profile.d
i dodać do niego następujący wiersz:Jeśli nie jesteś zalogowany jako
root
superużytkownik, musisz użyćtee
polecenia, aby to zrobić:Jeśli chcesz dołączyć do dowolnego istniejącego pliku, przekaż
-a
flagę dotee
polecenia:źródło
/etc/profile.d
.timestamp.sh
wygląda bardzo technicznie (co powoduje zamieszanie), więc użyłem nazwyexisting-foo-file.sh
(koncepcja foo-bar). 2. Nikt nie wspomniał o używaniu go z użytkownikami innymi niż root. Podałem więc przykład użyciasudo
. 3. Trzeci przykład poprawia drugi przykład dołączania do istniejącego pliku. Ponieważ początkujący linux / unix mogą trafić w ten problem, opracowałem go.