Wie passen Programmierer ihr Linux-Terminal an?
Das Terminal besteht aus mehreren Komponenten. Das was du von außen siehst ist der Terminal-Emulator, der in einem Fenster von einem Linux window manager
läuft. Einstellungen am Fenster (Ränder, Kopfleiste, Hotkeys fürs tiling) werden also über die Einstellungen des aktiven window managers vorgenommen.
In dem Fenster läuft dann ein terminal emulator
, der für deine Texteingabe und die Textdarstellung verantwortlich ist. Schriftarten und -farben werden in dessen Einstellungen vorgenommen, meistens per Rechtsklick > Menubar > Preferences, manchmal aber auch über Konfigurationsdateien irgendwo im System, das hängt von dem Terminalemulator ab.
Das wichtigste ist wahrscheinlich das Programm, das deine eingegebenen Befehle interpretiert, das ist die Shell, meistens bash. Die bash wartet auf deine Befehle und kommuniziert mit dem Kernel um andere Programme zu starten und stellt dir eine Sprache zur verfügung um Text/Bytes zwischen Programmen auszutauschen. Um die bash zu konfigurieren wird hauptsächlich die .bashrc benutzt, das ist eine Datei, aus der automatisch Befehle gelesen werden wenn bash startet. Dort kannst du zum Beispiel deine command prompt Zeile konfigurieren, also die Zeile die immer vor deinem Eingabebereich erscheint, außerdem kannst du dir dort für unterschiedliche Befehle Aliasse definieren, zb alias la='ls -A --color=auto' um mit la dir alle Dateien im aktuellen Verzeichnis (gefärbt
) anzeigen zu lassen. Außerdem kannst du in dieser Datei Umgebungsvariablen setzen lassen, zb mittels export PATH="$PATH:$HOME/.cargo/bin:" , um das Verzeichnis .cargo/bin im HOME Verzeichnis zur standard PATH Variable hinzuzufügen (in ihr stehen alle Pfade auf dessen Inhalte du von überall aus zugreifen kannst).
Hier noch ein paar Beispiele
# Kommentare werden nicht ausgeführt 
 alias vim='nvim' # 'vim' führt 'nvim' aus 
 export EDITOR='vim' # '$EDITOR' expandiert zu 'vim' 
 export BASHRC="$HOME/.bashrc" # Pfad zur .bashrc 
 # benutze doppelte Anführungszeichen "" wenn du 
# Variablen mit $ expandieren willst, 
# einfache Anführungszeichen '' werden als 
# literale behandelt. 
 alias bashrc='sudo $EDITOR $BASHRC'  
# hierdurch kannst du nur durch den Befehl 'bashrc' 
# deine $BASHRC mit deinem $EDITOR als root bearbeiten 
 # hier definieren wir uns ein paar Farbcodes die 
# vom Terminal Emulator verstanden werden 
COLOR_NONE='\[\033[00m\]' # reset color 
COLOR_USER='\[\033[01;32m\]' # green 
COLOR_CWD='\[\033[01;34m\]' # blue 
 # die PS1 Umgebungsvariable enthält einen format string 
# für die command prompt 
 export PS1="$COLOR_USER\u@\h$COLOR_NONE:$COLOR_CWD\w$COLOR_NONE " 
 export PATH="$PATH:$HOME/.cargo/bin:" 
Um die Datei danach sofort von bash ausführen zu lassen, "sourcen" wir sie über den Befehl source $HOME/.bashrc oder auch . $HOME/.bashrc. Das Ergebnis ist eine command prompt der Form
benutzer@host-pc:/aktuelles/verzeichnis  
und außerdem können wir die Befehle la, bashrc und alles was in ~/.cargo/bin liegt direkt ausführen.
Weil bash automatisch die .bashrc sourced, werden diese Einstellungen bei jeder Anmeldung automatisch vorgenommen. Es gibt jede Menge Einstellungen und Möglichkeiten sie vorzunehmen, deswegen rate ich dir dich über google selbst zu allem schlau zu machen, was du vorhast.
Update: Eine modernere Shell die sich lohnt ist übrigens fish