На этот вопрос уже есть ответ здесь:
Я использовал cmd еще в windows, и командная строка, которую я часто использовал, была cls
. Это похоже на команду clear
, используемую в Linux, но она очищает экран навсегда.
Если вы используете команду clear
, она просто прокручивается вниз, так что вы не видите команду, над которой работали.
Мне очень нравятся оба варианта, но мой вопрос в том, как мне получить cls
, подобную команду, которая очищает экран и не может прокручиваться вверх, чтобы увидеть команду, над которой вы работали?
Если цель состоит в том, чтобы избежать только случайного повторного обнаружения истории команд, reset
может быть жизнеспособным выбором.
Однако имейте в виду, что по умолчанию оболочка также записывает историю ваших команд в файл - это также в высшей степени доступно для обнаружения. Если вы хотите запретить другим пользователям просматривать историю ваших команд, вам также следует удалить ее.
history -c
# очистить вашу историю
Вы можете использовать reset
. Это сбрасывает весь терминал, так что это может быть немного излишним.
Примечание для Konsole:
@ Механическая улитка заметила, что «в Konsole 4.8.5 старый текст все еще там, если вы прокрутите вверх». @gertvdijk объяснил, что это «особенность. Для Konsole есть Ctrl kbd> + Shift kbd> + K kbd> (сброс и сброс прокрутки) ) «.
Добавьте эту строку в ~/.bashrc
(т. Е. Файл с именем .bashrc
, расположенный в вашей домашней папке - вы можете увидеть его в Nautilus, нажав Ctrl kbd> + H kbd>):
alias cls='printf "\033c"'
Теперь команда cls
очистит экран, как в Windows. Это вернет вас в верхнюю часть окна терминала, без текста над ним. (Он не удалит историю команд оболочки.)
Это работает, потому что:
.bashrc
запускается каждый раз при запуске оболочки bash
. alias
определяет команду cls
для запуска команды, указанной в правой части. printf
записывает символы в терминал. Он принимает escape-коды. Восьмеричный 033
- это символ, используемый для обозначения начала управляющего кода терминала . Управляющий код c
говорит терминалу очистить себя. .bashrc
. Запуск cls
отправляет необходимые данные в терминал, чтобы сказать ему очистить себя. В текущем окне терминала просто введите следующее:
printf "\033c"
cls
работает путем очистки буфера, который фиксируется 25 или 50 строк в случае DOS и Windows, соответственно. Вы можете достичь чего-то подобного, написав так много строк в буфере, что он переполняется (2000 - типичное значение), но тогда reset
также является жизнеспособным вариантом, как сказал @lgarzo.