概述
`logname` 命令會將使用者開始登入會話時使用的名稱顯示到標準輸出。這與 `whoami` 有著細微但重要的區別。`whoami` 輸出的是目前執行命令的「有效使用者」的名稱,而 `logname` 則輸出會話的「實際登入使用者」的名稱。因此,即使在透過 `sudo` 或 `su` 命令取得其他使用者的權限後,`logname` 仍會顯示原始登入的使用者名稱。
主要特點
logname 命令的主要特點如下:
- 輸出啟動登入會話的使用者名稱。
- 基於 `$LOGNAME` 環境變數的值運作。
- 用於確認實際登入的使用者。
- 是一個選項很少的簡單命令。
logname 與 whoami 的差異
這兩個命令都輸出使用者名稱,但在權限變更的情況下會顯示不同的結果。
- logname: 輸出實際登入的使用者名稱(real user)。在使用 `su` 或 `sudo` 後也不會改變。
- whoami: 輸出目前執行命令的有效使用者名稱(effective user)。在使用 `su` 或 `sudo` 後,會輸出像 `root` 這樣已變更的使用者名稱。
主要選項
logname 命令非常簡單,主要只使用 `--help` 或 `--version` 等基本說明選項。
1) 說明
生成的命令:
請試著組合命令。
這個 Django 應用程序是一個技術指南文檔,旨在為用戶輕鬆解釋 Linux 的各種命令。
`logname` 執行命令。
請將上述選項組合在一起,與 AI 一同虛擬執行命令。
使用範例
透過 logname 命令的各種使用範例來學習其功能。
確認目前使用者名稱
logname
輸出目前登入的使用者名稱。
su 命令後比較使用者名稱
logname
su
whoami
logname
在使用 `su` 命令切換到 `root` 使用者後,比較 `whoami` 和 `logname` 的輸出結果。`whoami` 會輸出 `root`,但 `logname` 會輸出原始登入的使用者名稱。
安裝
logname 是 `coreutils` 套件的一部分,大多數 Linux 發行版都預設包含它。無需額外安裝。
提示與注意事項
整理了使用 logname 命令時應注意的事項。
提示
- 在腳本中,若要確認目前執行命令的使用者權限,建議使用 `whoami`;若要記錄實際登入系統的使用者,則建議使用 `logname`。
- `logname` 可以用於追蹤實際登入的使用者,類似於 `w` 命令的輸出結果。