Ich frag' mich ob das nicht auch Google beantworten könnte. Oder noch besser CoPilot/ChatGPT
Hier mal was ChatGPT herausschreibt.
Weil du offenbar nicht Googeln wolltest, war ich auch zu faul, es dir zusammenzufassen:
Gern erkläre ich die Unterschiede zwischen den genannten Befehlen und welche Umgebungsvariablen jeweils geladen werden.
### Die einzelnen Befehle:
1.
su -
- Wechsel zu einem anderen Benutzer (standardmäßig root) und lädt die Login-Umgebung dieses Benutzers.
- Äquivalent zu
su - root
.
2.
su - root
- Wechsel zu
root
und lädt die Login-Umgebung von
root
.
3.
sudo su
- Führt den Befehl
su
als Root-Benutzer aus, ohne die Login-Umgebung zu laden.
- Der Unterschied liegt darin, dass
sudo
verwendet wird, um temporäre Root-Rechte zu erlangen.
4.
sudo su -
- Führt den Befehl
su -
als Root-Benutzer aus und lädt die Login-Umgebung des Root-Benutzers.
5.
sudo su - root
- Führt den Befehl
su - root
aus und lädt die Login-Umgebung des Root-Benutzers.
6.
sudo bash
- Startet eine neue Bash-Shell mit Root-Rechten, ohne die Login-Umgebung zu laden.
7.
sudo -i
- Wechselt zu einem Root-Shell mit der Login-Umgebung des Root-Benutzers.
- Ähnlich wie
sudo su -
, lädt aber auch die benutzerspezifische Login-Umgebung.
### Zusammenfassung:
- Mit
-
: Befehle wie su -
und sudo su -
laden die Login-Umgebung des Zielbenutzers (typischerweise root), was bedeutet, dass sie die Umgebungsvariablen aus den entsprechenden Login-Skripten (z.B. .bash_profile
oder .profile
) laden.
- Ohne
-
: Befehle wie sudo su
oder sudo bash
laden diese Login-Umgebungen nicht und behalten daher viele der ursprünglichen Umgebungsvariablen bei.
Beispiele:
su -
und su - root
: Laden die vollständige Login-Umgebung von Root.
sudo su
: Behält die aktuelle Umgebung und wechselt zu Root.
sudo su -
und sudo su - root
: Laden die vollständige Login-Umgebung von Root, aber geben vorherige Umgebungsvariablen auf.
sudo bash
: Startet eine Root-Bash-Shell ohne Änderung der Umgebung.
sudo -i
: Ähnlich wie sudo su -
, lädt aber die gesamte benutzerspezifische Login-Umgebung.
Ich hoffe, das klärt deine Frage! Lass mich wissen, wenn du noch weitere Details benötigst.