Commit d7afaec5 authored by Sebastian Schüpbach's avatar Sebastian Schüpbach
Browse files

Update syntax and style

parent 2a735996
Loading
Loading
Loading
Loading
Loading
+1 −0
Original line number Diff line number Diff line
@@ -7,6 +7,7 @@ disablePathToLower = true
enableGitInfo = true

[params]
BookTheme = 'dark'
BookComments = 'false'
BookRepo = 'https://gitlab.switch.ch/sschuepbach/kbit'
BookCommitPath = 'commit'
+31 −0
Original line number Diff line number Diff line
+++
title = "Pandoc"
+++

# Pandoc

Pandoc ist ein Framework zur Konvertierung einer Vielzahl von Auszeichnungssprachen.

Einfache Transformation:

```sh
pandoc -f<Eingabeformat> -t<Ausgabeformat> -o<Zieldateiname> <Eingabedatei>
```

Unterstützte Eingabeformate:

```sh
pandoc --list-input-formats
```

Unterstützte Ausgabeformate:

```sh
pandoc --list-output-formats
```

Unterstützte Erweiterungen:

```sh
pandoc --list-extensions
```
+20 −6
Original line number Diff line number Diff line
+++
title = "ip"
+++

# ip

Zeigt an und verändert Einstellungen zu Routing, Netwerkgeräten, Schnittstellen und Tunnels

Anwendungsbeispiele
-------------------
## Anwendungsbeispiele

### Statische Adresse

IP-Adressen auflisten:
	sudo ip address show

```sh
sudo ip address show
```

Statische IP-Adresse erstellen:

```sh
sudo ip address add <address/prefix_len> broadcast + dev <interface>
```

Bspw:
	sudo ip address add 192.168.1.123/24 broadcast + dev enp0s20f0u3

```sh
sudo ip address add 192.168.1.123/24 broadcast + dev enp0s20f0u3
```

Statische IP-Adresse löschen:
	sudo ip address del <address/prefix_len> dev <interface>

```
sudo ip address del <address/prefix_len> dev <interface>
```
 No newline at end of file
+67 −50
Original line number Diff line number Diff line
+++
title = "Bash"
+++

# Bash
Positionale Parameter
---------------------

## Positionale Parameter

* ``$0``: Gibt normalerweise den Namen des ausgeführten Programms zurück, kann aber auch auf einen anderen Wert gesetzt werden. Daher kein eigentlicher positionaler Parameter.
* ``$FUNCNAME``: Name der Funktion
@@ -11,78 +15,91 @@ Positionale Parameter
* ``$#``: Die Anzahl Argumente, ``$0`` nicht mitgezählt


Datenströme
-----------
## Datenströme

Standard-Datenströme:
| Datenstrom   | Abkürzung   | Beschreibung          | Standardmässig verbunden mit |
|:-----------|:----------|:----------------------|------------------------------|
| 0          | STDIN     | Standardeingabe       | Tastatur                     |
| 1          | STDOUT    | Standardausgabe       | Monitor                      |
| 2          | STDERR    | Standardfehlerausgabe | Monitor                      |
|:-------------|:------------|:----------------------|------------------------------|
| `0`          | `STDIN`     | Standardeingabe       | Tastatur                     |
| `1`          | `STDOUT`    | Standardausgabe       | Monitor                      |
| `2`          | `STDERR`    | Standardfehlerausgabe | Monitor                      |


Daneben stehen noch weitere Datenströme, 3 bis 8, zur Verfügung.

### Umleitung von Datenströmen

| Kommando    | Beispiel                              | Bedeutung                                                                                                                   |
|:----------|:------------------------------------|:------------------------------------------------------------------------------------------------------------------------|
| <         | cat < testfile                      | Standardeingabe wird umgestellt (im Beispiel auf die Datei testfile)                                                    |
| > oder 1> | echo "Hello world!" > testfile      | Standardausgabe wird umgestellt (im Beispiel auf die Datei testfile) [gleichbedeutend mit 1>]                           |
| >>        | echo "Hello world!" >> testfile     | Standardausgabe wird an Datei angehängt (im Beispiel auf testfile)                                                      |
| 2>        | ls -l /dev/null/void 2> testfile    | Standardfehlerausgabe wird umgestellt (im Beispiel auf die Datei testfile)                                              |
| &>        | ls $HOME /dev/null/void &> testfile | Standardausgabe und Standardfehlerausgabe werden in gleiche Ausgabe umgeleitet (im Beispiel auf die Datei testfile)     |
| >&1       | ls -l /dev/null/void >&1            | Strom wird auf Standardausgabe umgeleitet                                                                               |
| >&2       | echo "Hello world!" >&2             | Strom wird auf Standardfehlerausgabe umgeleitet                                                                         |
| exec 1>   | exec 1> testfile                    | Standardausgabe wird, bspw. in Skript oder in geöffneter, permanent umgestellt (im Beispiel auf die Datei testfile)     |
| exec 0<   | exec 0< testfile                    | Standardeingabe wird umgestellt (im Beispiel auf die Datei testfile)                                                    |
| exec 3<>  | exec 3<> testfile                   | Für Datenstrom Ziel sowohl als Ein- wie Ausgabe definieren (im Beispiel Ziel testfile)                                  |
| >&-       | exec 3>&-                           | Datenstrom schliessen (im Beispiel für Datenstrom 3)                                                                    |
| tee       | date \| tee testfile                | Standardeingabe wird gleichzeitig nach Standardausgabe und einer weiteren Ausgabe weitergeleitet (im Beispiel testfile) |


Signale
-------
|:------------|:--------------------------------------|:----------------------------------------------------------------------------------------------------------------------------|
| `<`         | `cat < testfile`                      | Standardeingabe wird umgestellt (im Beispiel auf die Datei `testfile`)                                                      |
| `> oder 1>` | `echo "Hello world!" > testfile`      | Standardausgabe wird umgestellt (im Beispiel auf die Datei `testfile`) [gleichbedeutend mit `1>`]                           |
| `>>`        | `echo "Hello world!" >> testfile`     | Standardausgabe wird an Datei angehängt (im Beispiel auf `testfile`)                                                        |
| `2>`        | `ls -l /dev/null/void 2> testfile`    | Standardfehlerausgabe wird umgestellt (im Beispiel auf die Datei `testfile`)                                                |
| `&>`        | `ls $HOME /dev/null/void &> testfile` | Standardausgabe und Standardfehlerausgabe werden in gleiche Ausgabe umgeleitet (im Beispiel auf die Datei `testfile`)       |
| `>&1`       | `ls -l /dev/null/void >&1`            | Strom wird auf Standardausgabe umgeleitet                                                                                   |
| `>&2`       | `echo "Hello world!" >&2`             | Strom wird auf Standardfehlerausgabe umgeleitet                                                                             |
| `exec 1>`   | `exec 1> testfilev                    | Standardausgabe wird, bspw. in Skript oder in geöffneter, permanent umgestellt (im Beispiel auf die Datei `testfile`)       |
| `exec 0<`   | `exec 0< testfile`                    | Standardeingabe wird umgestellt (im Beispiel auf die Datei `testfile`)                                                      |
| `exec 3<>`  | `exec 3<> testfile`                   | Für Datenstrom Ziel sowohl als Ein- wie Ausgabe definieren (im Beispiel Ziel `testfile`)                                    |
| `>&-`       | `exec 3>&-`                           | Datenstrom schliessen (im Beispiel für Datenstrom `3`)                                                                      |
| `tee`       | `date \| tee testfile`                | Standardeingabe wird gleichzeitig nach Standardausgabe und einer weiteren Ausgabe weitergeleitet (im Beispiel `testfile`)   |


## Signale

| Signal   | Wert                 | Tastaturkürzel | Beschreibung                                                               |
|:-------|:-----------------|:---------------|:---------------------------------------------------------------------------|
| 1      | SIGHUP           |                | Blockierung des Kontrollterminals oder Ende des Kontrollprozess            |
| 2      | SIGINT           |                | Interrupt durch die Tastatur; interaktives Warnsignal                      |
| 3      | SIGQUIT          |                | Beenden durch die Tastatur                                                 |
| 4      | SIGILL           |                | Ungültige Anweisung                                                        |
| 5      | SIGTRAP          |                | Haltemarke erreicht                                                        |
| 6      | SIGABRT / SIGIOT |                | Abnormale Beendigung                                                       |
| 7      | SIGBUS           |                | BUS Fehler (Speicherzugriffsfehler)                                        |
| 8      | SIGFPE           |                | „Gleitkommaoperation Ausnahmefehler“: fehlerhafte arithmetische Operation. |
| 9      | SIGKILL          |                | Unblockierbares Beenden                                                    |


Stringmanipulation
------------------
|:---------|:---------------------|:---------------|:---------------------------------------------------------------------------|
| `1`      | `SIGHUP              |                | Blockierung des Kontrollterminals oder Ende des Kontrollprozess            |
| `2`      | `SIGINT              |                | Interrupt durch die Tastatur; interaktives Warnsignal                      |
| `3`      | `SIGQUIT             |                | Beenden durch die Tastatur                                                 |
| `4`      | `SIGILL              |                | Ungültige Anweisung                                                        |
| `5`      | `SIGTRAP             |                | Haltemarke erreicht                                                        |
| `6`      | `SIGABRT` / `SIGIOT` |                | Abnormale Beendigung                                                       |
| `7`      | `SIGBUS`             |                | BUS Fehler (Speicherzugriffsfehler)                                        |
| `8`      | `SIGFPE`             |                | „Gleitkommaoperation Ausnahmefehler“: fehlerhafte arithmetische Operation. |
| `9`      | `SIGKILL`            |                | Unblockierbares Beenden                                                    |


## Stringmanipulation

Für den Moment s. <http://www.tldp.org/LDP/abs/html/string-manipulation.html>

Bash-Einzeiler
--------------
## Bash-Einzeiler

### Verschlüsseltes tar-Archiv extrahieren
	gpg --decrypt einedatei.tar.gpg | tar xf -

```bash
gpg --decrypt einedatei.tar.gpg | tar xf -
```

### Symmetrische Verschlüsselung eines archivierten Verzeichnisses
	tar cz mein_verzeichnis | gpg -co mein_archiv.tar.gpg

```bash
tar cz mein_verzeichnis | gpg -co mein_archiv.tar.gpg
```

### Pfad zur ausführbaren Datei eines Prozesses
	sudo readlink -f /proc/<pid>/exe

```bash
sudo readlink -f /proc/<pid>/exe
```

### Rekursives Suchen und Ersetzen
	find -type f -exec sed -i 's/<alt>/<neu>/g' {} \;

```bash
find -type f -exec sed -i 's/<alt>/<neu>/g' {} \;
```

### Pipe zu mehreren Commands

```bash
cat eine_datei | tee >(grep "ein_muster") >(grep "ein_weiteres_muster") >/dev/null | less
```

Mithilfe von ``tee`` und [Prozessersetzung](http://tldp.org/LDP/abs/html/process-sub.html) kann das Ergebnis eines Befehls an verschiedene weitere Befehle gepipt werden. Da ``tee`` standardmässig in Dateien (in diesem Beispiel sind das durch die Substitution die ``grep``-Befehle) und nach ``stdout`` schreibt, muss hier Letzteres nach ``/dev/null`` umgeleitet werden, da ansonsten sowohl das gesamte Ergebnis von ``cat`` als auch die Ergebnisse der ``grep``-Befehle an den letzten Befehl weitergeleitet werden.

### Zählen von abweichenden Zeilen in zwei Dateien
	diff -y --suppress-common-lines erste_datei zweite_datei | grep '^' | wc -l

```bash
diff -y --suppress-common-lines erste_datei zweite_datei | grep '^' | wc -l
```
 No newline at end of file
+8 −7
Original line number Diff line number Diff line
+++
title = "Clojure"
+++

# Clojure
Leiningen
---------

* Neue Clojure-App:
## Leiningen

* Neue Clojure-App:
	```bash
	lein new app <app-name>


	```
* ``project.cli``: Konfigurationsdatei für Leiningen (in root-Ordner)

Loading