Как я могу удалить последние 5 строк в истории удара? Так, чтобы, когда я перезагружаю сервер Ubuntu или перезапускаю его, они не были там вообще?
история-c только удаляет его из текущей сессии, но когда я повторно вхожу в систему, я вижу команды снова, я хочу очистить последние 5.
Я работал:
history
Затем я буду видеть числа команд, например:
489 cd ..
490 cd .zshrc
491 cat .zshrc
Затем я работаю, например:
history -d 489
history -c
Затем я закрываю терминал и вновь открыл его, и я все еще вижу строку 489, он был только удален для той текущей сессии, как я удаляю его permentantly из всего продвижения сессий?
Советуйте.
Существуют разные способы выполнения этой задачи, но давайте кое-что проясним, прежде чем идти дальше.
Существует файл с именем: ~/.bash_history
, в котором содержится история ваших предыдущих сеансов терминала, при каждом закрытии терминала ваша история будет там сохраняться.
В то же время история ваших старых сессий вместе с текущей сессией временно доступна командам history
, пока вы не закроете терминал, который затем будет сохранен в файл ~/.bash_history
.
Таким образом, если вы удалите 5 строк в конце ~/.bash_history
, то закрытие терминала приведет к тому, что ваша текущая команда будет доступна на следующих сессиях.
Так что если я сделаю wc
для .bash_history:
wc -l ~/.bash_history
Большую часть времени я получу меньшее число, чем history | wc -l
.
Если вы хотите удалить последние 5 строк файла, вы можете использовать эту команду:
for i in {1..5}; do sed -i '$d' .bash_history; done;
И если вы хотите сохранить всю историю, кроме последних 5 команд, выпущенных в текущем сеансе run:
history | awk '{ print $2 }' | head -n -5 > .bash_history
Не забудьте также запустить history -c
.
Удаление из файла истории можно выполнить с помощью командной строки в два этапа:
Нажатие history -d <line_number>
удаляет указанную строку из истории в памяти. Нажатие history -w
записывает текущую историю в памяти в файл ~ / .bash_history. Два шага вместе навсегда удаляют строку из истории в памяти, а также из файла .bash_history.
Ссылка: StackExchange
Я думаю, вам нужно попробовать это очень легко & amp; простой.
Как удалить историю без следа
history -d $((HISTCMD-1)) && history -d NO_of_History_you_want_to_delete
, если вы хотите выполнить команду, не оставив следа.
history -d $((HISTCMD-1)) && type_your_command_here_and_execute
Откройте ~/.bash_history
в вашем редакторе и удалите последние 5 строк.
история-w
vi ~/.bash_history
история-r