В настоящее время я изучаю некоторые команды UNIX и столкнулся с несколькими необъяснимыми вопросами. Спасибо за ваш ответ.

  1. Когда я запускаю команду w из терминала, я получаю некоторые сообщения, показанные на рисунке ниже. Я знаю, что s000 обозначает терминал, в котором я набрал команду w . Но я запутался из-за tty, чье имя - console и от которого, по его словам, я вошел в систему. И там говорилось, что console простояла некоторое время. Могу ли я переключиться на console чтобы активировать этот tty, чтобы он больше не работал?

  2. Я также провел другой эксперимент, пытаясь удалить гостя, который входил в систему. Я знал, что могу уничтожить процесс bash, который выполнял гость, но почему-то у меня возникла проблема с уничтожением console на которой работал гость. Как я могу полностью выгнать гостя без перезагрузки компьютера? Я не могу убить console . Корень этой проблемы во многом совпадает с первой: что означает "консоль"? Абсолютно не обозначает терминал, в котором я набрал команду w .

  3. Эта проблема также может быть обнаружена в системе Linux, такой как Ubuntu 14.04, где последняя именует console с номером, например 0 или 1 . Интересно, что означает 0 или 1 в столбце tty. Но я могу быть уверен, что они имеют аналогичное значение с console .

вот изображение

1 ответ1

0

Я не знаком с macOS, но я ожидаю, что концепции очень похожи на те, что в Linux.  Это несколько упрощает, но в основном в этом контексте «консоль» относится ко всему компьютеру.  Или, если быть более точным, дисплей и устройства ввода человека (клавиатура, указательные устройства и т.д.)   (Сетевые входы исключаются из «консоли».)

Когда вы входите в свой компьютер (локально, а не через сеть), вы входите в консоль.

Теперь вы, очевидно, знакомы с терминалами - окнами, в которых вы можете запускать команды, такие как ls и w .  Когда вы входите в консоль, она автоматически запускает команду (или группу команд), которая дает вам оконный интерфейс, к которому вы привыкли.  Некоторые операционные системы делают механизм, посредством которого это происходит, видимым, а иногда даже регулируемым; другие делают это полностью «под капотом».

Так как консоль не запускает никаких команд, кроме самой оконной системы, она простаивает.  В большинстве операционных систем (и я ожидаю, что macOS - одна из них), единственное, что нужно было переключиться на консоль, это выйти из оконной системы - но это вернет вас к консоли, которая затем автоматически выйдет из системы.

Есть еще одна морщина:

  • Команда w читает системный файл, хорошо форматирует данные, чтобы человек мог их просмотреть, и записывает их в стандартный вывод.
  • Запись записывается в файл всякий раз, когда кто-либо входит в систему с консоли или по сети.  Некоторые (большинство? все?) Системы также записывают запись, когда пользователь на консоли запускает новое окно терминала.
  • Записи обычно удаляются, когда пользователь выходит из системы или закрывает окно терминала.
  • Ключевое слово в вышеупомянутой маркировке - «обычно».  В некоторых случаях, если вы убиваете процесс (особенно если вы делаете это как суперпользователь), вы можете вмешиваться в механизм, который стирает старые данные.  Таким образом, w может сообщать информацию, которая больше не действительна.

Если вы не знаете, как использовать ps , вы должны научиться.  Вы можете использовать его вместо w , но, вероятно, лучше использовать их вместе.  Используйте w чтобы дать вам дорожную карту того, что искать в выводе ps .  Не верьте слепо всему, что w вам скажем; верьте только той информации, которую вы можете проверить с помощью ps .  Например, если вы убили всех «гостевых» процессы, и w по- прежнему говорит , что «гость» авторизован, это, вероятно , дает вам несвежий, неверную информацию.


Вы можете найти В чем разница между оболочкой, консолью и терминалом? и какова точная разница между терминалом, оболочкой, tty и консолью? стоить читать.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .