Codecademyなどのオンラインコマンドラインプラットフォームで次を実行すると、
for cmd in w who whoami id
do
echo $cmd
$cmd
echo =========================
echo " "
done
わかりました。
w
00:52:54 up 8 days, 14:10, 0 users, load average: 3.78, 2.98, 2.69
USER TTY FROM LOGIN@ IDLE JCPU PCPU WHAT
=========================
who
=========================
whoami
ccuser
=========================
id
uid=1000(ccuser) gid=1000(ccuser) groups=1000(ccuser)
=========================
whoami
何かだけを出力するように注意してくださいid
。マイコンピュータで同じタスクを実行すると、すべてのコマンドに対して同様の結果が表示されます。
w
Codecademyがユーザーに表示しないのはなぜですかwho
?これらのコマンドの違いは何ですか?
ベストアンサー1
id
レポート- セルフプロセスの現在の資格情報
- 次のユーザーの資格情報を指定します。システムアカウントデータベース。
whoami
独自のプロセスの現在の資格情報を報告します。who
w
テーブルからアクティブなログインセッションを報告します。データベースにログイン。
BSD docoはwhoami
仕事の一部を行ったと述べているid
のでid
、廃止されました。
システムにアクティブなログインセッションテーブルがある必要はありません。 LinuxオペレーティングシステムとBSDで起動時にテーブルが作成されていないか、後で削除された場合、システムはテーブルなしで実行されます。また、Linuxオペレーティングシステムでは、ログインおよびログアウト時に暗黙的に生成されません。
さらに、権限のないユーザーはテーブルを読み取る必要はなく、このコマンドwho
もw
コマンドもエラーとして報告しません。
追加読書
- ジョナサンデボインポラード(2018)。Unixログインデータベース。よく与えられる答えです。
- ジョナサンデボインポラード(2018)。 」ログイン-更新-utmpx」。 ユーザーコマンド。 Nosh ツールセット。
- Lennart Petlinget al。 (2018).
systemd-update-utmp.service
。システムのマニュアルページ。 freedesktop.org. - ログインシェルのutmpエントリを作成する必要がありますか?
- https://unix.stackexchange.com/a/409036/5132