Вводим привычку хранения истории команда на обслуживаемых системах Ubuntu LTS Server. Т.е. мне нужно чтобы все что я вводя в консоли (использую интерпретатор команд bash)

ekzorchik@srv-us2204a:~$ cat /etc/passwd | grep ekzorchik
ekzorchik:x:1000:1000:ekzorchik:/home/ekzorchik:/bin/bash

сохранялось, а обычно оно и сохраняется в файле ~/.bash_history пользовательского каталога, к примеру если моя обычная учетная запись – это Login:ekzorchik, то файл находится в /home/ekzorchik/.bash_history

ekzorchik@srv-us2204a:~$ cat ~/.bash_history | head -n10
sudo dhclient -r ens160
sudo dhclient -v ens160
sudo nano /etc/hostname
sudo nano /etc/hosts
exit
ip r
sudo dhclient -r esn160
sudo visudo
sudo reboot
ip r
ekzorchik@srv-us2204a:~$

А вот параметры хранения истории указываются в файле ~/.bashrc

Чтобы сохранять историю вводимых команд текущего сеанса в файл с историей:

ekzorchik@srv-us2204a:~$ nano ~/.bashrc
export PROMPT_COMMAND='history -a'

Чтобы сохранять история по формату (ГОД-Месяц_дата Час_Минута_Секунда):

ekzorchik@srv-us2204a:~$ nano ~/.bashrc
HISTTIMEFORMAT='%F %T '

На заметку: После %T обязательно ставим символ пробела, это нужно чтобы вывод истории команд был следующим:

70  2024-09-27 09:56:01 sudo nano /etc/ssh/authorized_keys
71  2024-09-27 09:56:01 sudo useradd ezhuk
72  2024-09-27 09:56:01 sudo passwd ezhuk
73  2024-09-27 09:56:01 sudo mkdir /home/ezhuk
74  2024-09-27 09:56:01 sudo nano /etc/passwd
75  2024-09-27 09:56:01 sudo usermod -aG sshauth

Увеличиваем количество строк с 1000 (по умолчанию) к примеру, до 10000:

ekzorchik@srv-us2204a:~$ nano ~/.bashrc
HISTSIZE=10000

Обозначаем команды, которые не нужно вносить/сохранять в файле журнала:

ekzorchik@srv-us2204a:~$ nano ~/.bashrc
HISTIGNORE="w,htop,top,iftop,ls,id"

Если нужно чтобы вводимая команда в консоли не была занесена в историю, нужно перед нет поставить предопределенный символ, к примеру символ "Пробела":

ekzorchik@srv-us2204a:~$ nano ~/.bashrc
#HISTCONTROL=ignoreboth
HISTCONTROL=ignorespace

Чтобы изменения в файле применились тут же без закрытия и открытия консоли командной строки:

ekzorchik@srv-us2204a:~$ source ~/.bashrc

Если нужно чтобы все настройки, сделанные выше применялись ко всем пользователям в системе:

ekzorchik@srv-us2204a:~$ sudo nano /etc/bash.bashrc
ekzorchik@srv-us2204a:~$ source /etc/bash.bashrc

Хочу еще заметить, что перед последующим использование настроек выше, не забываем проверить какие права установлены на пользовательский файл ~/.bash_history

ekzorchik@srv-us2204a:~$ ls -l ~/.bash_history
-rw------- 1 root root 48 авг. 31 21:35 /home/ekzorchik/.bash_history

нужно изменить их на пользователя:

ekzorchik@srv-us2204a:~$ sudo chown ekzorchik:ekzorchik ~/.bash_history

Чтобы отобразить набранные команды вводим "history" и видим порядковые номера когда либо набранных команды, а чтобы запустить какую либо из них, делаем: ![номер_команды].

На заметку: кавычки перед history и после вводить вводить не нужно

Чтобы посмотреть историю первых набранных файлов следует в консоли набрать команду:

ekzorchik@srv-us2204a:~$ head -n 5 /home/keiz/.bash_history

Чтобы посмотреть историю последних набранных файлов следует в консоли набрать команду:

ekzorchik@srv-us2204a:~$ tail -f -n 5 /home/keiz/.bash_history

Чтобы удалить конкретную строку в истории набранных файлов:

ekzorchik@srv-us2204a:~$ history -d243

Чтобы очистить историю запоминаемых команд:

ekzorchik@srv-us2204a:~$ history -c

Чтобы отредактировать команду под номером (используется предопределенный пользователем текстовый редактор, у меня nano):

ekzorchik@srv-us2204a:~$ fc 168

Вот такую шпаргалку я буду продолжать составлять для себя по мере зарабатывания опыта. Пока на этом все, с уважением автор блога Олло Александр aka ekzorchik.