Запуск команды 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!"
Заключение
Надеюсь, вы узнали что-то новое из этой статьи.
Теперь я хотел бы услышать ваши мысли.
Было ли это руководство полезным для вас?
Или, может быть, у вас есть какие-то вопросы.
Разве я не включил какую-либо команду в это руководство?
Оставьте комментарий ниже.