Unterschied zwischen Bash-Profil und Bashrc

Fumbani Banda 30 Januar 2023
  1. Was sind Startdateien in Bash
  2. Unterschied zwischen ~/.bash_profile und ~/.bashrc in Bash
  3. Verwenden Sie den Befehl ls, um Startdateien in Bash anzuzeigen
Unterschied zwischen Bash-Profil und Bashrc

Dieses Tutorial erklärt den Unterschied zwischen der ~./bash_profile und der ~/.bashrc-Datei in Bash.

Was sind Startdateien in Bash

Startdateien sind Dateien, die ausgeführt werden, sobald die Shell gestartet wird. Die Startdateien hängen vom Typ der gestarteten Shell ab. Eine Shell kann als interaktive Shell oder als nicht interaktive Shell ausgeführt werden.

Eine interaktive Shell ist eine Shell, die Befehle aus Benutzereingaben auf dem Terminal liest und die Ausgabe auf dem Terminal anzeigt. Im Gegensatz dazu ist dem Terminal keine nicht-interaktive Shell zugeordnet, wie zum Beispiel das Ausführen eines Skripts.

Eine interaktive Shell kann weiter in zwei Teile geteilt werden. Es kann eine interaktive Login-Shell oder eine interaktive Nicht-Login-Shell sein.

Eine Login-Shell ist der erste Prozess, der nach erfolgreicher Anmeldung mit /bin/login durch Auslesen der /etc/passwd-Datei gestartet wird. Die Login-Shell wird unter Ihrer Benutzer-ID ausgeführt. Eine Login-Shell wird ausgeführt, wenn Sie sich über das Terminal anmelden, zu einem anderen Benutzer wechseln oder SSH verwenden.

Die Login-Shell startet eine Nicht-Login-Shell. Es kann eine Shell sein, die mit einem Prozess ohne Anmeldung oder von einer anderen Shell startet. Ein Prozess verwendet den Namen der ausführbaren Shell-Datei, um eine Nicht-Login-Shell zu starten.

Unterschied zwischen ~/.bash_profile und ~/.bashrc in Bash

Sobald eine Shell als interaktive Login-Shell startet, liest sie die Befehle aus ~/.profile, aber eine Bash liest sie stattdessen aus ~/.bash_profile. Bash kann nur das ~/.bash_profile lesen, und wenn die Datei nicht existiert, liest Bash stattdessen das ~/.profile.

Das ~/.profile wird in Linux-Distributionen häufiger verwendet als ~/.bash_profile, da es von allen Shells gelesen und ausgeführt wird. Im Gegensatz dazu wird das ~/.bash_profile nur von Bash gelesen und ausgeführt.

Wenn die Shell als interaktive Non-Login-Shell gestartet wird, liest sie die Befehle aus der Datei ~/.bashrc und führt sie aus.

Die ~/.bash_profile und ~/.bashrc befinden sich als Dotfiles im Home-Verzeichnis des Benutzers. Dateien im Home-Verzeichnis des Benutzers werden verwendet, um Konfigurationen vorzunehmen, die nur für diesen bestimmten Benutzer gelten.

Diese Konfigurationen überschreiben normalerweise die Systemkonfigurationen. Die Datei ~/.bash_profile enthält Startprogrammkonfigurationen und benutzerspezifische Umgebungskonfigurationen, während die Datei ~/.bashrc Funktionen und Aliase für einen bestimmten Benutzer speichert.

Die Dateien im Verzeichnis /etc/ werden verwendet, um systemweite Konfigurationen vorzunehmen, die für alle Benutzer des Systems gelten. Zu diesen Dateien gehören /etc/profiles und /etc/bashrc.

Verwenden Sie den Befehl ls, um Startdateien in Bash anzuzeigen

Um ~/.bash_profile oder ~/profile und ~/.bashrc anzuzeigen, navigieren Sie in Ihrem Home-Verzeichnis und geben Sie den Befehl ls -al ein.

Die Option -a weist den Befehl ls an, alle Dateien aufzulisten, auch die mit einem Punkt beginnenden. Die Option -l weist den Befehl ls an, die Dateien in einem langen Listenformat aufzulisten.

Das folgende Bild zeigt die Dateien ~/.bashrc und ~/.profile.

Startdateien

Fumbani Banda avatar Fumbani Banda avatar

Fumbani is a tech enthusiast. He enjoys writing on Linux and Python as well as contributing to open-source projects.

LinkedIn GitHub

Verwandter Artikel - Linux Bash