Как создать команду типа cls для Ubuntu/Linux, которая не только очистит экран эмулятора терминала, но и сделает так, что вы не сможете прокрутить вверх, чтобы увидеть то, что вы очистили? Обратите внимание, что команда clear
не удаляет текст. Она просто прокручивает его вверх из поля зрения. Также будет полезна любая информация о настройке ее как общесистемной команды, называемой cls
(особенно полезно для пользователей Windows, переходящих на Linux).
решение1
Создайте скрипт, назовите его cls
, сделайте его исполняемым ( chmod +x cls
) и придайте ему следующее содержимое:
#!/bin/bash
printf "\033c"
Прежде чем добавлять его в свой путь, вам, возможно, захочется убедиться, что нет cls
уже вызванных программ:
update-alternatives --config cls
Затем, чтобы добавить его в системный путь, поместите свой скрипт в безопасное системное расположение, например, /opt/bin/cls
и используйте update-alternatives
для добавления его в путь для всех пользователей:
sudo update-alternatives --install /usr/bin/cls cls /opt/bin/cls 0
Вы можете поместить свой скрипт в ~/bin
(тильда обозначает ваш домашний каталог), чтобы он находился в пути одного пользователя (если вам пришлось создать каталог bin
, вам нужно будет перезагрузить компьютер, прежде чем он появится в вашем пути). В этом случае нет необходимости что-либо делать с update-alternatives.
решение2
Как уже упоминал @user2962794, команда очистки терминала выдает escape-код \033c
. Это escape-последовательность VT-100 ANSI для сброса терминала в исходное состояние (RIS, см.здесь) и представляет собой символ ASCII «Escape» ( \033
), за которым следует c
.
Поэтому, чтобы очистить ваш терминал, вам понадобится всего лишь один из
printf printf "\033c"
или
echo -ne "\033c"
Чтобы сделать это проще, вы можете создать для него псевдоним. Добавьте эту строку в ваш ~/.bashrc
:
alias cls="printf '\033c'"
Теперь откройте новый терминал и запустите cls
его, чтобы очистить его. Обратите внимание, что если уже есть команда с именем cls
, это заменит ее. Убедитесь, что вы выбрали уникальное имя, чтобы избежать этого.