为什么我用who时终端响应“2”?wc -l

Mdo*_*n45 2 command-line

标题说明了一切。我是我电脑上的唯一用户,但是当我输入 who | wc -l,它以 2 响应。这是为什么呢?

job*_*bin 5

这是因为,作为一个用户,所以登录,当你登录到该帐户开放的终端(物理或虚拟)也计算在内,你登录一次,当你打开你的终端,或者使用Ctrl+ Alt+ t(关于此称为一虚拟终端),或者使用Ctrl+ Alt+ F{1-7}(关于此称为一个物理终端),就登录在再次,每次登录时间。

这清楚地显示在 的输出中who。第二列显示用户是如何登录的。如果您使用虚拟终端登录,您将看到pts/<no>哪个代表您曾经/dev/pts登录过,哪个代表使用虚拟终端登录。如果您使用物理终端登录,您会看到tty<no>,表示您已经使用/dev/tty过登录。

为了澄清这一点,请参见以下情况:

我曾经用图形界面登录过一次,用虚拟终端登录过一次,用物理终端登录过一次,所以输出是:

jobin    tty1         2014-03-31 18:05
jobin    :0           2014-03-31 16:58 (:0)
jobin    pts/1        2014-03-31 17:25 (:0)
Run Code Online (Sandbox Code Playgroud)

第一行是物理终端登录,第二行是图形登录,第三行是虚拟登录。

所以你看到“2”的原因是因为你已经登录到图形界面和终端(不太确定你是物理的还是虚拟的)。