Làm cách nào để tôi nhận được lệnh 'xóa' trong Cygwin?


198

Tôi đã cài đặt Cygwin, chọn một bộ gói khá tối thiểu.

Trong một thiết bị đầu cuối, tôi đã cố gắng làm 'xóa' để xóa thiết bị đầu cuối, nhưng tôi nhận được

bash: clear: command not found

Làm thế nào để tôi có được điều này để làm việc?


100
Bạn cũng có thể gõ control-L.
Keith Thompson

1
Có, nhưng (đối với tôi) không hoạt động trong set -o vichế độ; Nó không hoạt động trong set -o emacschế độ mặc dù. Cảm ơn.
MarnixKlooster RebstateMonica

1
Trong set -o vichế độ, bạn có thể nhập thoát theo sau là control-L (sau đó iđể quay lại chế độ chèn). (Cá nhân tôi thích vi làm biên tập viên, nhưng không phải là chế độ vỏ tương tác.)
Keith Thompson

4
nhấn ctrl + L để xóa
KOTIOS

2
Lưu ý rằng ncursesgói (như đã nêu trong câu trả lời được chấp nhận) cũng bao gồm các lệnh hữu ích khác liên quan đến thiết bị đầu cuối như tput, vì vậy nó có thể đáng để cài đặt tùy theo nhu cầu của bạn.
Donald Burr

Câu trả lời:


242

Cài đặt gói Cygwin ncurses; nó thuộc danh mục Utils.


2
Gói này dường như không có trong phiên bản 64 bit của Cygwin hiện tại.
Andrew Prock

6
@AndrewProck Có vẻ như đã có ngay bây giờ!
Rohaq

Cảm ơn vì điều đó! Nếu bạn đã cài đặt cygwin, bạn có thể cài đặt ncurses bằng cách làm theo phần "Cài đặt ncurses" tại đây: java.ociweb.com/mark/programming/tmuxInCygwin.html
jbisa

Nếu bạn không tìm thấy các kênh, thay đổi gương khi bắt đầu cài đặt hoặc sử dụng hộp tìm kiếm
albertoiNET

125

Điều này nên làm:

alias clear='printf "\033c"'

2
Câu trả lời chính xác. Trong các phiên bản cũ hơn của Cygwin, cmd /c clsđược sử dụng để hoạt động như được mô tả tại stackoverflow.com/q/15598245/1207769 . Nhưng giải pháp đó đã ngừng hoạt động, trong khi điều này printfvẫn hoạt động như bài viết này.
ctrueden

1
Tuyệt vời - vẫn hoạt động kể từ năm 2014. Chỉ cần thêm ghi chú rõ ràng, bạn có thể thêm tệp này vào tệp ./bashrc (chỉ cần sao chép và qua dòng) mà bạn sẽ tìm thấy dưới / home / [tên người dùng] và bạn sẽ biến nó thành vĩnh viễn.
Sam Redway

Điều này cũng có tác dụng với bash Gow , nhưng msysgit có chương trình rõ ràng của riêng nó trong thư mục bin
icc97

1
Đây là câu trả lời tốt nhất để xóa cuộn cũng như màn hình hiện tại. Ncurses không xóa cuộn lại cho tôi.
blockloop

Câu trả lời tuyệt vời ... Bạn có thể sử dụng điều này ngay cả trên các máy chủ sản xuất nơi bạn không được phép cài đặt các gói (tôi biết ... Cygwin trên các máy chủ Windows sản xuất .. không phải là lựa chọn của tôi xd). Bạn chỉ cần thêm nó vào ~/.bashrctập tin của mình sourcevà thế là xong ... Công việc tuyệt vời chỉ ra điều đó
Luke Savefrogs

35

chỉ cần sử dụng phím tắt này: Alt+F8Ctrl-Lđể bỏ qua trang


4
Đây không phải là những gì người dùng yêu cầu, đôi khi xóa màn hình thực sự hữu ích để nhanh chóng đảm bảo đầu ra bạn nhận được là từ nơi bạn nghĩ nó đến từ đó.
DrCord

1
Nhưng không phải là một câu trả lời cho câu hỏi, nếu bạn đặt mọi thông tin hữu ích có liên quan một chút vào mỗi bài viết tràn ngăn xếp thì nó sẽ rất quái dị.
DrCord

3
Một tìm kiếm Google cho "cygwin Clear screen" đã đưa tôi đến đây, câu trả lời này là chính xác đối với tôi. Tuy nhiên, bạn có thể nghiêm khắc muốn về câu trả lời, phạm vi, giới hạn và không có gì - nhưng theo tôi nghĩ, điều này đã giải quyết nó cho tôi và nhận được một cuộc bỏ phiếu là thực sự "hữu ích".
Bing

Và thế là trận chiến nổ ra: những người theo chủ nghĩa thuần túy và những người chống chủ nghĩa thuần túy pháo kích từ những mặt đối lập của sự phân chia triết học. Nếu một chiến binh bị giết, anh ta bị ném vào vực thẳm, và khi anh ta ngã hai bên tai để tránh nghe tiếng la hét của Nghịch lý.
Stablesog

14

Sử dụng cygchecklệnh để kiểm tra xem nó nằm trong gói nào (thêm .exevào chuỗi cmd của bạn, trong ví dụ này 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)

và bạn biết bạn phải cài đặt ncursesgói bằng trình cài đặt cygwin.


13

Thật tuyệt khi có clear.exechương trình cho các tập tin bash script, vì vậy:

Windows Cygwin chi tiết cho clear.exelệnh chương trình.

  1. Tải xuống Cygwin setupx86.exehoặc bất cứ điều gì nó gọi tại http://cygwin.com/

  2. Chạy nó và tải về từ internet. * Nếu bạn có kết nối proxy, bạn có thể cần sử dụng cài đặt Internet Explorer hoặc thiết lập proxy tùy chỉnh.

  3. Chọn tất cả các cài đặt mặc định và hoàn tất cài đặt.

  4. Chạy trình cài đặt lần thứ hai và một lần nữa tải xuống từ internet, nhưng lần này bạn sẽ đi vào Utils, khi nói đến cây tập tin để tùy chỉnh cài đặt của bạn.

  5. Mở rộng Utilsvà tải xuống ncurses"tập tin. Ở đó, bạn sẽ nhấp vào skipmục đó, ở bên trái của các tiện ích ncurses (có một vài).

  6. Sau khi thay đổi từ skipbất kỳ phiên bản ncursesnào bạn muốn cài đặt, tiếp tục cài đặt và hoàn tất.

  7. Chạy lại trình cài đặt và lần này bạn sẽ mở rộng Libcác thư viện aka.

  8. Tìm trình cài đặt thư viện terminfo và một lần nữa thay đổi skipthành phiên bản mới nhất, sau đó tiếp tục và hoàn tất cài đặt.

LƯU Ý Cuối cùng, bạn có thể phải đăng xuất khỏi Windows và đăng nhập lại hoặc chỉ cần khởi động lại trước khi các chương trình mới có hiệu lực. Điều này là do khả năng của phiên nền Cygwin.

LƯU Ý Bạn cũng phải thực hiện ba cài đặt riêng biệt.


@Chris: Tôi đang hỏi điều này chỉ vì mục đích rõ ràng. Tại sao thư viện cơ sở dữ liệu terminfo được yêu cầu ở đây? Các lệnh rõ ràng làm việc tốt cho tôi. Tôi đọc về terminfo (như được cung cấp liên kết ) nhưng muốn biết có gì cụ thể nó làm ở đây không?
Starney

11

Nhấp chuột phải> Đặt lại ... (Alt + F8) làm việc cho tôi ... (trên Cygwin-x86-2.830)


1
+1 Ctrl+ Lclearlệnh ncurses tiếp tục cuộn lại, trong khi điều này xóa nó.
Zantier

10

Tôi đã thử trong hệ thống của mình: Nó hoạt động:

Just use: cntrl+l

Hy vọng điều này giúp đỡ!


7

Mở Windows Explorer sau đó điều hướng đến:

[Thư mục cài đặt Cygwin] \ home \ [Người dùng] \

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

sau đó mở tệp .bashrcbằng Notepad ++.

Di chuyển con trỏ của bạn ở cuối dòng cuối cùng và nhấn Enterphím, sau đó thêm văn bản bên dưới.

bí danh cls = 'echo -e "\ 033c"'

hoặc văn bản dưới đây:

bí danh cls = 'printf "\ 033c"'

Khởi động lại cygwin, loại cls. Làm xong!

Lưu ý rằng không có thanh cuộn sau khi gửi lệnh cls. Tôi thích printfphiên bản hơn echophiên bản. Hãy tự thử!


6

Cách tiếp cận chung cho các vấn đề như vậy:
Tìm kiếm trên trang tìm kiếm gói Cygwin với tên thực thi đầy đủ.

Bây giờ việc tìm kiếm gói có thể được thực hiện theo nhiều cách:

Và tất cả 4 trận đấu này bây giờ là từ các ncursesgói. (Cụ thể là 2 gỡ lỗi và 2 phiên bản ổn định.

(Mẹo chuyên nghiệp: Nhấp chuột phải vào trường tìm kiếm và tạo công cụ tìm kiếm tùy chỉnh. Tôi đã đặt tùy chọn này thành lối tắt cpcho "gói cygwin" trong cả Firefox và Chrome.)


2

Tôi mới bắt gặp dự án này và cho đến nay, tôi nghĩ nó thật tuyệt vời

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

Sau khi cài đặt nó, bạn có thể chạy

apt-cyg install ncurses

Cá nhân tôi thích cài đặt thư viện bằng công cụ này hơn công cụ Cygwin b / c, tất cả các phiên bản Cygwin đều có .exe được gắn vào chúng và có thể cồng kềnh khi sao chép và dán các lệnh Linux (ví dụ như SO).

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.