На Linux, управляет как ps
,free
и top
реализованы, чтение информация из proc файловой системы.
The proc file system is a pseudo-file system which is used as an inter-
face to kernel data structures. It is commonly mounted at /proc. Most
of it is read-only, but some files allow kernel variables to be
changed.
Запустите в man 5 proc
и не забывайте, что все эти утилиты являются открытым исходным кодом, таким образом, можно также посмотреть, они кодируют.
Можно использовать tput reset
.
Кроме того, reset
и tput reset
можно использовать следующий сценарий оболочки.
#!/bin/sh
echo -e \\033c
Это отправляет управляющие символы Esc-C
к консоли, которая сбрасывает терминал.
Ключевые слова Google: консольные управляющие последовательности Linux
man console_codes
говорит:
ESC последовательности c вызывает терминальный сброс, который является тем, что Вы хотите, если экран все искажен. Часто рекомендуемое "эхо ^V^O" только сделает ток G0, но нет никакой гарантии, что G0 указывает на таблицу a). В некоторых дистрибутивах существует сброс программы (1), который просто "повторяет ^ [c". Если Ваша terminfo запись для консоли будет корректна (и имеет запись rs1 =\Ec), то "tput сброс" будет также работать.
Можно использовать reset
команда, которая сбросит терминальные настройки.
Я знаю, что Вы находитесь на терминале гнома, но я думал, что отвечу подсказкой для других, которые могли бы быть (как я) на Mac:
Если Вы используете Terminal.app
или iTerm.app
затем Control+L
прокрутит так терминальный пробел взглядов, но Cmd+K
на самом деле сбросит терминал / ясная прокрутка назад.
Или, если Вы можете установить предпочтения клавиатуры своего терминала, Вы можете присваивать что-то как Ctrl+K
вводить echo -e \\033c
как был упомянут выше.
Ответ Антона работает в KDE Konsole, но не URXVT. В URXVT я использовал сброс в течение нескольких лет, чтобы очистить прокрутки (вместе со всеми другими вещами, которые он делает), и не был удовлетворен тем, что он не работает в Konsole. Так что теперь для Linux у меня есть новый псевдоним:
alias allclear='clear; echo -e "\033c\e[3J"'
, но он не работает на ОС X.
RESETPUT TPUT
не работает в каком-либо контексте AFAICT.
В KDE Konsole Ctrl - - - - - k Очищает Scrollback (включая текущую строку оболочки, так что это полностью пусто). В терминале ITERM или Apple на OS X, CMD - - - k также очищает Scrollback. Чтобы добавить эту функцию в URXVT, добавьте это в ~ / .xresources:
urxvt*keysym.C-S-K: command:\033c
Добавлено в ~ / .inputrc
для привязки полной очистки к F12 :
"\e[24~":'!echo -ne \047\\0033\\0143\047\r'
[Ubuntu 16.04]
The.файл bash_historyсоздается в домашнем каталоге пользователя после закрытия терминала
Это полезно, но вы можете удалить его, если хотите. Тем не менее, он будет создаваться каждый раз, когда вы заканчиваете работу с терминалом.
Вы можете удалить его вручную из:
вашего файлового браузера.
терминал: помните, что новый файл .Файл bash_history будет создан при закрытии терминала (в соответствии с его конфигурацией по умолчанию).
Или вы можете вызвать пользовательскую функцию, если сохраните необходимую вам функциональность в файле, связанном с bashrc.. вы можете отредактировать сам bashrc, если хотите поместить туда свой код, но следующие примеры находятся в отдельном файле
Честно говоря, это бесполезно для меня, но если вы хотите удалить историю команд перед выходом, вы можете сделать это:
.bash_custom #это мой пользовательский файл
blotout() {
HISTSIZE=0
rm $HOME/.bash_history
exit
}
, затем внизу добавьте имя и путь моего файла
.bashrc # это файл конфигурации для bash (кажется)
# existent code
#...
#..
# import user customizations
source $HOME/.bash_custom
и все.
НО, чтобы делать именно то, что вы хотитевам просто нужна эта функция в вашем пользовательском файле и связать ее:
refresh() {
tput reset
H=HISTSIZE
HISTSIZE=0
HISTSIZE=H
}
Или просто поместите функцию в .bashrc, если хотите, но таким образом вы, вероятно, нужен оператор экспорта после функции, я не уверен, и если файл обновляется, вероятно, потеряны ваши функции .. Я тоже не уверен в этом: D.
Помните, что вам нужно перезапустить терминал при редактировании .bashrc или вашего «пользовательского» файла.
Для меня, используя PuTTY против CentOS 7, при очистке в прокрутке остается только команда очистки, но запуск «clear && clear», два экземпляра команды очистки одновременно, полностью очищает прокрутка и оставляет меня без полосы прокрутки. Попробуй это. Это странное решение, но ни одно из них здесь не очистило прокрутку так эффективно, и это действительно так.
Я сопоставил F12 для очистки экрана в каждой из следующих оболочек: bash, csh и fish shell .
Моя команда отличается от всех предыдущих тем, что сохраняет все, что вы уже набрали в текущей строке.
(Примечание: все приведенные ниже конфигурации зависят от терминала, но я надеюсь, что они будут работать практически везде)
Откройте файл ~/.inputrc
и вставьте следующую строку:
"\e[24~": "\Ck \C-uecho -ne '\\ec\\e[3J'; history -d $((HISTCMD-1 ))\n\Cy\C-?"
Чтобы получить новую привязку клавиш, откройте новый терминал или введите Ctrl+X, затем Ctrl+R, чтобы перезагрузите файл .inputrc в текущем терминале.
Пояснение
Файл ~/.inputrc управляет привязками клавиш терминала bash.
О строке:
"\e[24~"
, отображает клавишу F12. C-k
(Ctrl+X) очищает список уничтожений (память bash для копирования и вставки). C-u
(Ctrl+U) отправляет текущую строку в список уничтожений и стирает ее. echo -ne '\\ec\\e[3J'; history -d $((HISTCMD-1))\n
отправляет на терминал две сгруппированные команды. Они разделены ;
и заканчиваются \n
.
echo -ne '\\ec\\e[3J'
очищает экран. history -d $((HISTCMD-1))
предотвращает попадание этих двух команд в историю. C-y
(Ctrl+Y) вставляет список уничтожений, сохраненный командой C-u
. C-?
(Ctrl+?) эквивалентно Backspace и удаляет пробел, вставленный на шаге 3 выше.Ссылки:
Введите команду ниже.
bindkey -c "^[[24~" "echo -ne '\ec\e[3J'"
Его также можно вставить в ваш файл .cshrc
для загрузки привязки клавиш к каждому новому терминалу.
(Да, это намного проще, чем в bash)
Введите команду ниже.
bind -k f12 "echo -ne '\ec\e[3J'; commandline -f repaint"
Вы можете отредактировать и сохранить функцию fish_user_key_bindings
для загрузки привязки клавиш к каждому новому Терминал.
(Да, это гораздо проще, чем в bash)
В Fedora 30 удаление истории выполняется путем удаления файла истории $HOME/.bash _. Самый простой способ очистить файл истории терминала с помощью клавиатуры:
nautilus
и нажмите клавишу Enter , чтобы открыть приложение (GNOME )Files (, ранее известное как Nautilus ). .bash_history
(, который должен появиться в строке поиска, если вводится сразу после открытия окна; в противном случае к строке поиска можно получить доступ через Ctrl + L).
tput reset
быстрее, чемreset
в Ubuntu 16.04, по крайней мере – Iván Rodríguez Torres 13.02.2017, 13:22