Mở một thiết bị đầu cuối chuyên dụng mới trong khi chạy một lệnh trong linux


1

Tôi muốn mở một thiết bị đầu cuối mới khi tôi nhập một lệnh do người dùng định nghĩa trong linux. Có nghĩa là một ví dụ, khi tôi gõ một lệnh tcpdump trong thiết bị đầu cuối và điều này sẽ mở một thiết bị đầu cuối phiên mới cho tcpdump.

Vì vậy, trong thiết bị đầu cuối mới mở, để chụp gói, tôi chỉ phải viết -i eth0 và không tcpdump -i eth0. Thiết bị đầu cuối mới sẽ thực hiện lệnh bên trong tcpdump.

Vì vậy, những điều này sẽ có thể?


Làm thế nào để bạn kết nối với một phiên Linux ngay bây giờ? Ví dụ: bạn có sử dụng GUI với xterm hoặc bạn kết nối bằng trình giả lập trên Windows?
cdarke

Câu trả lời:


4

Tôi sẽ giả định rằng bạn muốn chạy lệnh trong cửa sổ terminal mới trên máy tính để bàn (Linux) của bạn. Hầu hết các trình giả lập thiết bị đầu cuối dường như có một tùy chọn -e để chạy các lệnh, vì vậy bạn có thể làm một cái gì đó như thế này:

urxvt -e $SHELL -c 'read -p "Options: " OPTS; tcpdump $OPTS' &

Thay thế urxvt với aterm, xterm, Konsole hoặc bất cứ thứ gì giả lập thiết bị đầu cuối bạn đang sử dụng.

Nếu bạn muốn cửa sổ vẫn mở sau khi lệnh kết thúc, bạn phải thực hiện các bước bổ sung ( urxvt có một lựa chọn -hold cho điều này, nhưng các trình giả lập thiết bị đầu cuối khác thì không).


0

Bạn có thể có được một giao diện phiên dịch đẹp bằng cách sử dụng rlwrap (mà bạn có thể có thể cài đặt thông qua trình quản lý gói phân phối của mình).

while rlwrap -o -P "tcpdump " -C tcpdump sh; do :; done

Điều này sẽ cung cấp cho bạn một shell nơi dòng lệnh đã có "tcpdump" ở đầu. Nó cũng sẽ giữ một lịch sử của các lệnh bạn đã chạy trước đó bằng cách sử dụng lệnh.

Chạy exit 1 bỏ vỏ.

Bạn có thể sử dụng phương pháp của Ansgar Wiechers để chạy lệnh trong cửa sổ terminal mới.


0

Bạn có thể thử terminator, sau đó chia cửa sổ cho mỗi lệnh hoặc sửa đổi một số tập lệnh tôi đã viết thành ssh cho mỗi máy chủ, để phân chia mỗi lệnh sẽ cần một số công việc để điều đó xảy ra nhưng tất cả đều có thể https://github.com/vahidhedayati/termssh

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.