IT Wissenssplitter
Sorry, Bild fehlt

IT Wissenssplitter

Sherlock und Desiderat

Sorry, Bild fehlt

Die Shell - Eine Einführung für absolute Anfänger

Um alles wie vorgesehen betrachten zu können, muss Javaskript aktiviert sein.

Die Shell ist eine Software, die es ermöglicht mit dem Betriebssystem zu interagieren. Damit lässt sich z.B. weitere Software starten und dem Dateisystem arbeiten (z.B. Kopieren und löschen von Dateien). Es gibt verschiedene Shells, wir verwenden die Bash. Die Bash ist die Standard-Shell auf den meisten Linux-Systemen.
Die Shell läuft im Terminal (Konsole), das ist ein einfaches graphisches User Interface (GUI), also eine Möglichkeit, um als Anwender (User) mit dem Betriebssystem (hier: Linux) zu kommunizieren. Die eigentliche Verwendung geschieht kommandozeilenbasiert, d.h. der User schreibt Befehle in das Fenster.
Die Bash (Bourne-again-shell ist eine Weiterentwicklung der Bourne-Shell). Daher gibt man auch zu Beginn eines Shellskripts (Programm das mittels Shell ausgeführt wird) #!/bin/bash für die bash an, was wir jedoch nicht benötigen werden. Denn wir lassen unsere Befehle hier alle direkt ausführen.

Es ist als normaler Anwender nicht notwendig die Shell zu benutzen. Wir lernen im Folgenden die Shell als zusätzliches tolles Werkzeug kennen.

Achtung: Das Betriebssystem Linux reagiert empfindlich auf Groß- und Kleinschreibung (case sensitiv), d.h. MeineDatei.odt ist eine andere Datei als meinedatei.odt und der Befehl ls kann nicht als Ls geschrieben werden.

Wenn die Shell keine Fehlermeldung ausgibt, hat funktioniert, was man getan hat.

Das Terminal in dem die Shell ausgeführt wird, reagiert nur bedingt auf die Maus. Man muss sich mit dem Cursor an die Stelle bewegen, an die man möchte.

Tab für das Autovervollständigen verwenden. Beispielsweise kann man statt "Schreibtisch" nur "Schr" eingeben und dann die Tabtaste bestätigen. Gibt es mehrere Ordner mit diesem Beginn, so muss man mehr eingeben bis es eindeutig ist.
Cursor (hoch/runter) zum Scrollen durch die Befehle verwenden. Das geht sogar noch, nachdem man die Shell zu gemacht hatte.
Strg Shift Cursor(hoch/runter) zum Blättern
Strg Shift c zum Kopieren und Strg Shift V zum Einfügen
history zeigt zuvor verwendete Shellbefehle an.
Strg r durchsuchen der History der Shell
Strg c bricht Programm ab und schließt die Shell
Strg Alt F1 oder mit(F2, ...) um eine weitere Shell zu öffnen
Strg Alt F7 geht zurück zur Gui

Da es viele Linux-Distributionen (Arten) gibt, kann man es nicht allgemein angeben.
Irgendwo haben Sie in der Regel jedoch ein Menü und dort z.B. den Unterpunkt Systemwerkzeuge. Dort finden Sie "Terminal". Das ist die GUI mit unserer Shell drin.

Beispielsweise unter Linux Mint:
Sorry, das Bild fehlt leider
Nach Doppelklick auf "Terminal" öffnet sich ein kleines Fenster. Darin können wir nun schreiben.

Das Programm, in dem die Shell läuft, ist bei jeder Linux-Distribution etwas anders und kann daher einen anderen Namen haben (Terminal, LXTerminal, o.ä.). Die Menüpunkte (soweit vorhanden) können etwas anders heißen und auch die Einstellungsmöglichkeiten sind unterschiedlich.

Tip: Notieren Sie sich die vorhanden Einstellungen bevor Sie diese ändern, so können Sie diese später wieder verwenden, falls Sie etwas ungewollt verstellen.

Auch bei Ihrem Terminal sollte es oben eine Menüleiste geben. Unter Bearbeiten ist der Menüpunkt Profileinstellungen (Linux Mint Cinnemon) oder Einstellungen (Lubuntu).
Bei Linux Mint befinden sich unter Profileinstellungen mehrere Reiter. Im Reiter Allgemein kann beispielsweise die Schriftgröße geändert werden. Im Reiter Farben haben Sie viele Möglichkeiten mit Farbeinstellungen herum zu spielen. Im Reiter Hintergrundtyp können Sie die Transparenz des Fensters einstellen, indem Sie den Regler verschieben.

Bei Lubuntu ist das Terminal LXTerminal ähnlich aufgebaut, aber die Einstellungsmöglichkeiten etwas geringer. Es befinden sich unter Einstellungen mehrere Reiter. Im Reiter Stil können Schriftgröße und Farben eingestellt werden, unter Darstellung kann beispielsweise die Fenstergröße geändert werden. Der Reiter Tastaturkürzel befindet sich hier ebenfalls direkt unter Einstellungen. Hier kann man sehen welche Tastenkombinationen man verwenden kann, um sich die Arbeit zu erleichtern.

Bei Linux Mint gibt es im Terminal den Menüpunkt Hilfe. Unter diesem ist der Menüpunkt "Inhalt". Hier können Sie weitere Einstellungsmöglichkeiten im Handbuch nachlesen. Eventuell gibt es das auch bei Ihrer Distribution.

Wenn man lange genug herum spielt, kann dann beispielsweise sowas bei raus kommen:
Sorry, das Bild fehlt leider
Mit weiterem Spielkram beschäftigen wir uns später.



Wir beschäftigen uns gleich zu Anfang mit den wichtigen Fragen des Lebens.

Wer bin ich eigentlich? Falls Sie sich mal bestätigen lassen wollen, wer Sie sind, können Sie who oder whoami (Who I am = wer bin ich) eingeben. Die Antwort ist ihr Benutzername.

Wo bin ich eigentlich? Diese Frage stellen wir, indem wir pwd (print working directory) eingeben. Die Antwort erhalten wir direkt im Terminalfenster unter dem, was wir geschrieben haben. In der Regel lautet die Antwort beim ersten Betreten der Shell /home/benutzername Statt benutzername steht bei Ihnen ihr Benutzername. Sie wissen nun, dass Sie in ihrem Homeverzeichnis sind und wer Sie sind.

Die Verzeichnisstruktur in Linux ist etwas anders als in Windows. Es gibt keine Laufwerksbuchstaben. Alles wird wie eine Datei verstanden, z.B. auch eine externe Festplatte, die ich eingehängt habe.
Der Verzeichnisbaum beginnt am Wurzelverzeichnis (root) / .

Der Verzeichnisbaum (Das müssen Sie sich nicht merken!):
/ = Wurzelverzeichnis. Von hier aus entspringen die weiteren Verzeichnisse mit deren Unterverzeichnissen:
/bin = Von i.d.R. allen Usern ausführbare Dateien (Programme= binaries), die Linux für den Systemstart benötigt
/boot = Dateien, die für den Systemstart benötigt werden (EFI, Bootloader)
/dev = Devices (= Geräte)
/etc = Konfigurations- und Systemeinstellungen
/home = Benutzerdateien: Jeder User hat sein eigenes Homeverzeichnis, das wie sein Benutzername heißt und unter dem Verzeichnis /home liegt.
/lib = Bibliotheken, die vom System bzw. Programmen benötigt werden
/media = Speichermedien, wie CDs, USB-Sticks, ...
/mnt = mount für temporär eingehängte Partitionen (also normalerweise leer)
/proc = Laufende Prozesse
/root = Dies ist das Homeverzeichnis von root. Es liegt nicht bei den anderen Homeverzeichnissen, falls es mal Probleme dort gibt (z.B. Wartung). Er startet also an der Wurzel.
/sbin = Binärdateien, die nur für den Superuser verfügbar sind
/srv = Services, d.h. Dienste
/sys = Systemdateien
/tmp = temporäres Verzeichnis, das i.d.R. nach festem Zeitplan automatisch gelöscht wird. Oft können mehrere User darauf zugreifen.
/usr = Enthält die meisten Systemtools, Bibliotheken und installierten Programme
/var = Weitere Dateien mit Zusatzinformation

Auf welchem Rechner bin ich eigentlich? Tippe hostname ein. Es erscheint der Name ihres Rechners.

Wir schauen wieder zuerst wo wir sind. Also pwd eingeben. Sollte bei Ihnen nicht /home/IhrBenutzername stehen, dann geben Sie bitte cd ein. Dadurch gelangen Sie in Ihr Homeverzeichnis.
Sollten Sie sich mal in der Shell verirren, kommen Sie mit cd immer wieder nachhause.
Von dem Befehl cd (cd = change directory oder wechsle das Verzeichnis) gibt es viele Varianten, die alle mit der Bewegung im Dateiverzeichnis zu tun haben.
cd .. geht ein Verzeichnis hoch
cd - geht ins vorherige Verzeichnis
cd geht ins Homeverzeichnis
cd ~ geht ebenfalls ins Homeverzeichnis (Die ~ bekommt man mit Hilfe der Taste AltGr)
cd / geht ins Wurzelverzeichnis
cd. geht über absoluten Pfad, den ich nach dem Punkt angebe
cd Verzeichnisname wechselt in das genannte Verzeichnis, wenn es in dem verzeichnis liegt, in dem ich gerade bin.

Wir wollen nun in diesem Verzeichnis einen Ordner anlegen. Hierfür geben wir mkdir und den Ordnernamen ein. Z. B. mkdir Testordner legt den Ordner mit dem Namen Testordner an.
Woran sehen wir nun, dass es geklappt hat? Mit dem Befehl ls können Sie sich anzeigen lassen, was alles in dem Verzeichnis liegt, in dem Sie gerade sind. Geben Sie also ls ein. Im Eingabefenster sollten nun mehrere Einträge sein, unter anderem Testordner.
Zu vielen Befehlen gibt es Parameter, diese verfeinern sozusagen den Befehl. So gibt ls -al auch versteckte Dateien an (-a) und zwar in Langform (-l). Will man eine Verzeichnisstruktur angezeigt bekommen, so kann man ls -R eingeben.

Wie kommen wir nun da rein? Geben Sie cd Testordner ein. Nun sind Sie in dem Ordner. Zum Überprüfen geben Sie pwd ein. Eine Textdatei legen wir mittels touch an. Geben Sie touch Test.txt ein. Zum Überprüfen geben Sie wieder ls ein.

Wir wollen den Testordner nun aber gerne direkt auf dem Schreibtisch (oder Desktop) liegen haben. Dazu müssen wir aus dem Ordner raus gehen. Wir gehen eine Ebene nach oben, indem wir cd .. eingeben. Wieder ls und es wird wieder alles im Homeverzeichnis angezeigt, unter anderem also auch unser Testordner.
Verschieben können wir diesen nun (inklusive der Datei, die wir darin haben), indem wir mv (move) eingeben und angeben von wo (dazwischen Leertaste) nach wo verschoben werden soll. Wir geben also mv ~/Testordner /home/IhrBenutzername/Schreibtisch/ ein.
Was macht denn die ~ in dem Befehl? Sie zeigt an, dass wir im Homeverzeichnis starten. Hat das Verschieben denn nun geklappt? Sie können mittels cd Schreibtisch (oder Desktop) in den Ordner Schreibtisch wechseln und mit ls erfahren Sie was dort vorhanden ist. Außerdem können Sie direkt auf ihrem Schreibtisch nachsehen, ob dort der Testordner ist und ob darin die Datei Test.txt liegt.
Mit dem Befehl mv ist es außerdem möglich eine Datei umzubenennen. Wir prüfen, ob wir uns in dem Verzeichnis befinden, in dem die Datei liegt. Dort geben wir mv Dateiname Neuer Dateiname ein

Nun wollen wir eine Datei oder ein Verzeichnis kopieren. Mit Verzeichnis ist ein Ordner gemeint, in dem sich andere Ordner und Dateien befinden könnte. Hierfür benötigen wir den Befehl cp (=copy), also cp JetzigerOrdner Zielordner . Prüfen Sie bitte, ob Sie sich dem richtigen Verzeichnis befinden, indem Sie mittels ls nachsehen, ob der Ordner Testordner vorhanden ist. Diesen Ordner kopieren wir nun mit allem, was sich darin befindet. Geben Sie hierfür folgendes ein cp -r /home/IhrBenutzername/Schreibtisch/Testordner /home/IhrBenutzername/ Nun kopieren wir die Datei Test.txt in ihr Homeverzeichnis.
cp /home/IhrBenutzername/Schreibtisch/Testordner/Test.txt /home/IhrBenutzername/

Dem Befehl cp können Parameter mitgegeben werden.
cp -r bewirkt, dass alle Ordner und Unterordner inkl. Dateien kopiert werden.
cp -vr zeigt an, was gerade geschieht, während, wie eben, kopiert wird.
cp -n verhindert, dass eine Datei durch das Kopieren einer anderen Datei überschrieben werden würde.
cp -i Wir müssen hier erst bestätigen, falls eine Datei durch das Kopieren einer anderen Datei überschrieben werden würde.
cp -u Die Datei wird nur dann kopiert, wenn sich eine ältere Version davon im Zielordner befindet.

Wir können auch Dateien und Ordner löschen. Dies geschieht mit dem Befehl rm (=remove).
Achtung, es wird wirklich gelöscht und nicht in den Papierkorb verschoben. Achten Sie unbedingt darauf, ob Sie wirklich im richtigen Verzeichnis sind. Wir haben unseren Ordnern und Dateien den Namensbestandteil Test gegeben, damit wir sofort sehen, dass diese auch gefahrlos wieder gelöscht werden können. Wir wollen jetzt die Test.txt, die wir gerade kopiert haben, wieder löschen.
rm /home/IhrBenutzername/Test.txt
Befinden wir uns bereits in dem Ordner, in dem die Datei liegt, so reicht rm Dateiname aus

Dem Befehl rm können Parameter mitgegeben werden.

rm -r bewirkt, dass alle Ordner und Unterordner inkl. Dateien gelöscht werden.
rm -vr zeigt an, was gerade geschieht, während, wie eben, gelöscht wird.
rm -ri Wir müssen hier bei jedem Löschen erst bestätigen, dass wirklich gelöscht werden soll.

Wir gehen in die Shell und geben pwd ein. Sie sollten im Ordner Schreibtisch (oder Desktop) sein. Falls nicht, so gelangen Sie dort hin mittels cd ~ und im nächsten Schritt cd Schreibtisch (oder cd Desktop). Jetzt wechseln wir in den Ordner Testordner mittels cd Testordner. Nun lassen wir uns mit ls die Datei Test.txt anzeigen.
Es ist auch möglich Inhalt direkt in eine Datei schreiben zu lassen, die es noch nicht gibt. Geben Sie hierfür date > textfile.txt ein. Auch hierbei wird eine Datei angelegt. Es wird außerdem das aktuelle Datum mit Uhrzeit hineingeschrieben.

Verwendet man >> statt > , so wird es ans Ende in eine Datei geschrieben ohne den Inhalt dort zu überschreiben.

Manchmal suchen wir eine Datei oder einen Ordner, wissen aber weder genau wo sie liegt noch den genauen Namen. Mit dem Befehl find können wir sie suchen.

find / Test.txt sucht die Datei überall (Das kann eine Weile dauern, es läuft viel Text durch das Terminal)
find Test.txt sucht die Datei Test.txt im aktuellen Verzeichnis.
find ~ Test.txt sucht die Datei in Ihrem Homeverzeichnis.
find /Schreibtisch/Testordner Test.txt sucht die Datei in dem Verzeichnis Schreibtisch und im Verzeichnis Testordner
Wenn wir nicht mehr den genauen Namen kennen, können wir sogenannte Wildcards verwenden.
* steht für beliebig viele Zeichen
? steht für genau ein Zeichen

Wir benötigen zum Suchen außerdem die Parameter -name oder -inname .
-name für Suche nach den genauen Datei oder Verzeichnisnamen
-iname für Suche nach dem den Datei- oder Verzeichnisnamen ohne Groß- oder Kleinschreibung zu beachten.

this.classLi Beispielsweise sucht find -iname Tes* alle Dateien und Verzeichnisse, deren Name mit Tes beginnen und beliebig viele weitere Zeichen haben. Es wird die Groß- und Kleinschreibung ignoriert.

Programme können wir mittels whereis finden. Versuchen Sie es mal, mit einem der Programm, die Sie auf Ihrem Rechner installiert haben (z.B. Firefox, LibreOffice). Sie scheinen auf ihrem (Schreibtisch) Desktop zu liegen. Oft ist das aber nur eine Verknüpfung und das Programm selbst liegt woanders. Versuchen Sie beispielsweise whereis firefox. Es wird Ihnen der Pfad angezeigt, wo das gesuchte Programm liegt.

Befehlsname -h bzw. -help für kürzere Hilfe
info Befehlsname gibt etwas ausführlichere Info
whatis Befehlsname gibt an was der Befehl macht
apropos Befehlsname erklärt kurz den Befehl

Ausführliche Infomationen zu den Shellbefehlen finden Sie im Manual. Das können Sie direkt in der Shell öffnen, indem Sie man Befehlsname eingeben.

Das Manual:
man man gibt Info zu Optionen für man aus: Oberfläche für die Online-Referenzhandbücher
man 1 oder (2,...) Befehlsname zeigt Kapitel 1 (2,...) zum Befehl an. Beispielsweise man 1 time zeigt das erste Kapitel zum time Befehl an.
/Suchbegriff zum suchen im Manual
n und p zum Blättern im Manual
q um das Manual zu verlassen



In der Linuxwelt wird auch die Systemadministration oft mittels Shell erledigt. Hierzu gehört das Installieren und Deinstallieren von Software (Programme). Aber auch die Rechtevergabe, also das Festlegen wer in einem Verzeichnis oder einer Datei was tun darf.

Info Rechtevergabe:
Wir lassen uns mittels ls -al alle Dateien und Verzeichnisse in Langform anzeigen. Das sieht nun etwas kryptisch aus. Bei den folgenden Beispielen ist es bunt eingefärbt und das sieht bei Ihnen farblich wahrscheinlich ganz anders aus. Lassen Sie sich davon nicht irritieren.

Wir erhalten beispielsweise folgendes für einen Ordner:
Sorry, das Bild fehlt leider
Da es mit einem d beginnt, handelt es sich um ein Verzeichnis. Dann folgen die Rechte, der Autor, Datum, Uhrzeit und der Dateiname. Mein Benutzername ist sonja, da ich die Dateien erstellt habe, bin ich auch der Autor.

Wir erhalten beispithis.classLielsweise folgendes für eine Datei:
Sorry, das Bild fehlt leider
Der Eintrag ist analog aufgebaut, nur dass am Anfang kein d steht, daher wissen wir, dass es sich um eine Datei handelt.

Auch ausführbare Programme sehen aus wie Dateien:
Sorry, das Bild fehlt leider

Sollte ein l am Anfang stehen, so bedeutet dies, dass es ein Link ist:
Sorry, das Bild fehlt leider

Aber was bedeutet denn das Rudel aus r,w,x, - ? Erwischt, ja nun wird es doch etwas komplizierter. Mit diesen Buchstaben werden Nutzerrechte (= Userrechte) angegeben. Auch wenn man es nicht sieht, handelt es sich eigentlich um 3 Blöcke. Der erste nennt die Owner-/Userrechter (u), der zweite Gruppenrechte (g) und der Dritte die Rechte aller anderen Nutzer (o).

Diese Blöcke bestehen aus Leserecht (read), Schreibrecht (write) und Ausführungsrecht (execute). Steht statt eines der Zeichen dort ein "-", so ist dieses Recht nicht erteilt.
Manchmal versteckt sich hier drin auch ein s. Das ist das Superuserbit.So können Sie herausfinden, wo ein Superuserbit (=Stickybit) gesetzt ist:
find -perm /ug=s -ls
-perm ist ein Parameter bei find, der „permission“ (Rechte) anzeigt; er braucht als Ergänzung den Mode. Hier ist dieser /m.
/ wird verwendet, um Rechte zu suchen
ug =t s für das Superuserbit (stickybit) in User- und in Grupperechten suchen, -ls ist hier der Parameter zum suchen

=> Es werden alle Dateien angezeigt, bei denen ein Stickybit gesetzt ist.

Ein User, der das s in den Rechten hat, kann mit effektiver statt realer UID (User Id) oder GID (Gruppen Id) das Programmausführen. Das bedeutet, dass er, obwohl er kein Superuser ist, von diesem Programm so behandelt als sei er Superuser.


Wie ändern wir nun die Userrechte einer Datei oder eines Verzeichnisses?b>
Neben dem Dezimalsystem, das wir alle aus der Schule kennen, gibt es weitere Zahlensysteme, die in der Informatik gebräuchlich sind. Ein Umrechner aus dem Internet habe ich in den Quellen angegeben.

Zugriffsrechte werden auch mittels dreistelliger Oktalzahl angegeben:
0 = Nichts
1 = Ausführen
2 = Schreiben
3 = Schreiben und Ausführen
4 = Lesen
5 = Lesen und Ausführen
6 = Lesen und Schreiben
7 = Alles

Wenn alle Rechte gesetzt sind, also 111 (binär) ist es 7 (oktal). Wenn alle gesetzt sind, also 777, wenn alle 3 Blöcke alle Rechte enthalten.
Beispielsweise werden mit dem Befehl sudo chmod 664 Dateiname Lese- und Schreibrecht für den Besitzer der Datei und seine Gruppe agesetzt; alle anderen können nur lesen.

sudo chmod +x Dateiname bzw. Verzeichnisname setzt für Alle das Ausführungsrecht
+ = Rechte hinzufügen
- = Rechte entfernen

Man kann die Rechte auch als 3stellige Zahl ausrücken. Im Binärsystem entscheidet die Position der 1 (1= Recht gesetzt):
r = 100
w = 010
x = 001

r w x Oktal In Worten
0 0 0 0 kein Recht
0 0 1 1 Ausführen
0 1 0 2 Schreiben
0 1 1 3 Schreiben und Ausführen
1 0 0 4 Lesen
1 0 1 5 Lesen und Ausführen
1 1 0 6 Lesen und Schreiben
1 1 1 7 Alle Rechte

Wären alle Rechte gesetzt, ergäbe sich 111, wären nur das Lese- und das Schreibrecht gesetzt, ergäbe sich 110.
Haben wir beispielsweise: rwxrw-r-- , so bedeutet es, dass derjenige mit Owner-Recht (u) alles darf (rwx =111). Wer nur Gruppenrechte hat, darf Lesen und schreiben (rw- =110) und alle anderen Nutzer dürfen nur lesen (r- - =100). In Binäre ist das dann 111110100.

Owner (Eigentümer)Group (Gruppe)Sonstige
111110100



Was macht mein Rechner eigentlich grade so? Der Befehl ps zeigt alle laufenden Prozesse in Langform (-l) an und pstree zeigt diese in Baumstruktur an.

Einige Parameter zur Prozessanzeige:
pstree -c zeigt Prozesse als Baumstruktur in Kompaktansicht (-c) an
pstree -h hebt man aktuellen Prozess hervor
pstree -s zeigt Elternprozesse an.
ps -l gibt momentan laufende Prozesse in Langform ("-l") aus
ps aux listet Prozesse mit ihrem Status auf
top gibt Prozesstabelle aus, in der laufende Prozesse angezeigt werden. Das kann man mit :q beenden
pidof Prozessname zeigt die Prozessid an

Prozesse können verschiedene Zustände haben:
runnig = Der Prozess läuft gerade.
sleep = Prozess wartet auf I/O.
uninterruptible sleep = Wie sleep, aber man kann diesen nur mit Reboot beenden oder indem man wartet bis Prozess passiert, worauf der wartet und er weiter läuft.
wait = Er wartet grade
trace = Prozess verfolgen
ready = Er ist nun bereit, um ausgeführt zu werden.
zombie = Der Prozess ist beendet, aber der Elternprozess hat es noch nicht registriert, daher ist der Prozees noch da, tut aber nichts mehr.
dead = Er ist fertig und wurde beendet.

uptime zeigt an, wie spät es gerade ist und welche User wie lange da sind.
w zeigt an wlecher User gerade was von wo aus tut
Manchmal muss man vor den Befehl sudo schreiben, da man in einigen Verzeichnissen Superuserrechte benötigt. sudo du -sh / (disk usage) zeigt den belegten Speicherplatz auf der Festplatte für das gesamte System an. sudo du -sh ./ gibt von dem Verzeichnis aus, in dem man ist, die Festplattenbelegung als Zusammenfassung -s aus und -h verwandelt die Ausgabe in Einheiten, z.B. 5,6GB
df -h liefert eine Dateisystemfestplattenanzeige (Gesamtgröße, Einheiten und in % genutzt, externe Pfade)
df -hl zeigt nur für das lokale Dateisystem den freien Speicherplatz an
sudo mount -t liefert eine Liste der aktivierten Dateisysteme (z.B. Partitionen, weitere Festplatten oder USBSticks) mit Typangabe (-t).

Mit entspechenden Parametern kann man auch Dateisysteme umhängen. Man sollte aber wissen was man tut.
Mittels sudo mount -o remount,rw / => Root-Verzeichnis im Read/Write Modus (rw) neu einzuhängen. Das braucht man, wenn Linux im Recovery Mode gebootet wurde, damit dann auch "write" geht. So kann man dann Fehler beheben.
vmstat zeigt virtuelle Speicherstatistiken an.
iostat zeigt CPU - Statistik, sowie Statistik für Devices und Partitionen an.

Es ist auch möglich mittels Shell Software (Programme) zu installieren.

Normalerweise wird dies jedoch über die Paketverwaltung gemacht, da dies einfacher ist. Kleinere Programme installieren wir im Abschnitt Fun direkt mittels Shell. Der Befehl wird folgendermaßen aufgebaut (z.B. Debian, Ubuntu und deren Derivate):
sudo apt install Programmname

Für einige Befehle müssen wir Superuser sein oder den Befehlen ein sudo voranstellen.
sudo (Superuser do) bedeutet, dass man etwas als Superuser (auch root genannt) tut. Hierbei handelt es sich um Eingriffe, die normalerweise nicht jeder Nutzer ausführen können soll. Es wird daher in der Regel ein Passwort verlangt.
Bitte tun Sie als Sudo nur Dinge, die Sie verstehen, Sie können in dieser Rolle Ihr System schädigen.
Der Befehl apt ermöglicht die Installation und Deinstallation von Paketen und Anzeige von Informationen zu diesen.
install installiert Software
deinstall deinstalliert (entfernt) Software


Beispiel zum Erstellen einer Iso-Datei am Beispiel Ubuntu (in anderen Distributionen kann es Abweichungen geben):

sudo dd if=/dev/sr0 of=/home/username/image_name.iso bs=1M status=progress
Erklärung:
dd => kopiert Daten direkt sektor- oder blockweise
if=/dev/sr0 => inputfile mit Pfadangabe, d.h. Angabe woher wir die Daten holen. Hier heisst das DVD-Laufwerk sr0 und liegt in dev.
of => outputfile mit Pfad, d.h. wir geben an wohin wir die Daten schreiben.
bs=1M => Blocksize (= Blockgröße) soll 1 MB groß sein.
status=progress => Fortschritt anzeigen, damit wir wissen, ob er noch arbeitet.

sudo sync => Nach den obigen Befehl ausführen, für den Fall, dass noch etwas im Puffer sein sollte, wird das hierdurch auch noch rüber geholt.



Da es viele sehr unterschiedliche Linuxdistributionen gibt, kann es sein, dass folgendes bei Ihnen nicht funktioniert. Sollte dies der Fall sein, prüfen Sie auf Eingabefehler, um diese auszuschließen.

Was Lustiges zum Üben:
Den Parameter -v (= verbose) haben wir schon kennen gelernt. Grob übersetzt, bedeutet dies „erzähl mir mehr“. Bei einigen Befehlen kann man auch mehrere v hintereinander verwenden.
Zuerst müssen wir aptitude installieren: sudo apt install aptitude
Wenn Sie aptitude moo eingeben, bekommen Sie die Antwort „In diesem Programm gibt es keine Easter Eggs“. Easter Eggs sind meist lustige Dinge, die Programmierer irgendwo im Programm verstecken.
Versuchen Sie nacheinander folgende Befehle. Wenn Sie sich Tipparbeit ersparen wollen, verwenden Sie die Cursortaste nach oben , um zu soeben eingegeben Befehl zurück zu kehren und ergänzen jeweils ein v.
aptitude -vv moo
aptitude -vvv moo
aptitude -vvvv moo
aptitude -vvvvv moo
aptitude -vvvvvv moo

Für Freunde des Films Matrix:
Sorry, das Bild fehlt leider
1) Installieren (Das muss man nur einmal machen) : sudo apt-get install cmatrix
2) Ausführen (jedes Mal, wenn man möchte): cmatrix
3) Beenden mit Strg-Taste und c

Für Feuerteufel:
Sorry, das Bild fehlt leider
1) Installieren: apt-get install libaa-bin
2) Ausführen: aafire
3) Beenden mit Strg-Taste und c



Quellen und weiterführende Links:
  1. wiki.ubuntuusers.de: Infos zur Shell
  2. heise.de: Shell Tips
  3. Shellbefehle
  4. wikbook.org: Linux Praxisbuch zur Shellprogrammierung
  5. openbook.rheinwerk-verlag.de: Shellprogrammierung
  6. www.tecmint.com: Spaßige Shellbefehle
  7. www.matheretter.de: Umrechnung Zahlensysteme