Câu hỏi Làm thế nào để thực sự rõ ràng các thiết bị đầu cuối?


Tôi có thể phát hành clear lệnh hoặc nhấn Ctrl + L để xóa thiết bị đầu cuối Ubuntu hiện tại, nhưng điều này chỉ thay đổi đầu ra trước đó trở lên và nếu bạn sử dụng cuộn chuột hoặc PgUP và PgDown các phím khó phân biệt nơi đầu ra của lệnh trước kết thúc và đầu ra của lệnh hiện tại bắt đầu.

Có cách nào để có thật không rõ ràng các thiết bị đầu cuối vì vậy tôi sẽ không thấy kết quả lệnh trước đó?


322
2018-02-06 21:51


gốc


Nhấn Ctrl + L hai lần và bạn bị trống! - Pandya


Các câu trả lời:


Có, lệnh bạn đang tìm là

reset

Trái ngược với clear, hoặc là Ctrl+L, reset sẽ thực sự hoàn toàn khởi tạo lại thiết bị đầu cuốithay vì chỉ xóa màn hình. Tuy nhiên, nó sẽ không tái khởi tạo shell (bash). Điều đó có nghĩa là bash's tiểu bang cũng giống như trước đây, giống như bạn chỉ đang xóa màn hình.

Như @Wallacoloo đề cập trong các ý kiến, lệnh này nên làm điều tương tự nhanh hơn:

tput reset

Từ các câu trả lời khác:

  • Bạn có thể đặt Phim tăt đến reset thiết bị đầu cuối, như được giải thich bởi towolf.

  • Nếu bạn đang chạy Kubuntuvà thiết bị đầu cuối của bạn là Konsole, bạn cần truy cập Chỉnh sửa → Xóa lịch sử, kể từ đó reset không hoạt động theo cùng cách đó, như ghi chú UncleZeiv.


392
2018-02-06 21:55



Có lẽ không quan trọng đối với hầu hết người dùng, nhưng hành vi của reset phụ thuộc vào thiết bị đầu cuối. - cthom06
Cá nhân tôi không quan tâm rằng một cái gì đó còn lại "lên" dọc theo cuộn khi tôi nhấn ^L. Tôi không thấy nó (đó là những gì tôi muốn!), Tôi không cảm thấy nó, và nếu đột nhiên tôi sẽ nhu cầu để khôi phục lại những gì đã có - không sao cả. reset ngược lại là công cụ khó hơn nhiều - tôi sẽ sử dụng nó khi có sự cố xảy ra với thiết bị đầu cuối giống như, khi các chuỗi escape lạ vô tình hủy hoại màn hình hiển thị hoàn toàn. - ulidtko
@ulidtko: nó có vấn đề khi bạn chạy các phiên liên tiếp của chương trình với tấn đầu ra. Nếu bạn di chuyển trở lại thật dễ dàng để có được nhầm lẫn về việc thực hiện in một cái gì đó. Tôi biết hoàn toàn rõ ràng rằng các giải pháp phức tạp hơn có thể được sử dụng trong những trường hợp này, tuy nhiên đó là một kịch bản thường xảy ra trong các phiên gỡ lỗi nhanh và bẩn. - UncleZeiv
@UncleZeiv neo màu cố định thường giúp tôi nhanh chóng tìm thấy vị trí cần thiết. Mặc dù đây chỉ là thói quen. - ulidtko
Cũng có tput reset có thể làm điều tương tự nhưng hoàn thành ngay lập tức (trong khi reset có thể mất đến khoảng 2 giây trước khi lời nhắc xuất hiện trở lại). - Ponkadoodle


Tôi đã tìm kiếm điều này một thời gian và tôi tìm thấy một số thiên tài đã đăng bài này:

clear && printf '\e[3J'

Xóa toàn bộ bộ đệm màn hình, rất sạch sẽ. Hoạt động trên OS X và tin rằng nó hoạt động tốt trên hầu hết các thiết bị đầu cuối * nix.

Đối với tò mò, phần này '\e[3J' là lệnh thoát khỏi đầu cuối.


76
2018-05-29 05:51



Hmm, hoạt động trong xterm, Konsole và Linux VT, nhưng không có trong gnome-terminal ... - Ruslan
Cảm ơn, đó là siêu hữu ích! Cái gì printf '\e[3J' nghĩa là? Làm thế nào để nó làm sạch bộ đệm? - Filip Spiridonov
Tuyệt vời tìm! Và đối với những người muốn đặt lại kiểu Bash trên mac: nano ~/.bashrc và thêm alias reset="clear && printf '\e[3J'" - Michael Deal
cẩn thận răng cưa reset - nó không chỉ làm rõ thiết bị đầu cuối. ví dụ: nếu bạn vô tình in tệp nhị phân bằng rác ngẫu nhiên làm hỏng thiết bị đầu cuối (ví dụ: vô hiệu hóa việc lặp lại các ký tự đã nhập), reset thường có thể khắc phục điều đó. tất nhiên việc đánh răng là tốt miễn là bạn biết cách \override lệnh bí danh. - RubyTuesdayDONO
Đây là câu trả lời duy nhất hoạt động để xóa lùi cuộn Putty khi truy cập một số SSH qua Winders. - dhaupin


Bạn cũng có thể gán một phím tắt trong gnome-terminal bằng cách vào Chỉnh sửa → Phím tắt. tôi sử dụngShift+Ctrl+Alt+C.

reset and clear shortcut


37
2018-02-08 22:46



+1. Tôi luôn luôn có Menubar ẩn; vì vậy thậm chí sau nhiều năm và nhiều năm sử dụng gnome, tôi chưa bao giờ nghĩ đến việc tìm kiếm điều này. Cảm ơn :-) - Stefano Palazzo♦
"Đặt lại" không làm gì cho tôi và "Đặt lại và xóa" xóa mọi thứ nhưng không hiển thị lời nhắc. Không có mục nào trong số các mục trình đơn này hoạt động giống như lệnh “đặt lại” từ thiết bị đầu cuối. - Hibou57
Như @ Hibou57 nói, phím tắt của tôi cho "Reset" dường như không làm bất cứ điều gì. Chức năng này có bị hỏng trong 14.04 không? - Michael Martin-Smucker
“Chức năng này có bị hỏng trong 14.04 không?”: Điều này cũng tương tự với 12.04. - Hibou57
@ Hibou57 "Reset and Clear" không được mong đợi để hiển thị lại lời nhắc, nhưng nếu bạn nhấn Enter thì nó sẽ hiển thị lại lời nhắc. Điều đó có hiệu quả với bạn không? - Don Hatch


chạy lệnh này:

reset

Điều này có tác dụng tương tự như khởi chạy một thiết bị đầu cuối mới.


15
2018-02-06 21:55



Khi sử dụng putty, sau khi chạy reset, Tôi vẫn có thể cuộn lên và xem các nội dung trước đó. Đây có phải là vấn đề với PuTTY thay vì reset? - Svish
@svish - đó chỉ là một vấn đề hoặc quyết định triển khai putty. - belacqua
@jgbelacqua, Deal :) - Svish


Cross đăng câu trả lời của tôi từ stackoverflow.

Sử dụng lệnh sau để thực hiện một màn hình rõ ràng thay vì chỉ thêm các dòng mới ...

printf "\033c"

có đó là một 'printf' trên dấu nhắc bash.

Có thể bạn sẽ muốn xác định một bí danh mặc dù ...

alias cls='printf "\033c"'

Giải trình

\033 == \x1B == 27 == ESC

Vì vậy, điều này sẽ trở thành <ESC>c đó là mã thoát VT100 để đặt lại thiết bị đầu cuối. Đây là một số thông tin thêm về các mã thoát hiểm đầu cuối.

Chỉnh sửa

Dưới đây là một vài cách khác để thực hiện ...

printf "\ec" #\e is ESC in bash
echo -en "\ec" #thanks @Jonathon Reinhart.
# -e    Enable interpretation of of backslash escapes
# -n    Do not output a new line

KDE

Ở trên không hoạt động trên giao diện điều khiển KDE (được gọi là Konsole) nhưng có hy vọng! Sử dụng chuỗi lệnh sau đây để xóa màn hình và bộ đệm cuộn ngược ...

clear && echo -en "\e[3J"

Hoặc có thể sử dụng bí danh sau trên KDE ...

alias cls='clear && echo -en "\e[3J"'

Tôi đã nhận được lệnh xóa thanh toán bù trừ từ đây.


8
2017-10-13 08:08





Vâng nó thực sự phụ thuộc, nếu bạn đang sử dụng Konsole ví dụ ngay cả reset không ngăn bạn di chuyển qua dòng đầu tiên. Trong trường hợp đó, bạn phải sử dụng một số tính năng của thiết bị đầu cuối cụ thể mà bạn đang sử dụng. Dành cho Konsole, nó là Edit > Clear History.


5
2018-02-07 16:27





Sở thích của tôi là printf "\ec". Điều này cũng có thể printf "\033c" hoặc là printf "\x1bc". Đó là trình tự thoát ansi xóa màn hình và bộ đệm cho đầu ra của thiết bị đầu cuối (đối với hầu hết các thiết bị đầu cuối tiêu chuẩn mà tôi đã làm), tôi biết nó hoạt động như gnome-terminal, terminator, xterm, vv trên Ubuntu giống như Linux)

Tôi biết điều này hoạt động trong Linux Mint và Ubuntu 14.04, vì vậy tôi không biết tại sao mọi người lại phụ thêm và chuẩn bị những thứ như clear && echo -ne "\033c. printf "\ec" luôn làm việc cho tôi.

Ngoài ra, trong tôi .bashrc Tôi có một ràng buộc như thế này:

bind -x '"\C-t": printf "\ec"';

Bây giờ tôi nhấn ctrlt mọi lúc.


5
2018-05-01 09:32



Bạn có biết làm thế nào một bản đồ có thể được tạo ra bằng cách sử dụng phím Windows? Đoạn mã này thực sự tuyệt vời, hoạt động chính xác như Command-K trên mac. Cảm ơn bạn. - Niloct
@Niloct bạn có thể thấy thiết bị đầu cuối có hỗ trợ nó không xev (chỉ loại xev trong một thiết bị đầu cuối bên trong một phiên x). Từ những gì tôi có thể nói, urxvt không hỗ trợ nó; trong khi tôi đã không cố gắng trong một tty, tôi tin tưởng nó sẽ không được hỗ trợ. Tôi cũng nghi ngờ xterm hoặc gnome-terminal sẽ hỗ trợ điều này. Đó là khó khăn với ansi-thoát. Chúc mừng và xin lỗi vì trả lời muộn. - dylnmc
Alright @dylnmc, tôi đánh giá cao điều đó. Cảm ơn bạn đã bình luận. - Niloct


Tôi đã tìm thấy những điều sau đây khá thành công với Kubuntu:

alias clc="echo -en '\033c\033[3J'"

Bạn có thể dùng cls để giữ với truyền thống Windows, hãy sử dụng phiên bản Matlab clchoặc của riêng bạn. Chúc may mắn!


3
2018-04-29 22:26





Cách khác reset, bạn có thể làm echo -e "\033c"hoặc có trong .bashrc, cái gì đó như alias cls="echo -ne '\033c'"

UNIX / Linux StackExchange, có một chủ đề về điều này: Làm thế nào để xóa thiết bị đầu cuối hoàn toàn? (unix.stackexchange.com), cũng như SuperUser: Xóa thiết bị đầu cuối bằng phím tắt (superuser.com).


2
2017-07-09 08:55