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.
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…
<
Eingabeumleitung statt der Tastatur z.B. Quelle aus einer Datei. >
Ausgabeumleitung z.B. in eine neue erzeugte leere Datei schreiben. |
Ausgabe-Ergebnis des vorherigen Befehls wird zur Eingabe des folgenden Befehls. >>
Ausgabe wird an bestehende Ausgabe angehängt. 2>
nur Fehler-Ausgaben werden umgeleitet z.B. in eine neue leere Datei. 2>>
nur Fehler-Ausgaben werden umgeleitet und angehängt. ;
sequentielle Abarbeitung mehrerer Befehle. &
parallele Ausführung mehrerer Befehle. &&
Fortsetzung nur bei Fehlerfreier Ausführung des ersten Befehls. ||
Alternativer Befehl, falls erster Fehl schlägt.
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.txtsmartctl -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
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