Нажмите Alt + F2, введите gnome-session-save --logout, затем нажмите enter. Если приложение блокирует выход из системы, попробуйте gnome-session-save --force-logout
Мы можем передать вывод who в awk для печати только первой ячейки каждой записи (строки), а затем передать ее команде sort, которая будет сортировать значения по алфавиту и выводит только уникальные записи -u:
who | awk '{print $1}' | sort -u
Или мы можем использовать только awk следующим образом:
who | awk '!seen[$1]++ {print $1}'
Решение, совместимое с POSIX, предоставляемое таким образом - где cut будет использовать пробелы в качестве разделителя -d' ' и будет печатать только первое поле каждой записи -f1:
who | cut -d' ' -f1 | sort -u
Благодаря @DavidFoerster здесь много более короткий синтаксис, который не потеряет информацию обо всех остальных столбцах:
who | sort -u -k 1,1
Для этих же целей мы могли бы использовать команду w с опцией -h (игнорировать заголовки), например:
w -h | awk '!seen[$1]++ {print $1}'
Мы могли бы использовать также команду users в сочетании с командой rs (изменить данные) с опцией транспонирования -T, а затем снова sort -u:
users | rs -T | sort -u
Мы могли бы использовать и who -q с транспозицией следующим образом: где команда head -1 обрезает только первую строку вывода предыдущей команды:
who -q | head -1 | rs -T | sort -u
См. также:
Как узнать, кто входит в систему с правами root? Как получить список активных сеансов входа?Мы можем передать вывод who в awk для печати только первой ячейки каждой записи (строки), а затем передать ее команде sort, которая будет сортировать значения по алфавиту и выводит только уникальные записи -u:
who | awk '{print $1}' | sort -u
Или мы можем использовать только awk следующим образом:
who | awk '!seen[$1]++ {print $1}'
Решение, совместимое с POSIX, предоставляемое таким образом - где cut будет использовать пробелы в качестве разделителя -d' ' и будет печатать только первое поле каждой записи -f1:
who | cut -d' ' -f1 | sort -u
Благодаря @DavidFoerster здесь много более короткий синтаксис, который не потеряет информацию обо всех остальных столбцах:
who | sort -u -k 1,1
Для этих же целей мы могли бы использовать команду w с опцией -h (игнорировать заголовки), например:
w -h | awk '!seen[$1]++ {print $1}'
Мы могли бы использовать также команду users в сочетании с командой rs (изменить данные) с опцией транспонирования -T, а затем снова sort -u:
users | rs -T | sort -u
Мы могли бы использовать и who -q с транспозицией следующим образом: где команда head -1 обрезает только первую строку вывода предыдущей команды:
who -q | head -1 | rs -T | sort -u
См. также:
Как узнать, кто входит в систему с правами root? Как получить список активных сеансов входа?Мы можем передать вывод who в awk для печати только первой ячейки каждой записи (строки), а затем передать ее команде sort, которая будет сортировать значения по алфавиту и выводит только уникальные записи -u:
who | awk '{print $1}' | sort -u
Или мы можем использовать только awk следующим образом:
who | awk '!seen[$1]++ {print $1}'
Решение, совместимое с POSIX, предоставляемое таким образом - где cut будет использовать пробелы в качестве разделителя -d' ' и будет печатать только первое поле каждой записи -f1:
who | cut -d' ' -f1 | sort -u
Благодаря @DavidFoerster здесь много более короткий синтаксис, который не потеряет информацию обо всех остальных столбцах:
who | sort -u -k 1,1
Для этих же целей мы могли бы использовать команду w с опцией -h (игнорировать заголовки), например:
w -h | awk '!seen[$1]++ {print $1}'
Мы могли бы использовать также команду users в сочетании с командой rs (изменить данные) с опцией транспонирования -T, а затем снова sort -u:
users | rs -T | sort -u
Мы могли бы использовать и who -q с транспозицией следующим образом: где команда head -1 обрезает только первую строку вывода предыдущей команды:
who -q | head -1 | rs -T | sort -u
См. также:
Как узнать, кто входит в систему с правами root? Как получить список активных сеансов входа?