Как мне получить команду очистки в Cygwin?

198

Я установил Cygwin, выбрав довольно минимальный набор пакетов.

В терминале я попытался сделать «очистить», чтобы очистить терминал, но я получаю

bash: clear: command not found

Как мне заставить это работать?

MarnixKlooster ReinstateMonica
источник
100
Вы также можете ввести control-L.
Кит Томпсон
1
Да, но (для меня) это не работает в set -o viрежиме; это делает работу в set -o emacsрежиме , хотя. Спасибо.
MarnixKlooster ReinstateMonica
1
В set -o viрежиме вы можете набрать escape, а затем control-L ( iчтобы вернуться в режим вставки). (Лично мне нравится vi как редактор, но не как интерактивный режим оболочки.)
Кит Томпсон
4
нажмите Ctrl + L, чтобы очистить
Котиос
2
Обратите внимание, что ncursesпакет (как указано в принятом ответе) также включает в себя другие полезные команды, связанные с терминалом, например tput, поэтому его стоит установить в зависимости от ваших потребностей.
Дональд Берр

Ответы:

242

Установите пакет Cygwin ncurses; это в категории Utils.

MarnixKlooster ReinstateMonica
источник
2
Этот пакет, по-видимому, отсутствует в текущей 64-разрядной версии Cygwin.
Андрей Прок
6
@AndrewProck Кажется, сейчас там!
Рохак
Спасибо за это! Если вы уже установили Cygwin, вы можете установить ncurses, следуя разделу «Установка ncurses» здесь: java.ociweb.com/mark/programming/tmuxInCygwin.html
jbisa
Если вы не нашли ncourses, поменяйте зеркало в начале установки или воспользуйтесь
окном
125

Это должно сделать:

alias clear='printf "\033c"'
Кришна Мурти
источник
2
Отличный ответ. В более старых версиях Cygwin cmd /c clsиспользовался, как описано на stackoverflow.com/q/15598245/1207769 . Но это решение перестало работать, в то время как это printfвсе еще работает на момент написания статьи.
ctrueden
1
Отлично - все еще работает с сентября 2014 года. Просто для большей ясности вы можете добавить это в свой файл ./bashrc (просто скопируйте и вставьте строку), который вы найдете в / home / [имя пользователя], и вы сделаете его постоянным.
Сэм Редуэй
Это также работает на Gow bash, но у msysgit есть своя собственная программа очистки в каталоге bin
icc97
1
Это лучший ответ, чтобы очистить прокрутку, а также текущий экран. Ncurses не очищает прокрутку для меня.
blockloop
Отличный ответ ... Вы можете использовать это даже на производственных серверах, где вам не разрешено устанавливать пакеты (я знаю ... Cygwin на производственных серверах Windows .. не мой выбор xd). Вам просто нужно добавить его в свой ~/.bashrcфайл, sourceи все готово ... Отличная работа
Luke Savefrogs
35

просто используйте этот ярлык: Alt+F8и Ctrl-Lпропустить страницу

Abudayah
источник
4
Это не то, о чем просил пользователь, иногда очистка экрана действительно полезна для быстрой проверки того, откуда получен вывод, откуда он, по вашему мнению, получен.
DrCord
1
Но это вовсе не ответ на вопрос: если вы поместите каждый немного связанный кусочек полезной информации в каждое сообщение о переполнении стека, это будет чудовищно.
DrCord
3
Поиск в Google по запросу «cygwin clear screen» привел меня сюда, этот ответ был правильным для меня. Вы можете быть настолько строгими, насколько хотите, в отношении ответов, масштабов, ограничений и тому подобного - но, насколько я понимаю, это решило это для меня и получило право голоса как действительно «полезное».
Бинг
И так началась битва: пуристы и антипуристы обстреливали противоположные стороны философского разрыва. Если комбатант был убит, его бросили в пропасть, и когда он упал, обе стороны закрыли уши, чтобы не слышать криков парадоксов.
Конюшня
14

Используйте cygcheckкоманду , чтобы проверить , какой пакет он находится в (добавление .exeк вашей CMD строки, в этом примере: clear.exe)

> cygcheck -p 'clear.exe'
Found 4 matches for clear.exe
ncurses-debuginfo-5.9-20150307-1 - ncurses-debuginfo: Debug info for ncurses (installed binaries and support files)
ncurses-debuginfo-5.9-20150404-1 - ncurses-debuginfo: Debug info for ncurses (installed binaries and support files)
ncurses-5.9-20150307-1 - ncurses: Terminal display utilities (installed binaries and support files)
ncurses-5.9-20150404-1 - ncurses: Terminal display utilities (installed binaries and support files)

и вы знаете, что вам нужно установить ncursesпакет с помощью установщика cygwin.

казах
источник
13

Приятно иметь clear.exeпрограмму для файлов bash-скриптов, поэтому:

Windows Cygwin подробно для clear.exeкоманды программы.

  1. Загрузите Cygwin setupx86.exeили позвоните по адресу http://cygwin.com/

  2. Запустите его и загрузите из Интернета. * Если у вас есть прокси-соединение, вам может понадобиться использовать настройки Internet Explorer или настроить собственный прокси.

  3. Выберите все настройки по умолчанию и завершите установку.

  4. Запустите установщик второй раз и снова загрузите его из Интернета, но на этот раз вы зайдете Utils, когда дело доходит до дерева файлов для настройки вашей установки.

  5. Разверните Utilsи ncursesперейдите к «файлам». Там вы нажмете на skipэлемент, слева от утилиты ncurses (их несколько).

  6. После перехода с skipтой версии, которую ncursesвы хотите установить, продолжите установку и завершите.

  7. Запустите установщик еще раз, и на этот раз вы расширите Libбиблиотеки.

  8. Найдите установщик библиотеки terminfo и снова перейдите skipна последнюю версию, затем продолжите и завершите установку.

ПРИМЕЧАНИЕ. Возможно, вам придется выйти из Windows и снова войти в систему или просто перезагрузить компьютер, чтобы новые программы вступили в силу. Это связано с возможностью фонового сеанса Cygwin.

ПРИМЕЧАНИЕ. Также необходимо выполнить три отдельные установки.

Джаред Френч
источник
@ Крис: Я прошу это только ради ясности. Почему здесь нужна библиотека базы данных terminfo? Команда clear работала нормально для меня. Я читал о terminfo (как указано в ссылке ), но хочу знать, есть ли здесь что-то конкретное?
Старни
11

Правый клик> Сброс ... (Alt + F8) работал для меня ... (на Cygwin-x86-2.830)

SxOne
источник
1
+1 Ctrl+ Lи команда ncurses clearсохраняет прокрутку, тогда как это очищает ее.
Зантье
10

Я пытался в моей системе: это работает:

Just use: cntrl+l

Надеюсь, это поможет!

Аншу Кумар
источник
7

Откройте проводник Windows и перейдите к:

[Каталог установки Cygwin] \ home \ [Пользователь] \

e.g.: C:\cygwin\home\wreckseal

затем откройте файл .bashrcс помощью Notepad ++.

Переместите курсор в конец последней строки и нажмите Enterклавишу, затем добавьте текст ниже.

alias cls = 'echo -e "\ 033c"'

или текст ниже:

псевдоним cls = 'printf "\ 033c"'

Перезапустите Cygwin, введите cls. Готово!

Обратите внимание, что после отправки команды cls полоса прокрутки отсутствует. Я предпочитаю printfверсию, чем echoверсию. Попробуй сам!

wreckseal
источник
6

Общий подход к таким проблемам:
Поиск на странице поиска Cygwin-пакетов с полным именем исполняемого файла.

Теперь поиск пакетов можно выполнить несколькими способами:

И все эти 4 матча сейчас из ncursesпакетов. (А именно 2 отладочных и 2 стабильных версии.

(Совет для профессионалов: щелкните правой кнопкой мыши поле поиска и создайте настроенную поисковую систему. Я установил для него ярлык cp«пакет cygwin» в Firefox и Chrome.)

StackzOfZtuff
источник
2

Я только что наткнулся на этот проект, и до сих пор, я думаю, что это круто

https://github.com/transcode-open/apt-cyg

после установки вы можете запустить

apt-cyg install ncurses

Лично я предпочитаю устанавливать библиотеки с помощью этого инструмента, а не инструмента Cygwin, так как все версии Cygwin имеют добавленный .exe и могут быть громоздкими при копировании и вставке команд Linux (например, из SO).

Брэдли Боссард
источник