小智 7
要查看正在执行的命令,请使用“ps -ef”。这将告诉您每个人都在做什么,尽管这通常是太多信息。
要缩小范围以找出谁在运行特定命令,您可以添加一个“grep”过滤器,如下所示:
ps -ef | grep scp
这将返回所有 scp 命令,但它也可能返回查找 scp 的 grep 命令和任何其他嵌入了字母 scp 的命令,因为 grep 只是匹配字符串。所以你可能需要巧妙地使用给 grep 的表达式(很多时候你只需要引用它并添加一个空格:
ps -ef | grep "scp "
甚至更好地利用正则表达式和:
ps -ef | grep "[s]cp "
如果您认识用户并且只想知道他们正在运行什么,那么“ps -fu”就是您的朋友。例如
ps -fu tom
当然,可以结合 grep 来获取 tom 的 scp 进程:
ps -fu tom | grep "[s]cp "
第 6 列是 tty。
小智 3
您可以使用tty来查找连接到标准输入的终端的文件名。
对于你问题的后半部分,sudo或者su然后grep -c 'command' /home/username/.bash_history。