CLI - Shell


© Mai 2021, Letzte Änderung 12.05.21

Übersicht

Ich habe lange darüber nachgedacht, wie man sich diesem Thema nähert ohne gleich jemanden abzuschrecken.
Ich denke erst mit ein wenig praktischen Grundlagen anzufangen und Lösungsansätzen,
wenn es nicht so läuft wie erwartet, hilft am Meisten.

Pipelines

Trotz aller Grafikoberflächen (GUI - graphical user interface) ist vieles unter Linux
im Terminal-Fenster, (also dem Command line Interface - CLI) eleganter lösbar.
Im Falle eines Terminals ist die Eingabe gewöhnlich die Tastatur und die Ausgabe der Bildschirm.
Ich persönlich kann am besten lernen, indem ich versuche konkrete Beispiele nachzuvollziehen.
Daher habe ich versucht immer Beipiele zu finden…

Ein- Ausgabe-Umleitung

Anbei ein paar konkrete Beispiele wie Datenströme umgeleitet werden können
oder Befehle aneinander gereiht werden können.

cd Towncoats/ || cd Downloads/              cd - change directory
bash: cd: Towncoats/: No such file or directory

pwd                                         pwd - print working directory
/home/a1/Downloads                          ~/Downloads war der richtige Ordner

ls -la                                      ls - listet Dateien mit extra Parameter "la" = long-list + all
total 20
drwxr-xr-x 2 a1 a  4096 May 13 17:59 .
drwxr-xr-x 4 a1 a 16384 May 13 17:59 ..     zuzeit leerer Ordner, input.txt existiert noch nicht

sha256sum input.txt 2> check.txt            Fehlermeldungen in die Datei check.txt schreiben.

ls > input.txt                              Bildschirmausgabe umleiten, dabei Datei input.txt neu erzeugen.
                                            interessanterweise wird input.txt angelegt und dann ls ausgeführt
cat input.txt                               cat - concatenate; Inhalt der Datei ausgeben
check.txt
input.txt
                                            Dateiliste erzeugen | filtern > Ausgabe in Datei
ls -la | grep "txt" > input.txt             aus Dateiliste Zeilen raussuchen, welche "txt" enthalten

cat input.txt                               vorheriger Inhalt ist überschrieben
-rw-r--r-- 1 a1 a    48 May 13 21:45 check.txt
-rw-r--r-- 1 a1 a     0 May 14 02:06 input.txt

sha256sum input.txt 2> check.txt            da input.txt existiert, gibt nun eine Checksumme auf dem Bildschirm
ff4c8a6dfb3cb67b45f43fe37eff69d28d5e688fb267bd4f69553610b6771579  input.txt

cat check.txt                               da 2. Fall fehlerfrei ist, steht noch 1. Ergebnis drinn
sha256sum: input.txt: No such file or directory
su
apt update && apt upgrade           wenn Fehlerfrei Fortsetzung
exit

zip zipped.zip check.txt & nano 
dd if=/dev/urand of=/dev/null & top parallele Ausführung

chown a:a input.txt ; chmod 664 check.txt 

 sort < datei
 


nano input.txt                         nano - kleiner Editor
eazy*                                         Ctrl-O speichert Datei, Ctrl-X beendet nano

li -la < input.txt

dd if=~/Downloadds/debian.iso count=512 >> check.txt
smartctl -i /dev/sda bis deb 9 bash: smartctl: command not found ab deb 10 whereis smartctl ab deb 10 smartctl: /usr/sbin/smartctl /usr/share/man/man8/smartctl.8.gz apt-file search "/netstat " munin-plugins-core: /usr/share/munin/plugins/netstat net-tools: /bin/netstat das scheint das Gesuchte zu sein recap: /usr/lib/recap/core/netstat apt-get install net-tools history | tail -n 5 … 835 su geheim 837 history | tail -n 10 history -d 835 history -w !12 12. Befehl ausführen history -c alles löschen ~/.bash_history nano ~/.bashrc HISTCONTROL=ignoreboth HISTCONTROL=ignorespace alles was mit Leerzeichen anfängt nicht in die History HOSTIGNORE="ls*" aus der Historie ausblenden

Zum Anfang

Quellen

helmbold.de   Linux auf einem Blatt
archlinux.de   Shell-Spickzettel
bitblokes.de   Bash: Zeichen aus Zeichenkette (String)
bitblokes.de   Malware: Befehle von Websites kopieren und dann im Terminal einfügen
  ist keine gute Idee
profi-tutorials.de   Eingabe- / Ausgabe-Umleitungen (I/O-Redirections)
manurevah.com   basic commands

Zum Anfang