Cách tìm tty mà từ đó một cmd cụ thể là Scp tinh được thực thi


11

Làm thế nào tôi có thể tìm ra ai đã thực thi một lệnh cụ thể và thiết bị đầu cuối nào được sử dụng để chạy nó?


Bản gốc :

Làm thế nào tôi có thể biết cmd cụ thể được thực hiện bởi ai và để biết về thiết bị đầu cuối của tôi


1
Bạn có thể viết lại câu hỏi này để nó rõ ràng hơn một chút không?

1
Ý bạn là, "tôi nên sử dụng lệnh ps nào để xác định ai đang sử dụng scp?" Đó sẽ là ps -ef | grep scp
Michael Todd

Câu trả lời:


7

Để xem những lệnh nào đang được thực thi, bạn sử dụng "ps -ef". Điều này sẽ cho bạn biết những gì mọi người đang làm mặc dù thường là quá nhiều thông tin.

Để thu hẹp nó để tìm ra ai đang chạy một lệnh cụ thể, bạn có thể thêm bộ lọc "grep" như vậy:

ps -ef | grep scp

Điều này sẽ trả về tất cả các lệnh scp nhưng nó cũng có thể trả về lệnh grep đang tìm kiếm scp và bất kỳ lệnh nào khác với các chữ cái scp được nhúng trong chúng vì grep chỉ khớp với chuỗi. Vì vậy, bạn có thể cần phải thông minh với biểu thức được cung cấp cho grep (rất nhiều lần bạn chỉ cần trích dẫn nó và thêm một khoảng trắng:

ps -ef | grep "scp "

hoặc thậm chí tốt hơn tận dụng các biểu thức chính quy và:

ps -ef | grep "[s]cp "

Nếu bạn biết người dùng và chỉ muốn biết những gì họ đang chạy thì "ps -fu" là bạn của bạn. Ví dụ

ps -fu tom

Tất nhiên, có thể được kết hợp với grep để có được các quy trình scp của tom:

ps -fu tom | grep "[s]cp "

Cột 6 là tty.


1
+1 cho thủ thuật 'grep "[s] cp"' - đó là những gì tôi sử dụng trong tập lệnh mà tôi gọi là 'Procname'.
Jonathan Leffler

3

Bạn có thể sử dụng ttyđể tìm ra tên tệp của thiết bị đầu cuối được kết nối với đầu vào tiêu chuẩn.

Đối với phần sau của câu hỏi của bạn, sudohoặc susau đó grep -c 'command' /home/username/.bash_history.

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.