Команда 'who' является составной частью пакета GNU coreutils в операционной системе Linux. Эта утилита командной строки позволяет получить множество информации о текущем состоянии системы, включая список пользователей, вошедших в систему, текущий уровень выполнения и время последней загрузки системы. Освоение команды 'who' может существенно повысить уровень Вашего мастерства в области системного администрирования Linux.
Понимание основного синтаксиса команды 'who'
Команда 'who' имеет простой синтаксис:
1 | who [OPTION]... [ FILE | ARG1 ARG2 ] |
При запуске без каких-либо опций или аргументов команда 'who' формирует форматированный список всех пользователей, вошедших в систему. Вывод содержит четыре поля:
- Имя пользователя, вошедшего в систему.
- Терминальная сессия, связанная с пользователем.
- Время, когда пользователь вошел в систему.
- Имя хоста или IP-адрес, с которого пользователь вошел в систему.
Для отображения IP-адресов вместо имен хостов используйте опцию --ips.
Повышение удобочитаемости вывода с помощью заголовков столбцов
Для более организованного представления добавьте заголовки столбцов с помощью опции -H (или --heading):
1 | who -H |
Команда 'who' берет информацию из файла /var/run/utmp. Если вы хотите использовать другой файл, укажите путь к нему в качестве аргумента команды.
Использование аргументов, не относящихся к опциям
Команда 'who' может принимать два неопциональных аргумента. При использовании двух аргументов команда выводит информацию только о терминале, связанном с текущим пользователем. Для достижения того же результата можно использовать опцию -m.
Изучение дополнительных опций команды 'who'
Команда 'who' поддерживает несколько опций, предоставляющих более подробную информацию. Вот некоторые примеры:
Опция -b или --boot выводит время последней загрузки системы.
1 | who -b |
Опция -d или --dead выводит список всех завершенных процессов.
1 | who -d |
Опция -r или --runlevel показывает текущий уровень выполнения.
1 | who -r |
Опция -q или --count отображает только имена пользователей и количество пользователей, вошедших в систему в данный момент.
1 | who -q |
Опция -a или --all заставляет программу 'who' выводить всю информацию.
1 | who -a |
Практическое применение команды 'who'
Команда 'who' - это мощная утилита для системного администрирования. С ее помощью можно отслеживать состояние системы, управлять ресурсами и повышать уровень безопасности системы.
Подсчет количества вошедших в систему пользователей
Знание количества пользователей, вошедших в систему, может быть полезно для управления ресурсами и планирования. Опция -q или --count позволяет получить эту информацию в сжатом виде.
1 | who -q |
В результате выводятся имена пользователей, вошедших в систему, и общее количество пользователей.
Проверка времени последней загрузки системы
Время последней загрузки системы может иметь решающее значение для ее обслуживания и поиска неисправностей. Опция -b или --boot позволяет получить эту информацию:
1 | who -b |
В результате будет показана дата и время последней загрузки системы.
Вывод списка неработающих процессов
Неработающие процессы могут потреблять системные ресурсы и влиять на производительность. Опция -d или --dead выводит список всех завершенных процессов, помогая оптимизировать производительность системы:
1 | who -d |
Определение текущего уровня выполнения
Текущий уровень выполнения системы важен для задач системного администрирования. Опция -r или --runlevel позволяет получить эту информацию:
1 | who -r |
В результате будет показан текущий уровень выполнения, а также дата и время последнего изменения уровня выполнения.
Расширенные возможности использования команды 'who'
Команду 'who' можно комбинировать с другими командами Linux для выполнения более сложных задач. Вот несколько примеров:
Использование команды 'who' с командой 'grep'
Команда 'grep' может быть использована вместе с командой 'who' для фильтрации результатов по определенным критериям. Например, чтобы узнать, вошел ли в систему определенный пользователь, скажем, 'admin', можно использовать команду:
1 | who | grep 'admin' |
Эта команда вернет строку из вывода команды 'who', содержащую слово 'admin'.
Использование команды 'who' с командой 'awk'
Команда 'awk' является мощным инструментом для обработки текста. При использовании команды 'who' она может форматировать вывод в более удобном для чтения виде. Например, чтобы вывести только имена и время входа в систему зарегистрированных пользователей, можно использовать команду:
1 | who | awk '{print $1, $3, $4}'. |
Использование команды 'who' с командой 'sort'
Команда 'sort' позволяет отсортировать вывод команды 'who'. Например, чтобы отсортировать вошедших в систему пользователей по времени их входа в систему, можно использовать команду:
1 | who | sort -k 3 |
Заключение
В заключение следует отметить, что команда 'who' является мощным и универсальным инструментом операционной системы Linux. Она позволяет получить ценную информацию о текущем состоянии системы. Освоив команду 'who', Вы сможете обеспечить безопасность, оптимизацию и хорошее обслуживание Вашей системы. Помните, что сила Linux заключается в ее утилитах командной строки, и команда 'who' - яркий тому пример.