Запуск команды Linux без сохранения в истории

По умолчанию каждая команда, которую вы выполняете на своем терминале, помещается оболочкой (интерпретатором команд) в специальный файл, называемый набором файлов истории или историей порядка оболочки. В Bash (наиболее известной оболочке в системах Linux) по умолчанию количество сохраняемых команд в наборе истории равно 1000, а в некоторых дистрибутивах Linux их 500.

Выполните следующую команду, чтобы проверить размер вашей истории в Bash:

$ echo $HISTSIZE

Чтобы увидеть больше старых команд, которые вы запускали, вы можете использовать команду set of history для отображения истории команд оболочки:

$ history

В некоторых случаях вам может потребоваться запретить оболочке регистрировать команды в журнале команд. Вы можете сделать это следующим образом.

Выполните следующие шаги, чтобы удалить команду Linux из истории после запуска.:

Вы можете сразу удалить команду из истории оболочки после ее запуска в командной строке, добавив history - d $(history 1) команду к нему.

$(history 1) подкоманда восстанавливает самую последнюю запись в истории в текущей терминальной сессии, где 1 — уравновешенный, а -d вариант помогает удалить его.

Любая регулярно выполняемая команда сохраняется в истории оболочки.

$ echo "This command is saved in history"
$ history | tail

Как бы то ни было, когда вы добавляете history -d $(history 1) команду в командную строку, она тут же стирается из истории оболочки.

$ echo "This command is not saved in history";history -d $(history 1)
$ history | tail

Еще один способ не дать оболочке сохранить команду в истории: префикс команда с пробелом. Однако это полностью зависит от стоимости $HISTCONTROL переменная оболочки, определенная в ~/.bashrc Файл запуска Bash. Имея одно из этих значений: игнорспейс или игнорировать обачтобы этот метод работал.

Вы действительно можете посмотреть на значение $HISTCONTROL переменная, как показано.

$ echo $HISTCONTROL
OR
$ cat ~/.bashrc | grep $HISTCONTROL

В случае, если установлена ​​ранее упомянутая переменная оболочки, любая команда с префиксом пробела не сохраняется в истории:

$ echo "This command is not prefixed with space, it will be saved in history!"
$ echo "This command is prefixed with space, it will not be saved in history!"

Заключение

Надеюсь, вы узнали что-то новое из этой статьи.

Теперь я хотел бы услышать ваши мысли.

Было ли это руководство полезным для вас?

Или, может быть, у вас есть какие-то вопросы.

Разве я не включил какую-либо команду в это руководство?

Оставьте комментарий ниже.

Похожие записи

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *