🎩 Bash: Утилита очистки экрана — clear. Утилита сброса сеанса терминала — reset.

На чем опробовано: Rocky Linux 9.5 (Blue Onyx)/ Debian GNU/Linux 12 (bookworm)/ Ubuntu 24.04.1 LTS/ Fedora Linux 41 (KDE Plasma)

Clear — это утилита в bash, которая очищает содержимое экрана терминала, делая его более удобным для чтения и навигации. Команда отправляет в терминал escape-последовательность «очистить экран», которая указывает терминалу очистить своё отображение и переместить курсор в левый верхний угол экрана.

Установка утилиты clear.

Если утилита clear не установлена, вы можете установить ее с помощью следующей команды:

$ sudo dnf install ncurses

или

$ sudo apt-get install ncurses-bin

Основные функции и использование clear.

Основная функция команды clear — очистить экран терминала. После выполнения этой команды текст, который был отображен в окне терминала, будет удален, и курсор переместится в верхний левый угол.

1. Очистка экрана:

Просто введите команду clear и нажмите Enter.

$ clear

Это приведёт к удалению всего текста на экране терминала, оставляя пустой экран, что делает его более удобным для работы.

2. Сокращённая команда:

Вы также можете использовать клавишу Ctrl + L, которая выполняет ту же функцию, что и команда clear. Это более быстрый способ очистки экрана.

3. Программный вызов:

Утилиту clear можно также вызывать из скриптов или программ для управления выводом. Например, вы можете использовать её в bash-скрипте, чтобы очистить экран перед выводом новой информации.

4. Настройка терминала:

В некоторых терминалах вы также можете настроить поведение clear, чтобы оно включало дополнительные действия, например, изменение цвета фона.

Модификация стандартного поведение команды.

Команда clear -x в bash используется для очистки терминала, и в этом случае флаг -x модифицирует стандартное поведение команды clear.

 $ clear -x
  • Флаг -x является опцией, которая указывает clear не только очистить экран, но и уничтожить, то есть сбросить, фоновый цвет и стиль шрифта, которые могли быть установлены в терминале.
  • После выполнения clear -x терминал будет возвращен в “чистое” состояние, без каких-либо измененных атрибутов.

Например, если вы работаете в терминале и изменили цвет фона или шрифта (например, с помощью команд ANSI escape sequences), использование clear -x позволит вам удалить все эти изменения, возвращая терминал к его стандартному виду (обычно это черный фон с белым текстом).

Очистка экрана терминала с учетом конкретного типа терминала.

Команда clear -T type_of_terminal в bash используется для очистки экрана терминала с учетом конкретного типа терминала, который указан в качестве параметра type_of_terminal.

$ clear -T type_of_terminal
  • Флаг -T (или --term) позволяет указать тип терминала, что может быть полезно, если вы используете специальный терминал или эмулятор терминала, который требует специфических управляющих последовательностей для управления его функциями.
  • type_of_terminal — это строка, обозначающая тип терминала, который определяется в переменной окружения TERM, например, xterm, linux, vt100 и так далее.

Например:

1. Очистка экрана для конкретного терминала:

$ clear -T xterm

Этот пример очистит экран терминала, используя последовательности управления, специфичные для xterm. Если вы работаете в эмуляторе терминала xterm, это может обеспечить наиболее корректное поведение команды.

2. Использование с различными терминалами:

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

$ clear -T linux

Это будет полезно, если вы работаете на системах, где терминал имеет разные особенности отображения.

3. Программный скрипт:

В скрипте можно использовать эту команду, чтобы очистить экран перед тем, как вывести новую информацию:

$ mcedit ~/clear_term.sh
#!/bin/bash
echo "Обновление данных..."
clear -T $(echo $TERM)
echo "Данные обновлены!"
$ bash ~/clear_term.sh

Этот скрипт сначала выводит сообщение о том, что данные обновляются, затем очищает экран для более наглядного отображения, и после этого выводит сообщение об обновлении.

Как узнать какой TERM:

$ echo $TERM

Ответ:

Отображения версии утилиты.

Команда clear -V в bash предназначена для отображения версии утилиты clear, информирует пользователя о версии программы.

$ clear -V
  • Флаг -V (или --version) сообщает программе о необходимости вывести информацию о версии программы.

Ответ:

Альтернативная утилита reset.

Хотя команда clear является отличным инструментом для очистки терминала, это не единственный способ начать работу с чистого экрана. В GNU/Linux существуют альтернативные методы очистки терминала, одним из которых является команда reset.

Команда reset является более эффективной альтернативой clear. Она не только очищает экран терминала, но и сбрасывает состояние терминала, включая любые изменения, внесенные в настройки терминала.

$ reset

Чем отличается reset от clear?

Команды reset и clear в bash используются для управления выводом в терминале, но у них разные функции и поведение.

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

Команда clear.

Эта команда просто очистит экран.

Функция: Команда clear очищает содержимое экрана терминала, удаляя все текстовые строки и устанавливая курсор в верхний левый угол. Однако она не изменяет настройки терминала (такие как цвет фона и шрифта).

Использование: Часто используется для улучшения читаемости терминала, когда на экране накопилось слишком много текста. Она не влияет на состояние терминала, не сбрасывает атрибуты и не инициирует повторную инициализацию терминала.

Команда reset.

Эта команда сбросит текущий сеанс терминала к его исходным настройкам.

Функция: Команда reset не только очищает экран, но и сбрасывает состояние терминала в его первоначальные настройки. Это может быть полезно, если терминал находится в некорректном состоянии (например, после неправильной работы с управляющими последовательностями).

Использование: Используется для восстановления нормальной работы терминала, если он перестал реагировать на команды или отображает текст странно (например, из-за неправильного ввода управляющих символов). После выполнения команды reset, терминал возвращается в исходное состояние, и он может быть перезапущен, как будто вы только что открыли новый сеанс терминала.

Основные отличия.

Воздействие на терминал:

clear — просто очищает экран, оставляя все настройки и состояния терминала нетронутыми.
reset — сбрасывает все параметры терминала и восстанавливает его в исходное состояние.

Сценарии использования:

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

Сводная таблица различий:

Особенность Утилита Clear Утилита Reset
Влияние на терминал Удаляет только видимые выходные данные Полная перезагрузка терминала
Удаление истории команд
❌ Нет ❌ Нет
Сочетание клавиш ✅ Ctrl + L ❌ Нет
Скорость Быстро ❌ Медленнее (сброс настроек)
Пример использования Быстро обновляет экран Исправляет прерванные терминальные сеансы

Если clear не работает в скриптах.

Если вы пишете скрипт и обнаруживаете, что команда clear не работает, это может быть связано с тем, что скрипт запущен в неинтерактивной оболочке. В этом случае вы можете вместо этого использовать команду tput clear, которая должна работать как в интерактивной, так и в неинтерактивной оболочках.

$ mcedit ~/tput_clear.sh
#!/bin/bash
echo 'This is some output'
tput clear
$ bash ~/tput_clear.sh

Изменение цвета фона с помощью clear.

Команда clear в bash сама по себе не предназначена для изменения цвета фона терминала. Однако вы можете использовать ANSI escape sequences для изменения цвета фона и текста в вашем терминале перед или после выполнения команды clear.

Вот пример, как вы можете это сделать:

1. Изменение цвета фона:

Как правило, для изменения цвета фона вы можете использовать escape-последовательности в формате \e[<код_цвета>m.

Пример скрипта, который изменяет цвет фона и затем очищает экран:

$ mcedit ~/console_magic.sh
#!/bin/bash

# Установить фон в красный
echo -e "\e[41m"

# Очистить экран
clear

# Установить цвет текста в белый
echo -e "\e[37m"

# Показать сообщение
echo "Фон теперь красный!"
$ bash ~/console_magic.sh

Ответ:

Объяснение:

\e[41m — устанавливает красный цвет фона. Вместо 41 вы можете использовать другие коды для разных цветов (например, 40 — черный, 42 — зеленый, 43 — желтый и так далее).
clear — очищает экран, но фоновый цвет остаётся установленным.
\e[37m — устанавливает белый цвет текста.

$ bash ~/console_magic.sh

2. Возврат к стандартному цвету:

После каждого изменения цвета рекомендуется сбросить его в стандартное состояние с помощью \e[0m:

# Сброс цветов
echo -e "\e[0m"

# Очистить экран
clear

Или с помощью команды reset.

$ reset

Оригиналы источников информации.

  1. ommandmasters.com «How to use the command ‘clear’ (with examples)».
  2. ioflood.com «Installing and Using ‘Clear’ Command | Linux Guide».
  3. cyberpanel.net «Clear Command in Linux: Everything You Need to Know».

Вам может также понравиться...