su root和su – root的區別

su 默認切到 root。在linux系統中有很多比較相似的命令,比如su與su-。su命令主要用來切換linux用戶的,而su-也可以切換用戶,只不過它比su命令多了一個字元「-」,那麼Linux系統中su命令與su-命令有什麼區別?以下是詳細的內容介紹。

1、切換root身份不同

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

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

2、採用su deploy命令後,取目標用戶不同

su命令:su不會讀取目標用戶的環境配置文件;

su-命令:su-讀取目標用戶的環境配置文件;

綜上總結:有-和無-各自的環境變數不同。

3、service命令

su命令:使用su root切換到root用戶後,不可以使用service命令;

su-命令:使用su-後,就可以使用service命令了。

4、用echo $PATH命令後,環境量不同

su命令:環境量變為usr;

su-命令:環境量變為oracle。

作者: 張津東

群而不黨,和而不同,自由理性皆容納。

發表回復