學(xué)習(xí)啦>學(xué)習(xí)電腦>操作系統(tǒng)>Linux教程>

su與su-命令的區(qū)別

時(shí)間: 志藝942 分享

  本人以前一直習(xí)慣直接使用root,很少使用su,前幾天才發(fā)現(xiàn)su與su -命令是有著本質(zhì)區(qū)別的! 那么你知道su與su-命令的區(qū)別么?接下來(lái)是小編為大家收集的su與su-命令的區(qū)別,歡迎大家閱讀:

su與su-命令的區(qū)別

  大部分Linux發(fā)行版的默認(rèn)賬戶是普通用戶,而更改系統(tǒng)文件或者執(zhí)行某些命令,需要root身份才能進(jìn)行,這就需要從當(dāng)前用戶切換到root用戶。Linux中切換用戶的命令是su或su -。前天我在使用useradd這個(gè)命令時(shí),才體會(huì)到這兩者的本質(zhì)區(qū)別。如圖:

  我首先是用su命令切換到root身份的,但是運(yùn)行useradd時(shí),出現(xiàn)錯(cuò)誤:bash: useradd: command not found。google了一下,原因是在這個(gè)用su命令切換過(guò)來(lái)的root用戶上。

  su命令和su -命令最大的本質(zhì)區(qū)別就是:前者只是切換了root身份,但Shell環(huán)境仍然是普通用戶的Shell;而后者連用戶和Shell環(huán)境一起切換成root身份了。只有切換了Shell環(huán)境才不會(huì)出現(xiàn)PATH環(huán)境變量錯(cuò)誤。su切換成root用戶以后,pwd一下,發(fā)現(xiàn)工作目錄仍然是普通用戶的工作目錄;而用su -命令切換以后,工作目錄變成root的工作目錄了。用echo $PATH命令看一下su和su -以后的環(huán)境變量有何不同。以此類推,要從當(dāng)前用戶切換到其它用戶也一樣,應(yīng)該使用su -命令。如圖:

  Linux就是這樣,有時(shí)候配置文件多了或者少了一個(gè)空格,服務(wù)就運(yùn)行不了。細(xì)節(jié)問(wèn)題一定要注意,這樣才能少走彎路!

  通過(guò)以上比較我們發(fā)現(xiàn)用su - 就相當(dāng)于一個(gè)完整的登陸過(guò)程,而su 只是簡(jiǎn)單的把用戶切換過(guò)去,一些環(huán)境變量什么的都沒(méi)帶過(guò)去.

  
看了“su與su-命令的區(qū)別”還想看:

1.linux su和sudo命令的區(qū)別

2.Linux下su命令怎么使用

3.Linux命令su詳解

4.linux su命令參數(shù)及用法詳解

2960735