su 命令構建器
產生用於切換使用者身份並執行指令的 su 指令
開始使用 su
## 什麼是 su?
`su`(substitute user)是透過以目標使用者身分啟動新的 shell,從而切換到另一個使用者帳戶的功能。若未指定使用者名稱,則預設為 root。系統會提示輸入目標使用者的密碼。
## 使用方式
1. **輸入使用者名稱**:輸入要切換到的帳戶名稱(預設為`root`)。 2. **選擇選項**:使用`-l`來啟動登入 shell,使用`-c`來執行單一指令,或使用`-s`來選擇 shell。 3. **輸入指令**(可選):使用`-c`來輸入要執行的指令字串。 4. **複製並執行**:將生成的指令複製到您的終端機中。
常見選項
### `-l`(或 `-`)登入殼層 以目標使用者身分啟動登入殼層——這會重設環境(`$PATH`、`$HOME`等),就如同該使用者剛登入一樣。
### `-c` 執行指令 傳遞一個指令字串,以目標使用者身分執行,然後返回原來的殼層。
### `-s` 殼層 指定要使用的特定殼層(例如 `/bin/zsh`)。
### `-m` / `-p` 保留環境 保留目前的環境變數,而非將其重設。應謹慎使用,因為某些變數可能會影響系統行為。
### `-f` 快速模式 以登入殼層的方式啟動殼層,但跳過讀取啟動檔案(相當於將 `-f` 傳遞給殼層)。
### 使用者參數 位置參數為目標使用者的名稱。若省略此參數,則會切換到 root 使用者。
▶‘su’ 與 ‘su -’ 有什麼差異?
使用純 \`su\` 可保留您目前的環境;\`su -\` 則會以目標使用者的環境(\`$HOME\`、\`$PATH\`)啟動一個乾淨的登入殼層。若要獲得更精確的環境,建議使用 \`su -\`。
▶我要如何以其他使用者的身分執行單一指令?
使用 \`-c\`:\`su -c "ls -la" john\` 會以 john 的身分執行指令並返回。
▶我要如何切換到根權限?
執行 \`su\`(預設為 root)或 \`su - root\`即可進入完整的登入殼層。系統會要求您輸入 root 的密碼。
如果这个工具对你有帮助,请考虑请我喝杯咖啡。
請幫我買杯咖啡吧。