Como encontrar o tty a partir do qual um determinado cmd “scp” é executado

10

Como posso descobrir quem executou um comando específico e qual terminal foi usado para executá-lo?

Original :

Como posso saber que cmd específico é executado por quem e para saber sobre o meu terminal

    
por Jeff Schaller 15.06.2009 / 06:00

2 respostas

6

Para ver quais comandos estão sendo executados, use "ps -ef". Isto irá dizer-lhe o que todos estão a fazer, embora seja geralmente muita informação.

Para reduzi-lo para descobrir quem está executando um comando específico, você pode adicionar um filtro "grep" da seguinte forma:

ps -ef | grep scp

Isto irá retornar todos os comandos scp, mas também pode retornar o comando grep procurando por scp e quaisquer outros comandos com as letras scp embutidas neles, pois o grep está apenas combinando com a string. Então você pode precisar ficar esperto com a expressão dada ao grep (muitas vezes você só precisa citar e adicionar um espaço:

ps -ef | grep "scp "

ou ainda melhor aproveite expressões regulares e:

ps -ef | grep "[s]cp "

Se você conhece o usuário e quer apenas saber o que ele está executando, então "ps-fu" é seu amigo. Por exemplo

ps -fu tom

Que pode, claro, ser combinado com o grep para obter os processos scp do tom:

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

A coluna 6 é o tty.

    
por 16.06.2009 / 19:47
2

Você pode usar tty para descobrir o nome do arquivo do terminal conectado à entrada padrão.

Para a última parte da sua pergunta, sudo ou su e, em seguida, grep -c 'command' /home/username/.bash_history .

    
por 15.06.2009 / 06:06