Як я можу дізнатися, хто виконував певну команду і який термінал використовувався для її виконання?
Оригінал :
Як я можу знати, що конкретний cmd виконується ким і щоб знати про мій термінал
Як я можу дізнатися, хто виконував певну команду і який термінал використовувався для її виконання?
Оригінал :
Як я можу знати, що конкретний cmd виконується ким і щоб знати про мій термінал
Відповіді:
Щоб побачити, які команди виконуються, ви використовуєте "ps -ef". Це скаже вам, що всі роблять, хоча це, як правило, занадто багато інформації.
Щоб звузити його, щоб дізнатися, хто виконує певну команду, ви можете додати фільтр "grep" так:
ps -ef | grep scp
Це поверне всі команди scp, але може також повернути команду grep, яка шукає scp та будь-які інші команди з вбудованими в них літерами scp, оскільки grep просто відповідає рядку. Тому вам може знадобитися розумніше з виразом, наданим grep (багато разів просто потрібно його цитувати і додати пробіл:
ps -ef | grep "scp "
або навіть краще використовувати регулярні вирази та:
ps -ef | grep "[s]cp "
Якщо ви знаєте користувача та просто хочете знати, на чому вони працюють, то "ps -fu" - ваш друг. Наприклад
ps -fu tom
Що, звичайно, можна поєднувати з grep, щоб отримати процеси scp tom:
ps -fu tom | grep "[s]cp "
Стовпець 6 - це tty.
Ви можете tty
дізнатися ім'я файлу терміналу, підключеного до стандартного входу.
Для останньої частини вашого питання, sudo
або su
і потім grep -c 'command' /home/username/.bash_history
.