<sub class="descriptionSection">09-10-2024 05:11:pm // #Linux // [[BA]]</sub> ____ Die Linux Konsole ist ein mächtiges Werzeug (arguably mächtiger als PowerShell). ## Begriffe in der Linux Welt - CLI: Command Line Interface - Basically die Konsole - Shell - Command Line Interpreter - Also das was die Commands laufen lässt - Übersetzt Konsolenbfehle in Befehle für das Betriebssystem - Unterschiedliche Shells sind möglich - Bourne shell - C Shell - tchs - Ksh (Korn Shell) - zsh - fish - Bash (Bourne-again Shell) ## Bash Bash ist die standard shell die eigentlich von allen unix based OS genutzt wird. Sie sieht so aus: ![[Pasted image 20241009171414.png]] ### Kommandostruktur Jede CLI hat eigentlich eine eigene Kommandostruktur in der Linux Welt. Meistens ist sie allerdings so aufgebaut: ![[Pasted image 20241009171522.png]] Beispiel: ![[Pasted image 20241009171610.png]] - ls : Kommando (list, directory anzeigen) - -l : Option 1 (Ausgabe im langen Format) - --human: Option 2 (Dateigrößen in menschlichen Format anzeigen) - anstatt --human kann man auch -h schreiben - anstatt -l -h kann man auch -lh schreiben - /home: Argument 1 (Pfad des ersten Ordners der angezeigt werden soll) - /etc: Argument 2 (Pfad des zweiten Ordners der angezeigt werden soll) ### Kommando-History ![[Pasted image 20241009171802.png]] ### Variablen Um Scripte möglich zu machen gibt es in den meisten Shells variablen. Es gibt zwei typen von Variablen: - Local Variables - nur in der aktuellen shell gültig - Definition und Zuweisung: `variable=value` - Lesezugriff: `$variable` - Environmnet Variables - globale variablen - Systemweit - `env` befehl gibt alle aus - Beispiel - `PATH` <= In welchen Directories nach binaries zum ausführen gesucht wird - `HOME` <= Pfad des home directories - `export variable` machtVariable global - `unset variable` löscht Variable ### Typen von Kommandos ![[Pasted image 20241009172302.png]] ![[Pasted image 20241009172309.png]] ### Funktionen Shells haben meistens auch die möglichkeiten funktionen zu definieren: ```shell function gruessen(){ echo Hallo echo Servus echo Grias de } ``` Im terminal kann die funktion dann so aufgerufen werden: ```shell gruessen ``` ### Verknüpfung von Kommandos Kommandos können in mehreren Wegen verknüpft werden: ``` command; command2 #Zuerst command1 dann 2 ausführen command1 && command2 #Erst command1 nur bei erfolg command2 ausführen command1 || command2 #Command1 ausführen, bei Fehler command2 ausführen ```