---
# System prepended metadata

title: Lisas Linux Cheatsheet
tags: [' cheatsheet', ' linux', tutorial, ' bash']

---

---
title: Lisas Linux Cheatsheet
description: Eine Einfuehrung in Linux fuer Lisa.
author: Stephan Glauner
tags: tutorial, cheatsheet, linux, bash
lang: de-DE
---

Lisa's Linux Cheatsheet :space_invader: 
===
In diesem Dokument, werde ich dich ganz vorsichtig an das Linux-Terminal heran fuehren und die wichtigsten Befehle auf Linux einmal erlaeutern. Was bringt dir das? Wenn du die Shell von Linux verstanden hast, hast du die Moeglichkeit Server oder Raspberry Pis, etc. von zuhause aus deinem Bett aus zu steuern und diese einzurichten. Ausserdem lernst du zu verstehen, wie ein Computer aufgebaut ist und du lernst Probleme auch ohne ein Benutzerinferface zu loesen. Moege der Spass beginnen! :smirk: :tada: 

## Was ist Bash?
Die Standart-Shell auf einem Linux System heisst Bash. Beim oeffnen eines Terminals wird sie automatisch gestartet.
![](https://i.imgur.com/nkRy0Zp.png 'Abbildung 1')

Der Aufau der Shell gestaltet sich wie folgt:
```bash=
<user>@<Host> </directory> [ggf. Git Branch]$ <Curser>
```
Im Bild oben ist der User = `steffi`, der Host(Computer) = `Kaffetasse`. Die Tilde (`~`) gibt an, dass der Nutzer sich in seinem Home-Verzeichnis befindet (`/home/steffi`). Ein Git Branch ist gerade nicht gegeben, was heisst, dass der User sich nicht in einem Git-Repository befindet. Um Dinge in der Bash-Shell zu veraendern, muss du diese Aenderungen in die `.bashrc` schreiben, welche im Home-Verzeichnis, des jeweiligen Nutzers liegt.

:::danger
**Achtung!**
Fehlerhafte Aenderungen in der `.bashrc` koennen die Shell kaputt machen. Du solltest also eine zweite 'Backup' Shell installiert oder ein Live-Linux Stick bereit liegen haben.
:::

Wenn du Hilf zu einem Befehl benoetigst gib einfach folgendes ein: `<Befehl> --help`. Um eine kleine Dokumentation zu einem Programm/Befehl zu erhalten gib folgendes eingeben: `man <Befehl>`.

## Wie (de)installiere/update ich Software?
Um auf einem Linux Software zu installieren nutzt man einen Paketemanager. Dieser heisst von Distribution zu Distribution anders. Auf Debian basierenden Systemen (z.B. Ubuntu, Raspian, etc.) heisst der Paketmanager `apt`, auf Archlinux `pacman` und auf anderen Distros eben noch anders. Fuer deinen Raspberry Pi benoetigen wir allerdings nur `apt`. Software besteht auf Linux immer aus mehreren Paketen. Das hat den Vorteil, dass Programme an sich nicht so gross sind, da viele Funktionen in extra Pakete ausgelagert werden, sodass diese auch einzeln oder von anderen Paketen genutzt werden koennen. Im folgenden werde ich einemal den Prozess des Updatens, der Installation und dann den Prozess der Deinstallation von Paketen auf einem Debian-System beschrieben (das gilt auch fuer deinen Pi).

### Updaten von Paketen

Wenn du die auf deinem System installierten Pakete updaten moechtest, musst du als erstest die Repo-Liste von deinem Paketemanager updaten, damit dieser weiss wo er ueberall nach Updates schauen soll. Das macht man mit folgendem Befehl:
```bash=
sudo apt update
```
Nun ist das das Quellverzeichnis von `apt` wieder up-to-date und du kannst die Pakete updaten. Dafuer benoetigst du den folgenden Befehl:

```bash=
sudo apt upgrade
```

Den Prozess das Updatens solltest du je nach System mindestens einmal am Tag bis einmal die Woche durchlaufen.

### Installation von Paketen
Bevor du neue Pakete installierst musst du dafuer sorgen, dass deine Paketquellen auf dem neusten Stand sind. Falls du das heute schon getan hast ueberspringe diesen Schritt einfach. Wenn nicht fuehre folgenden Befehl aus:
```bash=
sudo apt update
```
Nun sind deine Paketquellen aktuell und du kannst fortfahren. Als musst du wissen, wie das Paket heisst, welches du installieren moechtest. Ich installiere hier als Beispiel einfach einmal LibreOffice. Dafuer durchsuche ich mit `apt` einfach einmal die Paketquellen nach "libreoffice":
```bash=
apt search libreoffice
```
Nun sollte eine lange Liste, mit Paketen in denen der Suchbegriff "libreoffice", ausgegeben werden. Die Liste ist alphabetisch sortiert. Unter "L" finden wir dort dann das Paket `libreoffice`.
![](https://i.imgur.com/N65EFXX.png)

Dieses Paket und alle abhaengigen Pakete kannst du nun mit folgendem Befehl installieren:
```bash=
sudo apt install libreoffice
```
Wenn du diesen Befehl eingegeben hast, werden dir einmal alle Pakete angezeigt, die im folgenden Schritt installiert werden. Du musst dies nun nochmal bestaetigen mit "j" oder verneinen "n"(auf Englisch ist es dann "y" und "n"). Vielleicht ist dir aufgefallen, dass das "J" bei der Nachfrage gross geschrieben ist. Grosse Buchstaben sind immer die "default" Auswahl. es reicht an diesem Punkt also einfach nur Enter zu druecken um die Pakete zu installieren.

### Deinstallieren von Paketen
Pakete deinstallieren ist ganz einfach. Als erstes musst du wissen, wie das Paket heisst. Das kannst du wieder mit `apt search` herausfinden. Neben deinen installierten Paketen wird dort auch ein *installiert* angezeigt. Pakete deinstallieren kannst du dann mit:
```bash=
sudo apt remove <Paketname>
```
Falls sich noch nichtbenoetigte Pakete auf deinem Geraet befinden sollten, kannst du einmal ein
```bash=
sudo apt autoremove
```
laufen lassen, dass deinstalliert die Pakete, welche nicht benoetigt werden und keine Abhaengigkeiten haben.


## Liste weiterer Befehle
| Befehl    | Beschreibung |
|:--------  | --------:|
| `pwd` | zeigt Verzeichnis an |
| `ls` | Listet sichtbare Datein  & Unterordner im alktuellen Verzeichnis |
| `ls -a` | Listet alle Datein & Unterordner|
| `ls /Pfad/zum/Verzeichnis` | `ls` fuer spezielles Verzeichnis |
| `cd /Pfad/zum/Verzeichnis` | 'change directory' navigiert zu gewuenschtem Verzeichnis |
| `mkdir <Name>` | 'make directory' erstellt einen neuen Ordner im aktuellen Verzeichnis |
| `rm <Datei>` | 'remove' loescht Datei |
| `rmdir` | 'remove directory' loescht Ordner (nur, wenn leer) |
| `mv` |  |
| `cp` |  |
| `less` |  |
| `cat` |  |
| `clear` |  |

:::info
In Bash kannst du als Wildcard das `*` nutzen, damit du alle Dateien auf einmal kopieren, bewegen, loeschen, etc. kannst.
:::



## Wie stelle ich eine SSH-Verbindung zu einem Linux-Geraet her?

SSH ist ein Tool um eine Commandline von einem entferntem Rechner aufzurufen (z.B. ein fest installierter Pi oder ein Server). SSH sollte auf deinem Geraet vorinstalliert sein, falls nicht findest du [hier](#Installation-von-Paketen) nochmal die Anleitung zu Installation.
### Wir tun Dinge mit PuTTY (Hui, Ich mach das auch zum ersten mal :tada: )

### SSH-Keys

### scp


## Nuetzliche Software
### Ranger

### Vim

### htop

### Git

### sudo

