Come posso ottenere il comando 'clear' in Cygwin?


198

Ho installato Cygwin, scegliendo un set di pacchetti abbastanza minimale.

In un terminale, ho provato a fare 'clear' per cancellare il terminale, ma ci riesco

bash: clear: command not found

Come faccio a farlo funzionare?


100
Puoi anche digitare control-L.
Keith Thompson,

1
Sì, ma (per me) che non funziona in set -o vimodalità; si fa il lavoro in set -o emacsmodo però. Grazie.
MarnixKlooster ReinstateMonica,

1
In set -o vimodalità, puoi digitare escape seguito da control-L (quindi iper tornare alla modalità insert). (Personalmente, mi piace vi come editor, ma non come modalità shell interattiva.)
Keith Thompson,

4
premi ctrl + L per cancellare
KOTIOS

2
Si noti che il ncursespacchetto (come indicato nella risposta accettata) include anche altri utili comandi relativi al terminale come tput, quindi potrebbe valere la pena installarlo in base alle proprie esigenze.
Donald Burr,

Risposte:


242

Installa il pacchetto Cygwin ncurses; è nella categoria Utilità.


2
Questo pacchetto non sembra essere nella versione corrente di Cygwin 64-bit.
Andrew Prock,

6
@AndrewProck Sembra essere lì adesso!
Rohaq,

Grazie per questo! Se hai già installato Cygwin, puoi installare ncurses seguendo la sezione "Installa ncurses" qui: java.ociweb.com/mark/programming/tmuxInCygwin.html
jbisa,

Se non trovi ncourses, cambia mirror all'inizio dell'installazione o usa la casella di ricerca
albertoiNET

125

Questo dovrebbe fare:

alias clear='printf "\033c"'

2
Bella risposta. Nelle versioni precedenti di Cygwin, cmd /c clsfunzionava come descritto su stackoverflow.com/q/15598245/1207769 . Ma quella soluzione ha smesso di funzionare, mentre questo printffunziona ancora a partire da questa scrittura.
ctrueden,

1
Eccellente - funziona ancora dal settembre 2014. Solo per una nota di chiarezza aggiuntiva puoi aggiungerlo al tuo file ./bashrc (copia e oltre la riga) che troverai in / home / [nome utente] e lo renderai permanente.
Sam Redway,

Questo ha anche un fascino per Gow bash, ma msysgit ha il suo programma chiaro nella directory bin
icc97

1
Questa è la risposta migliore per cancellare lo scrollback e la schermata corrente. Ncurses non cancella lo scrollback per me.
Blockloop

Ottima risposta ... Puoi usarlo anche su server di produzione in cui non ti è permesso installare pacchetti (lo so ... Cygwin su server Windows di produzione .. non è la mia scelta xd). Devi solo aggiungerlo al tuo ~/.bashrcfile e il gioco sourceè fatto ... Bel lavoro sottolineandolo
Luke Savefrogs

35

basta usare questo collegamento: Alt+F8e Ctrl-Lper saltare la pagina


4
Questo non è ciò che l'utente ha richiesto, a volte cancellare uno schermo è davvero utile per assicurarsi rapidamente che l'output che ottieni provenga da dove pensi che sia.
DrCord,

1
Ma non è una risposta alla domanda, se metti ogni pezzo di informazioni utili leggermente correlate su ogni post di overflow dello stack, sarebbe mostruoso.
DrCord,

3
Una ricerca su Google per "cygwin clear screen" mi ha portato qui, questa risposta era corretta per me. Puoi essere rigoroso per quanto riguarda le risposte, la portata, i limiti e quant'altro - ma per quanto mi riguarda, questo mi ha risolto e ha ottenuto un voto molto "utile".
Bing

E così si scatenò la battaglia: i puristi e gli anti-puristi che bombardavano da lati opposti della divisione filosofica. Se un combattente veniva ucciso, veniva gettato nell'abisso, e mentre cadeva le due parti si coprivano le orecchie per evitare di sentire le urla dei paradossi.
Stabledog,

14

Usa il cygcheckcomando per controllare in quale pacchetto si trova (aggiungendo .exealla tua stringa cmd, in questo esempio 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)

e sai che devi installare il ncursespacchetto usando il programma di installazione di cygwin.


13

È bello avere il clear.exeprogramma per i file di script bash, quindi:

Dettaglio di Windows Cygwin per il clear.execomando del programma.

  1. Scarica Cygwin setupx86.exeo come si chiama all'indirizzo http://cygwin.com/

  2. Eseguilo e scarica da internet. * Se si dispone di una connessione proxy, potrebbe essere necessario utilizzare le impostazioni di Internet Explorer o configurare un proxy personalizzato.

  3. Scegli tutte le impostazioni predefinite e termina l'installazione.

  4. Esegui il programma di installazione una seconda volta e scaricalo di nuovo da Internet, ma questa volta entrerai Utils, quando si tratta dell'albero dei file per personalizzare l'installazione.

  5. Espandere Utilse passare ai ncurses"file. Lì, si farà clic skipsull'elemento, a sinistra dell'utility ncurses (ce ne sono alcuni).

  6. Dopo essere passati skipa qualsiasi versione di ncurseste desideri installare, continua l'installazione e finisci.

  7. Esegui di nuovo il programma di installazione e questa volta espanderai le Liblibrerie aka.

  8. Trova il programma di installazione della libreria terminfo e skippassa nuovamente alla versione più recente, quindi continua e completa l'installazione.

NOTA Potrebbe essere necessario disconnettersi da Windows e riconnettersi oppure riavviare prima che i nuovi programmi diventino effettivi. Ciò è dovuto alla possibilità della sessione in background di Cygwin.

NOTA È inoltre necessario eseguire le tre installazioni separate.


@ Chris: Lo sto chiedendo solo per motivi di chiarezza. Perché qui è richiesta la libreria del database terminfo? Il comando chiaro ha funzionato bene per me. Ho letto di terminfo (come link fornito ) ma voglio sapere c'è qualcosa di specifico che fa qui?
Starney,

11

Tasto destro del mouse> Ripristina ... (Alt + F8) ha funzionato per me ... (su Cygwin-x86-2.830)


1
+1 Ctrl+ Le il clearcomando ncurses mantengono lo scrollback, mentre questo lo cancella.
Zantier,

10

Ho provato nel mio sistema: funziona:

Just use: cntrl+l

Spero che questo aiuto!


7

Apri Esplora risorse, quindi vai a:

[Directory di installazione di Cygwin] \ home \ [Utente] \

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

quindi aprire il file .bashrccon Notepad ++.

Sposta il cursore alla fine dell'ultima riga e premi il Entertasto, quindi aggiungi il testo qui sotto.

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

o il testo seguente:

alias cls = 'printf "\ 033c"'

Riavvia Cygwin, digitare cls. Fatto!

Nota che non c'è nessuna barra di scorrimento dopo aver inviato il comando cls. Preferisco la printfversione rispetto alla echoversione. Provate voi stessi!


6

Approccio generale a tali problemi:
ricerca nella pagina di ricerca del pacchetto Cygwin con il nome completo dell'eseguibile.

Ora la ricerca del pacchetto può essere eseguita in diversi modi:

E tutte queste 4 partite sono ora dai ncursespacchetti. (Vale a dire 2 versioni di debug e 2 stabili.

(Suggerimento: fai clic con il pulsante destro del mouse sul campo di ricerca e crea un motore di ricerca personalizzato. Ho impostato questo collegamento cpper "pacchetto cygwin" sia in Firefox che in Chrome.)


2

Mi sono appena imbattuto in questo progetto e finora penso sia fantastico

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

dopo averlo installato, è possibile eseguire

apt-cyg install ncurses

Personalmente preferisco installare librerie utilizzando questo strumento rispetto allo strumento Cygwin a causa del quale tutte le versioni di Cygwin hanno .exe aggiunto a loro, e possono essere scomode quando si copiano e si incollano i comandi di Linux (ad esempio fuori da SO).

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.