История команд помогает вам просматривать команды, которые вы ранее запускали в терминале. Вот как вы можете управлять историей команд в Linux.
В Linux каждая введенная вами команда сохраняется в файле истории. Команда history позволяет просматривать и повторно использовать эти команды без повторного ввода. Вы можете перемещаться по списку истории, используя Вверх и Вниз ключи. Однако могут быть случаи, когда вы хотите удалить некоторые команды из истории или навсегда отключить функцию сохранения истории.
К счастью, Linux позволяет вам контролировать функции ведения журнала команд, такие как временное отключение или навсегда, удаление всей истории или предотвращение сохранения определенных команд в истории список. Посмотрим, как.
Удалить всю историю команд в Linux
Чтобы удалить весь история команд в Linux с самого начала используйте команду history с -с вариант:
история -с
Это удалит всю историю команд, которые вы ранее запускали.
Удалить определенные команды из истории
Иногда вместо удаления всей истории может потребоваться удалить определенные команды. В этом случае вам необходимо определить номер, связанный с этой конкретной командой в списке истории. Вы можете сделать это, просто набрав:
история
Или вы также можете направить вывод истории в grep, чтобы упростить поиск нужной информации:
история | grep ifconfig
Как только вы нашли номер команды, вы можете удалить его, используя команду истории с -д опция, за которой следует номер команды:
история -д
Выполнение команды без включения ее в историю
Чтобы выполнить команду без записи в историю, просто добавьте Космос перед командой. Однако, чтобы эта функция работала, вам необходимо установить ГИСТКОНТРОЛЬ переменная среды для игнорспейс используя следующую команду:
экспорт HISTCONTROL=игнорировать пробел
Это изменение не сохраняется после перезагрузки. Чтобы сделать его постоянным, добавьте его в свой .bashrc файл с помощью следующей команды:
echo 'HISTCONTROL=ignorespace' >> ~/.bashrc
Включив эту функцию, Bash не будет записывать в файл истории команды, начинающиеся с символа пробела.
Например, следующая команда не будет записана оболочкой:
[пробел] echo 'привет, это первая строка'
Если вы запустите ту же команду без пробела, Bash запишет ее в историю:
echo 'привет, это первая строка'
Точно так же вы также можете позволить Bash удалить последовательные повторяющиеся команды из истории с помощью:
echo 'HISTCONTROL=ignoredups' >> ~/.bashrc
Эта функция будет сохранять последовательные дубликаты только один раз в списке истории.
Как включить/отключить историю команд в Linux
Хотя предыдущий метод может помешать оболочке регистрировать команды в журнале, он может оказаться непрактичным при работе с большим количеством команд.
Вставка пробела перед каждой командой может стать монотонной и обременительной. В таком случае вы можете временно отключить историю оболочки, выполнив следующую команду:
установить +o история
Чтобы снова включить его, используйте следующую команду:
установить -o история
Чтобы навсегда отключить историю команд Linux, используйте:
echo 'установить историю +o' >> ~/.bashrc
Игнорировать определенные команды от записи в историю
Могут быть определенные команды, которые вы хотите исключить, поскольку они могут загромождать список истории и затруднять навигацию. Некоторые из распространенных примеров: pwd, ls, man, cat и команда компакт-диска так как это может быть повторяющимся и лишним.
Используя ИСТИНЬОР переменная среды, вы можете контролировать, какие команды не следует добавлять в список истории. Например, чтобы исключить определенные команды, такие как history, pwd и cat, из списка истории, разделите их двоеточием и заключите в двойные кавычки следующим образом:
экспорт HISTIGNORE="история: pwd: кошка"
Чтобы сделать изменение постоянным, добавьте команду в .bashrc файл с использованием:
echo 'HISTIGNORE="история: pwd: cat"' >> .bashrc
Управляйте историей команд Bash в Linux
Linux предлагает широкие возможности управления историей командной строки, позволяя пользователям указывать, какие команды сохранять в историю, удалить определенные команды из истории, временно включить или отключить историю или даже удалить всю история.
Это не только помогает защитить конфиденциальность пользователя, но и предотвращает загромождение истории Bash ненужными или повторяющимися командами.
Еще лучший способ получить доступ к истории командной строки — использовать McFly, замену на основе нейронной сети стандартному обратному поиску в Linux.