Что эквивалентно & ldquo; cls & rdquo; команда из Windows / DOS? [Дубликат]

У этого вопроса уже есть ответ здесь: Как действительно очистить терминал? 11 ответов

Раньше я использовал cmd в окнах, а в командной строке я много использовал cls. Это похоже на команду clear, используемую в Linux, но она полностью очищает экран.

Если вы используете команду clear, она просто прокручивает вниз, так что вы не видите команду вы, где работаете.

Мне нравится как много, но мой вопрос: как мне получить команду cls, которая очищает экран и не может просматривать, чтобы увидеть команду вы где работаете?

1
задан 16 January 2013 в 18:03

4 ответа

Добавьте эту строку в ~/.bashrc (т. е. файл с именем .bashrc, расположенный в вашей домашней папке - вы можете увидеть его в Наутилусе, нажав Ctrl + H):

alias cls='printf "\033c"'

Теперь команда cls очистит экран, как в Windows. Он вернет вас к началу окна терминала, без текста, показанного выше. (Это не приведет к удалению истории команд оболочки.)

Это работает, потому что:

.bashrc запускается каждый раз при запуске оболочки bash. Команда alias определяет команду cls для запуска команды, указанной в правой части. Команда printf записывает символы в терминал. Он принимает коды эвакуации. Октал 033 - это символ, используемый для сигнализации начала управляющего кода терминала. Управляющий код c указывает терминалу очистить себя. Итак, с этой модификацией .bashrc. запуск cls отправляет необходимые данные на терминал, чтобы сообщить об этом, чтобы очистить себя.
7
ответ дан 25 May 2018 в 13:00
  • 1
    Ответ на на SO. – lgarzo 17 January 2013 в 00:05
  • 2
    Обратите внимание, что \033c или шестнадцатеричный вариант \x1Bc, (ESC c) могут быть специфическими для конкретного терминала. printf $(tput clear) может быть намного более переносимым (зависит от terminfo, man 5 terminfo, man terminfo). – Hannu 4 January 2015 в 19:36

В текущем окне терминала просто введите следующее:

printf "\033c"
3
ответ дан 25 May 2018 в 13:00

Если цель состоит в том, чтобы избежать случайного повторного открытия истории команд, reset может быть жизнеспособным выбором.

Однако помните, что по умолчанию оболочка также записывает вашу историю команд в файл - это также доступно для обнаружения. Если вы хотите, чтобы другие люди не просматривали вашу историю команд, вы также должны их очистить.

history -c # очистить историю

1
ответ дан 25 May 2018 в 13:00

cls работает, очищая буфер, который фиксирован 25 или 50 строк в случае DOS и Windows соответственно. Вы можете добиться чего-то подобного, написав так много строк в буфере, что оно переполняется (2000 - это типичное значение), но тогда reset также является жизнеспособным вариантом, как сказал @lgarzo.

0
ответ дан 25 May 2018 в 13:00

Другие вопросы по тегам:

Похожие вопросы: