コマンドのマニュアルページの説明はwho
次のとおりです。
who - show who is logged on
ただし、同様のコマンドが存在しますwhoami
。マンページの説明はwhoami
次のとおりです。
whoami - print effective userid
このコマンドが正確に何をしているのかを説明できる人はいますか?彼らはどう違いますか?
答え1
シェルに root としてログインし、 と入力しましたがwho
、これが出力です。
who
root tty1 2014-08-25 14:01 (:0)
root pts/0 2014-09-05 10:22 (:0.0)
root pts/3 2014-09-19 10:08 (xxx.xxx.edu)
接続を確立したすべてのユーザーを効果的に表示します。
ssh ramesh@hostname
再度実行すると、who
ユーザー ramesh の別の項目が作成されます。
who
root tty1 2014-08-25 14:01 (:0)
root pts/0 2014-09-05 10:22 (:0.0)
root pts/3 2014-09-19 10:08 (xxx.xxx.edu)
ramesh pts/4 2014-09-19 12:11 (xxx.xxx.edu)
シェル内でroot
私はただ実行しsu ramesh
て実行しますwhoami
。現在のユーザー ramesh を出力として提供します。
実際、who
現在のシステムにログオンしているすべてのユーザーのリストが提供され、現在のシェルに誰がいるかを知るwhoami
ことができます。
答え2
who
:現在ログインしているユーザーの情報を出力します。
whoami
:現在のユーザーの有効なユーザー名を印刷しますwhoami
。
たとえば、
mohsen@debian:~$ who ## list logged in usernames
mohsen :0 2014-09-19 16:31 (:0)
mohsen pts/0 2014-09-19 16:32 (:0)
mohsen pts/1 2014-09-19 19:42 (:0)
mohsen@debian:~$ whoami
mohsen ##### print my username (mohsen)
mohsen@debian:~$
私も次のより良いwho
コマンドをお勧めします。w
注文する。出力は次のとおりです。
mohsen@debian:~$ w
21:45:45 up 5:16, 3 users, load average: 0.68, 0.54, 0.46
USER TTY FROM LOGIN@ IDLE JCPU PCPU WHAT
mohsen :0 :0 16:31 ?xdm? 1:40m 0.27s gdm-session-wor
mohsen pts/0 :0 16:32 1.00s 0.15s 0.01s w
mohsen pts/1 :0 19:42 2:03m 0.13s 14.06s /usr/bin/python
また見なさい:
last
コマンド/var/log/btmp
と/var/log/wtmp
ファイル。
答え3
.who
whoami
このwho
コマンドは、常にログインに使用したアカウント(実際のユーザー情報)を表示します。
このwhoami
コマンドは有効なユーザーを表示します。
たとえば、「blammy」としてログインすると、who
コマンドwhoami
は次のように表示されます。
> who
blammy pts/0 2011-04-23 13:43 (123.23.123.123)
> whoami
blammy
これは、ユーザー「blammy」が2011年4月23日13:43にIP「123.23.123.123」にログインしたことを示します。
その後、これを実行すると、su - kapow
有効なユーザーが「kapow」に変わります。
who
andwhoami
コマンドは次のように表示されます。
> who
blammy pts/0 2011-04-23 13:43 (123.23.123.123)
> whoami
kapow
情報はwho
変わりませんが、whoami
suに応じて情報が変わります。