- How to clear bash history completely?
- 9 Answers 9
- However,
- Как очистить терминал Linux
- Команда clear
- Команда reset
- Сочетание клавиш Ctrl+L
- clear && clear
- printf «3c»
- 6 способов очистки терминала в Linux
- Sep 27, 2018 07:01 · 191 words · 1 minute read tips ubuntu debian centos
- Read more
- Как очистить терминал Linux
- Как очистить терминал в Linux
How to clear bash history completely?
I want to clear all previous commands from the history of my server. I used history -c and it seems all things are cleared but when I ssh to the server, all the commands are still there. How can I clear them permanently?
9 Answers 9
The file ~/.bash_history holds the history.
To clear the bash history completely on the server, open terminal and type
cat /dev/null > ~/.bash_history
Other alternate way is to link ~/.bash_history to /dev/null
However,
One annoying side-effect is that the history entries has a copy in the memory and it will flush back to the file when you log out.
To workaround this, use the following command (worked for me):
cat /dev/null > ~/.bash_history && history -c && exit
you can also put above command in .bashrc & .bash_logout . what it mean when you login u will have clear history & when you logout out your history will be cleared
I tried to do it on a raspberry box while connected via SSH. I added the above command ( cat /dev/null > ~/.bash_history && history -c && exit ) to both .bashrc & .bash_logout as suggested by @Qasim . Now as soon as I connect via SSH the remote host closes the connection (after printing the motd) . Help :/
Goes to show what happens when you blindly do things without reading properly and without understanding the processing and data flow. It also shows the pitfalls of bad communication. What devav2 did was run it one time, and what Qasim should have written is to remove the exit command before adding it in login script.
In every open bash shell (you may have multiple terminals open):
Why: As noted above, history -c empties the file ~/.bash_history . It is important to note that bash shell does not immediately flush history to the bash_history file. So, it is important to (1) flush the history to the file, and (2) clear the history, in all terminals. That’s what the commands above do.
For some reason this does not work on Ubuntu 14.04, probably others. It should but it doesn’t. If you issue the command «history -cw» you can confirm with the up arrow that the history isn’t there anymore, but if you start another terminal window (in Unity desktop) with shift + click on the terminal icon (I have it pinned in the launcher) the commands history are back, no matters how many times you do «history -cw». «cat /dev/null > ~/.bash_history» is the only way that worked for me.
It’s history -c and then history -w, you first clear the history then write the changes. This is easily confirmed by closing the terminal and opening it again, with -w first the commands are there again, with -w last history is effectively cleared.
execute the following commands to clear history forever
This answer would be even more helpful if it explained what these flags do (and therefore why/when they’re the right commands to use).
There’s another much simpler one: running history -c on the terminal prompt and gone are all entries in the bash_history file.
If you read the OP’s question you would know that using history -c is the exact method that led to this question.
Clear the current shell’s history:
When you log out, your current shell’s history is appended to ~/.bash_history, which is a cache of previous shells’ histories, to a maximum number (see HISTFILESIZE in «man bash»).
If you want to remove the history altogether, then you essentially have to empty out ~/.bash_history which many of the above entries have suggested. Such as:
This clears the current shell’s history and then forces the current shell’s history (empty) to overwrite ~/.bash_history. or to be more accurate, it forces it to overwrite HISTFILE (which defaults to ~/.bash_history).
Как очистить терминал Linux
Иногда бывает нужно очистить окно терминала от текста, чтобы начать работу, так сказать, с чистого листа. Рассмотрим 5 различных способов очистить терминал.
Команда clear
Самая простая для запоминания команда — команда clear.
Команда clear очищает окно терминала. На самом деле вывод предыдущих команд в терминале никуда не удаляется, просто строка ввода команд перемещается на первую строку терминала, а под ней вы получаете чистое пространство. (См. ниже, как удалить предыдущий текст в терминале.)
Команда reset
Команда reset предназначена для того, чтобы вернуть терминал в первоначальное состояние.
Например, если после выполнения какой-нибудь программы вы пытаетесь ввести в терминале команду, а вводятся совсем не те символы, которые вы нажимаете. В таком случае команда reset восстановит исходное состояние терминала. Также после выполнения данной команды окно терминала очищается.
Сочетание клавиш Ctrl+L
Один из самых быстрых и простых способов очистить терминал — это нажать сочетание клавиш Ctrl+L .
Действие Ctrl+L аналогично выполнению команды clear.
clear && clear
Если выполнить команду clear один раз, то окно терминала будет очищено, но при этом, если до этого в нем было много текста, то можно использовать скролл и просмотреть этот текст. Если выполнить команду clear повторно, то предыдущий вывод в окне терминала будет очищен. Чтобы два раза не вводить clear, можно выполнить:
printf «\033c»
Если выполнить в терминале команду printf «\033c», то окно терминала очистится.
Код 033 (восьмеричная система счисления) соответствует ASCII коду Esc-последовательности. Ввод Esc-последовательности+c в терминале выполняет сброс настроек терминал в первоначальное состояние (подобно команде reset).
6 способов очистки терминала в Linux
Sep 27, 2018 07:01 · 191 words · 1 minute read tips ubuntu debian centos
Иногда при работе в терминале вызываемые команды и результаты их выполнения полностью “засоряют” экран и делают работу в консоли некомфортной. Давайте разберемся с несколькими способами быстрой очистки терминала в Linux!
- На мой взгляд, самый простой и самый быстрый способ очистки терминала — использование комбинации клавиш ctrl+L ( control+L для MacOS).
- Вторым широко известным способом очистки консоли является команда clear .
- На третьем месте по частоте использования в целях очистки терминала находится команда reset .
- Далее следуют несколько экзотические способы. Например, для очистки терминала можно ввести такую команду:
Естественно, это не так удобно в использовании, как первые три варианта, но мы можем сделать алиас:
И это уже не выглядит странно.
- Данный вариант можно использовать для очистки терминала в дистрибутивах с графической оболочкой KDE (там терминал по умолчанию называется Konsole):
Ну или сразу создаем алиас:
alias cls='clear && echo -en "\e[3J"'
- В дистрибутивах с оболочкой GNOME (например, Ubuntu 18.04) можно самостоятельно назначить комбинацию клавиш, которая будет отвечать за очистку терминала, например:
Но, признаться, в повседневной работе мне вполне достаточно и самого первого способа очистки консоли, приведенного в этой статье.
Read more
© Copyright 2023 Yevhen Lebid
Как очистить терминал Linux
Если вы хотите делать снимки экрана терминала Linux или вам хочется чтобы окно терминала перед выполнением команды с очень длинным выводом было пустым, вам понадобиться возможность очистки терминала.
Существует несколько способов это сделать. Можно воспользоваться горячей клавишей, или выполнить несколько команд. Можно очистить только текущий экран или полностью весь вывод. В сегодняшней статье мы расскажем как выполняется очистка терминала в Linux.
Как очистить терминал в Linux
Самый простой способ очистить терминал — воспользоваться сочетанием клавиш Ctrl + L. После нажатия этих клавиш весь уже существующий вывод переместиться вверх, так, что текущее окно терминала будет пустым:
Тем не менее вся история вывода не будет удалена, вы сможете легко получить к ней доступ просто пролистав немного вверх:
Но если вы не будете пытаться листать историю, окно будет чистым. Если этого вам мало, вы можете воспользоваться командой clear. Она полностью очищает вывод и к предыдущему выводу вы уже вернуться не сможете:
Для того чтобы утилита clear не очищала полностью историю вывода, доступную при прокрутке, а работала аналогично сочетанию клавиш Ctrl+L используйте опцию -x:
Но и у этой команды есть одна проблема. Если вы по ошибке вывели содержимое двоичного файла, ваш эмулятор может быть сломан. Все вводимые вами символы могут превратиться в кракозябры, а приглашение ввода вовсе перестанет работать. Такое происходит потому что в двоичных файлах могут случайно встретиться какие-нибудь управляющие последовательности, ломающие работу терминала.
В такой ситуации команда clear не поможет, здесь нужна команда reset:
Она сбрасывает терминал полностью, не только предыдущий вывод, но и любые настройки, заданные с помощью управляющих последовательностей. После её выполнения вы получите чистый терминал.
Как видите, очистить терминал Linux очень просто. А какие способы знаете вы? Напишите в комментариях!
Обнаружили ошибку в тексте? Сообщите мне об этом. Выделите текст с ошибкой и нажмите Ctrl+Enter.