🎩 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
Оригиналы источников информации.
- ommandmasters.com «How to use the command ‘clear’ (with examples)».
- ioflood.com «Installing and Using ‘Clear’ Command | Linux Guide».
- cyberpanel.net «Clear Command in Linux: Everything You Need to Know».