Команда WHO в операционной системе Linux
who — это инструмент командной строки для отображения информации о пользователях, которые в данный момент вошли в систему. Так же использования команды who — отобразит времени последней загрузки системы и текущий уровень запуска системы. Команда who поставляется с несколькими полезными опциями для отображения выходных данных в определенном формате и добавления дополнительной информации.
В этой статье мы расскажем все о команде who в Linux, а так же рассмотрим дополнительные опции.
Как использовать команду WHO
Синтаксис команды who:
Откройте терминал с помощью клавиш Ctrl + Alt + T, а затем введите:
Ответ в терминале:
root tty/0 Aug 7 23:50 (49.192.46.62)
tom pts/1 Aug 7 23:51 (49.192.46.62)
По умолчанию выходные данные who содержат пять столбцов.
- 1 — й столбец показывает имя пользователя
- 2-й столбец показывает, как пользователь подключился. Tty означает, что пользователь подключен непосредственно к компьютеру, в то время как pts означает, что пользователь подключен с удаленного
- 3-й и 4-й столбцы показывают дату и время
- 5-й столбец показывает IP-адрес, к которому подключены пользователи
команда who обнаруживает информацию из файла utmp, который находится в /var/run/utmp.
Примечание: команда who не будет перечислять пользователей, которые переключились с помощью команды su.
Дополнительные опции к команде Who
Команда who поставляется с несколькими полезными опциями, давайте их рассмотрим.
1. Показать время и дату последней перезагрузки системы, для этого используйте опцию -b.
Ответ терминала Linux:
2. Для отображение текущего уровня запуска системы init, используйте опцию -r.
3. Показать имена пользователей, которые в настоящее время вошли в систему и их количество. Для этого используйте опцию -q
4.Для добавления имен столбцов, используйте опцию -H
Ответ терминала Linux:
NAME LINE TIME COMMENT
root pts/0 Aug 7 23:50 (49.192.46.62)
tom pts/1 Aug 8 00:58 (49.192.46.62)
5. Показать информацию о времени простоя и PID каждого пользователя, вошедшего в систему
Ответ терминала Linux::
NAME LINE TIME IDLE PID COMMENT
root pts/0 Aug 7 23:50 . 3161 (49.192.46.62)
tom pts/1 Aug 8 00:58 00:35 4857 (49.192.46.62)
6. Чтобы показать процесс входа в систему, используйте опцию -l
Ответ терминала Linux::
NAME LINE TIME IDLE PID COMMENT
LOGIN ttyS0 Aug 7 20:56 825 > LOGIN tty1 Aug 7 20:56 828 >
7. Чтобы отобразить подробную информацию обо всех мертвых процессах, используйте опцию -d
8. Для отображения всей информации используйте опцию -a
Ответ терминала Linux::
system boot Aug 7 20:56
LOGIN ttyS0 Aug 7 20:56 825 > LOGIN tty1 Aug 7 20:56 828 > run-level 3 Aug 7 20:56
root — pts/0 Aug 7 23:50 . 3161 (49.192.46.62)
tom + pts/1 Aug 8 00:58 00:14 4857 (49.192.46.62)
Заключение
В этой статье мы показали как использовать команду who в Linux. Так же подробно рассказали, как использовать команду who и ее опции.
Источник
Команда who Linux
Команда who – настоящая палочка-выручалочка, благодаря которой так легко раздобыть всю необходимую информацию о пользователях, когда-либо работающих за конкретным компьютером. Так как операционная система Linux является многопользовательской, она отслеживает сеансы всех юзеров сети (кто работал за ПК, время старта и окончания его сеанса и прочее). Большинство пользователей операционной системы Linux отзываются об этом инструменте положительно. Он прекрасно показывает себя на практике.
Синтаксис
- -a — читает файл /etc/utmp, включает все основные опции;
- -b — показывает дату и время загрузки операционной системы;
- -d — показывает зомби-процессы.
- -u — выводит активных пользователей.
- -s — выводит имя, терминальную сессию и время, данный параметр используется по умолчанию;
- -T — информация о терминальной сессии;
- -q — количество пользователей в системе в данный момент;
- -r — показывает уровень процесса init.
Обычно для выполнения команды who берется информация файла: «/etc/utmp».
Альтернативные файлы: «/etc/wtmp» и «/etc/inittab».
Примеры
Если не использовать опции и аргументы, на экране появятся данные по умолчанию, включающие в себя информацию об учетных записях (тех, кто подключен к системе). Чтобы ознакомиться с данными о пользователе, который изъявил желание обратиться к терминалу прямо сейчас («спросить» у системы о самом себе), необходимо использовать команду «who am i».
Для получения обширной информации о подключенных пользователей достаточно ввести команду в виде:
Каких-либо дополнительных указаний в этом случае не потребуется. Если использовать исключительно «who», данных будет сравнительно меньше. Детализировать этот запрос или нет – решать только вам. Смотрите по ситуации.
Время загрузки системы можно посмотреть по команде:
Впишите её в терминале и ознакомьтесь с результатами запроса.
Чтобы посмотреть «runinit» (текущий уровень запуска), впишите в команду соответствующую опцию. Это будет выглядеть так:
Опция -s не имеет особого смысла, поскольку она провоцирует вывод таких стандартных значений, как «Имя пользователя», «терминальная линия», «время начала/окончания сеанса». Эта информация доступна и без добавления каких-либо опций. Едем дальше.
С помощью аргумента -T можно узнать состояние терминальной сессии. На практике это выглядит следующим образом:
Для чего нужна информация о состоянии терминальной сессии? От её состояния зависят некоторые нюансы в работе пользователя. Обратите внимание на название любой сессии, отображенной в окошке терминала. Если рядом с ним указан значок «+», значит, пользователь может получать сообщения от других терминалов. Если такой возможности нет, рядом с названием сессии будет указан значок «-».
При неисправности линии появится вопросительный знак.
При необходимости узнать, сколько пользователей подключено к системе, вводится:
Чтобы посмотреть, кто из пользователей активен в данный момент времени, введите команду:
При добавлении опции -d отображаются зомби-процессы:
Важное примечание: при использовании опции -d нельзя увидеть поле EXIT в окне терминала. Оно появляется лишь при добавлении опции -а.
Заключение
Основная задача утилиты who заключается в получении информации о пользователях, подключенных к системе. Вторичная задача – сбор данных о терминальных сессиях, благодаря которым и происходит их подключение.
Благодаря выше предоставленным примерам команд вы тоже можете ощутить простоту отслеживания данных о user системы. Всего несколько нажатий клавиш – и ответы на вопросы найдены.
Источник
Who linux что это
Наши партнеры
Библиотека сайта rus-linux.net
НАЗВАНИЕ
who — кто в системе?
ОПИСАНИЕ
Команда who сообщает имя пользователя, имя терминальной линии, астрономическое время начала сеанса, продолжительность бездействия терминальной линии с момента последнего обмена, идентификатор процесса интерпретатора команд shell для каждого из пользователей, работающих в системе UNIX. Для получения этой информации команда просматривает файл /etc/utmp. Впрочем, вместо него может просматриваться другой файл, имя которого должно быть тогда указано в командной строке (файл должен иметь формат utmp[4]). Обычно в качестве файла указывают /etc/wtmp, где зафиксированы времена начала всех сеансов с момента его последнего создания.
Команда who с опциями am i или am I идентифицирует обратившегося с ней пользователя.
Выдаваемые сообщения имеют, вообще говоря, следующий формат:
Информация NAME, LINE и TIME выдается при всех опциях, кроме -q; STATE — только при -T; IDLE и PID — только при -u и -l; и, наконец, COMMENT и EXIT — только при -a. Какая информация выдается в случае опций -p, -d и -r, подробно объясняется для каждой из них отдельно.
Задавая различные опции, с помощью команды who можно получить информацию о времени начала и конца сеансов, перезагрузок, корректировках системных часов, а также о других процессах, порожденных процессом init. Опции эти таковы:
-u | Выдать информацию только о тех пользователях, которые в настоящий момент работают в системе. NAME — это входное имя пользователя. LINE — имя терминальной линии, под которым она фигурирует в каталоге /dev. TIME — астрономическое время начала сеанса. IDLE — количество часов и минут, протекших с последнего момента активизации данной линии. Точка (.) свидетельствует о том, что данный терминал находился в активном состоянии не более минуты тому назад, то есть о том, что это действующий терминал. Если с тех пор прошло более 24 часов или если линия не была использована с момента загрузки, то сообщение маркируется как старое (old). Это поле оказывается полезным при попытке определить, работает ли кто-нибудь за терминалом. PID — идентификатор процесса интерпретатора shell, обслуживающего данного пользователя. COMMENT — комментарий характеризующий данную линию; берется из соответствующего поля файла /etc/inittab. Этот файл может содержать, например, сведения о местоположении терминала, телефонном номере комнаты или о типе физического терминала. |
---|---|
-T | Эта опция аналогична опции -s с той разницей, что дополнительно выводится информация о состоянии терминальной линии (в позиции STATE). Здесь под состоянием имеется в виду возможность передавать сообщения на этот терминал со стороны кого-либо другого. Терминалу, на который передавать сообщения может любой, отвечает состояние «+»; если это не так — состояние «-«. Пользователь root может передавать сообщения во все линии, которым отвечает состояние «+» или «-«. При обнаружении неисправной линии печатается «?». |
-l | Перечислить только те линии, на которых система ожидает входа в нее какого-либо пользователя. Поле NAME в таких случаях содержит слово LOGIN. Другие поля имеют такой же смысл, как и в сообщении о пользователе, с той разницей, что не существует поля STATE. |
-H | При этой опции над обычными сообщениями печатаются названия столбцов. |
-q | Реализует быстрый вариант команды who, отображающей только имена и количество пользователей, работающих в настоящий момент в системе. При этой опции все прочие игнорируются. |
-p | Перечисляет все другие процессы, активные в настоящий момент, которые были порождены процессом init. Поле NAME содержит название программы, исполняемой процессом init, которое берется из файла /etc/inittab. Поля STATE, LINE, IDLE смысла не имеют. В поле COMMENT отображается поле идентификатора из строки файла /etc/inittab, вызвавшей порождение этого процесса. |
-d | Выдать информацию о всех процессах, которые прекратили существование и не были заново порождены процессом init. У мертвых процессов появляется поле EXIT, которое содержит значения системного и пользовательского кодов завершения. Это может оказаться полезным при выяснении причин аварийного окончания процесса. |
-b | Выдать время и дату последней загрузки системы. |
-r | Выдать текущий уровень выполнения процесса init. Кроме этого, будут выданы идентификатор процесса, системный код завершения и пользовательский код завершения процесса. |
-t | Выдать информацию о последней корректировке системных часов [посредством команды date] пользователем root. |
-a | Обрабатывать файл /etc/utmp или файл, указанный в команде, считая все опции (кроме THqs) включенными. |
-s | Выдавать только поля NAME, LINE и TIME; это опция, принимаемая по умолчанию. |
СЮРПРИЗЫ
При использовании опции -d поле EXIT не выдается; появляется только при опции -a.
Если длина входного имени пользователя превышает 7 символов, команда who am i не работает.
Источник
Команда who в Linux
В этой статье мы объясняем команду who которая входит в пакет GNU coreutils.
who — это утилита командной строки, которая выводит список пользователей, вошедших в систему. Он также может отображать текущий уровень выполнения, время последней загрузки системы и многое другое.
Как использовать команду who
Базовый синтаксис команды who следующий:
При вызове без какой-либо опции или аргумента вывод выглядит примерно так:
who выведет форматированный список всех пользователей, которые в настоящее время вошли в систему.
Каждая строка содержит четыре поля, разделенных одним или несколькими пробелами:
- Имя зарегистрированного пользователя.
- Терминал пользователя.
- Время, когда пользователь вошел в систему.
- Имя хоста или IP-адрес, с которого пользователь вошел в систему. Чтобы принудительно —ips Ips, используйте параметр —ips .
Если вы хотите распечатать заголовки столбцов, добавьте параметр -H ( —heading ):
Команда извлекает информацию о системе и о том, кто вошел в систему, из файла /var/run/utmp . Если вы хотите использовать другой файл, передайте команде путь к файлу.
who принимает два аргумента, не являющихся опциями. При вызове с двумя аргументами команда выводит информацию только о терминале, связанном с текущим пользователем. Тот же вывод отображается при использовании опции -m .
Вы можете использовать любые два аргумента:
Каждая из вышеперечисленных команд выводит одну и ту же информацию:
Параметры команды who
who принимает несколько вариантов, которые обычно используются редко.
Параметр -b , —boot указывает, who печатать время последней загрузки системы:
Чтобы получить список всех мертвых процессов, используйте параметр -d , —dead :
Параметр -r , —runlevel указывает, who показывать текущий уровень выполнения:
Чтобы получить только имена пользователей и количество пользователей, вошедших в систему в данный момент, используйте параметр -q , —count :
Опция -a , —all заставляет who печатать всю информацию:
Выводы
Команда who выводит список всех пользователей, вошедших в систему в данный момент.
Чтобы получить дополнительную информацию о пользователях, которые в данный момент вошли в систему, проверьте команду w .
Если у вас есть вопросы, оставьте комментарий ниже.
Источник