it-swarm-vi.tech

Xóa màn hình đầu cuối cho thật

Sử dụng lệnh clear trên thiết bị đầu cuối chỉ khiến người dùng nghĩ rằng màn hình đã bị xóa ... bạn vẫn có thể thấy đầu ra từ các lệnh trước đó khi bạn cuộn bằng chuột. Điều này làm cho cuộc sống khó khăn khi bạn đang chìm trong một cơn sóng thần của văn bản.

Các giải pháp khác nhau (mã thoát, v.v.) có thể tìm thấy trên Internet chỉ là các biến thể của những gì lệnh rõ ràng đã làm.

Vậy làm thế nào để bạn xóa nội dung của một thiết bị đầu cuối trong Linux thực sự?

341
Autodidact

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"

vâng, đó là một 'printf' trên bash Prompt.

Bạn có thể 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 trở thành <ESC>c là mã thoát VT100 để đặt lại thiết bị đầu cuối. Tại đây là một số thông tin khác về mã thoát thiết bị đầu cuối.

Chỉnh sửa

Dưới đây là một vài cách khác để làm điều đó ...

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 bảng điều khiển KDE (được gọi là Konsole) nhưng có hy vọng! Sử dụng chuỗi lệnh sau để xóa màn hình và bộ đệm cuộn lại ...

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 cuộn lại từ ở đây .

469
Autodidact

Hãy thử reset. Nó xóa màn hình đầu cuối nhưng các lệnh trước đó có thể được truy cập thông qua mũi tên hoặc bất kỳ ràng buộc phím nào bạn có.

194
vpit3833
tput reset

Điều đó sẽ làm các thủ thuật!

44
user1348669

Không có câu trả lời nào tôi đọc được làm việc trong PuTTY, vì vậy tôi đã tìm thấy một nhận xét về bài viết này :

Trong cài đặt cho kết nối của bạn, trong "Cửa sổ-> Hành vi", bạn sẽ tìm thấy cài đặt "Menu hệ thống xuất hiện trên ALT một mình". Sau đó, CTRL + L, ALT, l (đó là chữ thường L) sẽ cuộn màn hình và sau đó xóa bộ đệm cuộn lại.

(có liên quan đến OP vì tôi đang kết nối với máy chủ Ubuntu, nhưng rõ ràng cũng có liên quan cho dù máy chủ của bạn đang chạy gì.)

7
TecBrat

Liên kết sau đây sẽ giải thích cách làm cho bí danh đó vĩnh viễn để bạn không phải tiếp tục nhập nó.

https://askubfox.com/questions/17536/how-do-i-create-a-permanent-bash-alias

Đây là các bước chi tiết tại liên kết đó.

  1. vim ~/.bashrc hoặc gedit ~/.bashrc hoặc những gì bạn thích trình soạn thảo văn bản
  2. đặt bí danh cls = 'printf "\ 033c"' ở dưới cùng của tệp
  3. lưu và thoát
  4. . ~/.bashrc (và vâng, nên có khoảng cách giữa. Và ~)
  5. bây giờ hãy kiểm tra xem mọi thứ đã hoạt động chưa!

Tôi không có tín dụng cho thông tin này chỉ đi qua nó.

6
N1mr0d

Lệnh thân thiện với con người của tôi cho việc này là:

reset

Đã thử nghiệm trên xterm và VT100. Nó cũng giúp sau khi chấm dứt chương trình bất thường. Giữ bộ đệm lệnh, vì vậy mũi tên lên sẽ quay vòng qua các lệnh trước đó.

chúc mừng: D

5
elbedoit

Với KDE và Ubuntu 12.04 LTS và thiết bị đầu cuối "Konsole", không có câu trả lời nào được đăng. Tuy nhiên, nhấn phím tắt mặc định CTRL + Shift + X không hoạt động! Nguồn:

https://bugs.kde.org/show_orms.cgi?id=28891

3
The111

Tôi biết giải pháp sử dụng in các dòng mới không được hỗ trợ nhiều, nhưng nếu thất bại, tại sao không? Đặc biệt là khi một người đang hoạt động trong một môi trường mà người khác có khả năng có thể nhìn thấy màn hình, nhưng không thể keylog. Một giải pháp tiềm năng sau đó, là bí danh sau:

alias c="printf '\r\n%.0s' {1..50}"

Sau đó, để "xóa" nội dung hiện tại của màn hình (hay đúng hơn là ẩn chúng), chỉ cần nhập c+Enter tại thiết bị đầu cuối.

2
nemesisfixx

Chỉ cần thêm bộ đệm cuộn tmux không xóa với clear, reset hoặc printf. Bạn cần :clear-history. Xem liên kết .

1
Dai