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.