Thiết bị đầu cuối với đầu ra cuộn xuống


8

Hiện tại tôi đã quyết định thử nghiệm màn hình đôi của mình trong cấu hình dọc và tôi đã gặp một vấn đề mà tôi chưa từng gặp phải trước đây: dòng đầu vào trên thiết bị đầu cuối của tôi quá xa màn hình!

Tôi đã tự hỏi nếu có một cách để làm cho đầu ra cuộn xuống dưới, để dòng đầu vào vẫn ở trên cùng.

ví dụ: chế độ xem thiết bị đầu cuối bình thường trông như thế này:

PING 8.8.8.8 (8.8.8.8) 56(84) bytes of data.
64 bytes from 8.8.8.8: icmp_req=1 ttl=46 time=28.3 ms
64 bytes from 8.8.8.8: icmp_req=2 ttl=46 time=13.7 ms
64 bytes from 8.8.8.8: icmp_req=3 ttl=46 time=19.1 ms
64 bytes from 8.8.8.8: icmp_req=4 ttl=45 time=20.8 ms
64 bytes from 8.8.8.8: icmp_req=5 ttl=45 time=15.6 ms
64 bytes from 8.8.8.8: icmp_req=6 ttl=46 time=15.3 ms
64 bytes from 8.8.8.8: icmp_req=7 ttl=46 time=15.3 ms
64 bytes from 8.8.8.8: icmp_req=8 ttl=45 time=14.3 ms
64 bytes from 8.8.8.8: icmp_req=9 ttl=45 time=14.3 ms
64 bytes from 8.8.8.8: icmp_req=10 ttl=45 time=15.5 ms
64 bytes from 8.8.8.8: icmp_req=11 ttl=45 time=16.9 ms
64 bytes from 8.8.8.8: icmp_req=12 ttl=45 time=16.3 ms
64 bytes from 8.8.8.8: icmp_req=13 ttl=45 time=20.0 ms
^C
--- 8.8.8.8 ping statistics ---
13 packets transmitted, 13 received, 0% packet loss, time 12017ms
rtt min/avg/max/mdev = 13.773/17.391/28.343/3.812 ms
me@my_computer:~$ 

và thay vào đó tôi muốn có một cái gì đó như thế này:

me@my_computer:~$ 
rtt min/avg/max/mdev = 13.773/17.391/28.343/3.812 ms
13 packets transmitted, 13 received, 0% packet loss, time 12017ms
--- 8.8.8.8 ping statistics ---
^C
64 bytes from 8.8.8.8: icmp_req=13 ttl=45 time=20.0 ms
64 bytes from 8.8.8.8: icmp_req=12 ttl=45 time=16.3 ms
64 bytes from 8.8.8.8: icmp_req=11 ttl=45 time=16.9 ms
64 bytes from 8.8.8.8: icmp_req=10 ttl=45 time=15.5 ms
64 bytes from 8.8.8.8: icmp_req=9 ttl=45 time=14.3 ms
64 bytes from 8.8.8.8: icmp_req=8 ttl=45 time=14.3 ms
64 bytes from 8.8.8.8: icmp_req=7 ttl=46 time=15.3 ms
64 bytes from 8.8.8.8: icmp_req=6 ttl=46 time=15.3 ms
64 bytes from 8.8.8.8: icmp_req=5 ttl=45 time=15.6 ms
64 bytes from 8.8.8.8: icmp_req=4 ttl=45 time=20.8 ms
64 bytes from 8.8.8.8: icmp_req=3 ttl=46 time=19.1 ms
64 bytes from 8.8.8.8: icmp_req=2 ttl=46 time=13.7 ms
64 bytes from 8.8.8.8: icmp_req=1 ttl=46 time=28.3 ms
PING 8.8.8.8 (8.8.8.8) 56(84) bytes of data.

Tôi không thể tìm thấy bất kỳ tài liệu hoặc câu hỏi như vậy trên các diễn đàn. Nếu ai có ý kiến, xin vui lòng cho tôi biết! (ngoài ra nếu bạn nghĩ rằng điều đó là không thể)

Cảm ơn!

PS: Tôi đang sử dụng Ubuntu 12.04

Câu trả lời:


5

Tôi tìm thấy một mẹo hay mà bạn có thể bắt đầu. Bạn phải chơi với bash:

Để thiết lập nó:

$ bash    # try this in a subshell since ^C seems to cause it to exit
$ f () { sed "1s/^/$(tput cup 0 0)/;s/^/$(tput il1)/"; }
$ PROMPT_COMMAND='tput cup 0 0;tput il1; echo'
$ exec > >(f)

Nhấn enter thêm một lần nữa và nó đã sẵn sàng để thử. Đôi khi đầu ra và lời nhắc không đúng thứ tự và có thể có sự kỳ lạ khác, nhưng đó là một điều thú vị để thử.

Nguồn: Cửa sổ dòng lệnh / thiết bị đảo ngược .

Xem thêm:


tôi nghĩ nó giống như câu trả lời của tôi
nux

@nux Bạn nghĩ, nhưng không phải. Đó là câu trả lời của Dennis Williamson , như tôi đã chỉ định trong nguồn của mình;)
Radu Rădeanu

ok đừng bận tâm, tôi chỉnh sửa nó để @cd có thể sao chép và dán vào thiết bị đầu cuối của mình để kiểm tra những gì nó có thể làm.
nux

Tôi đã phải chấp nhận câu trả lời này thực sự do tài liệu tham khảo! Nhưng cảm ơn nux quá!
cd127

4

Sau khi tìm kiếm câu hỏi hay này, tôi đã tìm thấy các lệnh này và hy vọng nó có thể giúp bạn, vì vậy nó có thể giúp bạn tập trung vào đầu thiết bị đầu cuối khi viết lệnh.

Trong thiết bị đầu cuối thử:

 f () { sed "1s/^/$(tput cup 0 0)/;s/^/$(tput il1)/"; }
 PROMPT_COMMAND='tput cup 0 0;tput il1; echo'
 exec > >(f)

Trang web tham khảo


4

Một mẹo khác là chuyển qua đầu ra lệnh của bạn thông qua tacđó giống như catnhưng in theo thứ tự ngược lại:

terdon@oregano ~ $ ping -c 5 8.8.8.8 | tac
rtt min/avg/max/mdev = 88.906/91.678/94.948/2.129 ms
5 packets transmitted, 5 received, 0% packet loss, time 4005ms
--- 8.8.8.8 ping statistics ---

64 bytes from 8.8.8.8: icmp_seq=5 ttl=42 time=88.9 ms
64 bytes from 8.8.8.8: icmp_seq=4 ttl=42 time=92.8 ms
64 bytes from 8.8.8.8: icmp_seq=3 ttl=42 time=90.0 ms
64 bytes from 8.8.8.8: icmp_seq=2 ttl=42 time=91.5 ms
64 bytes from 8.8.8.8: icmp_seq=1 ttl=42 time=94.9 ms
PING 8.8.8.8 (8.8.8.8) 56(84) bytes of data.

Lưu ý rằng tôi phải chỉ định số ping tối đa ( -c 5) vì nếu không pinglệnh sẽ không thoát và đường ống sẽ bị hỏng. Dù sao, tacrất hữu ích cho loại điều này.


Tôi thích tac - không biết về nó. Thật không may như bạn nói chính mình, nó có một số hạn chế. Và nó không đặt dòng lệnh lên trên cùng của trình bao!
cd127

@ cd127 không, tôi không nhận ra bạn cũng muốn di chuyển dấu nhắc.
terdon
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.