1. 程式人生 > >Linux下su與su -命令的區別

Linux下su與su -命令的區別

在啟動伺服器ntpd服務時遇到一個問題
這裡寫圖片描述
使用 su root 切換到root使用者後,不可以使用service命令;
使用 su - 後,就可以使用service命令了。

原因:
這裡寫圖片描述
su命令和su -命令區別就是:

su只是切換了root身份,但Shell環境仍然是普通使用者的Shell;而su -連使用者和Shell環境一起切換成root身份了。只有切換了Shell環境才不會出現PATH環境變數錯誤,報command not found的錯誤。

su切換成root使用者以後,pwd一下,發現工作目錄仍然是普通使用者的工作目錄;而用su -命令切換以後,工作目錄變成root的工作目錄了。

用echo $PATH命令看一下su和su - 後的環境變數已經變了。
這裡寫圖片描述
以此類推,要從當前使用者切換到其它使用者也一樣,應該使用su -命令。