Grundlagen - Linux Shell
Die Linux Shell ist die Kommandozeile aller Linux Distributionen. Es gibt verschiedene Arten von Shells die für unterschiedliche Anwendungen und Anforderungen zugeschnitten sind. Die Standardshell von Linux ist die sogenannte “bash”, die “Bourne Again Shell”.
Pipes und Sonderzeichen
Eine detaillierte Beschreibung zu Pipes findet sich hier: http://tldp.org/HOWTO/Bash-Prog-Intro-HOWTO-3.html
Zeichen | Bedeutung |
---|---|
> [Dateiname] | Übergibt die Ausgabe an eine Textdatei und überschreibt ggf. vorhande Dateiinhalte ohne Nachfrage |
» [Dateiname] | Hängt die Ausgabe unten in der Datei an |
1> [Dateiname] | Leitet die Standardausgabe in eine Datei um (STDOUT) |
2> [Dateiname] | Leitet die Standard-Fehlerausgabe in eine Datei um (STDERR) |
< [Dateiname] | Gibt eine Textdatei in ein Programm ein |
| | Pipe: Leitet die Ausgabe eines Befehls in einen weiteren Befehl |
[Befehl] & | Führt den Befehl im Hintergrund aus und gibt die Konsole wieder frei |
Wichtige Befehle
Aus Übersichtlichkeitsgründen werden jeweils nur die Grundbefehle sowie deren Bedeutung aufgelistet. Die komplette Befehlssystax für einen Shell-Command kann immer mit der Option
# man [Befehlsname]
auf einem Linux-System nachgeschaut werden.
Netzwerk Tools
Im folgenden eine kleine Übersicht über wichtige Netzwerk-Tools:
Befehl | Beschreibung |
---|---|
ifconfig | Listet die Netzwerkkonfiguration auf |
tcpdump | Zeigt für ein Interface den gesamten Netzwerktraffic an |
arp | Zeigt für ein Interface die ARP-Tabellen an, die in lokalen Netzwerken IP-Adressen in MAC-Adressen auflösen |
traceroute | Zeigt die Route eines Datenpakets im Netzwerk an |
netstat
netstat ist ein wichtiges Tool um herauszufinden auf welchen Ports und auf welchen IP's der Server anfragen entgegennimmt. Das ist vor allem für die Konfiguration von Firewalls sehr wichtig. Um ganz einfach herauszufinden welche Ports offen sind gibt man den Befehl
# netstat -anop -4 -6
ein. Dies beachtet dann alle Sockets, auf alles Interfaces für IPv4 und IPv6.
sudo
Sudo ist das superuser-Binary auf Debian und all seinen verwanden Distributionen, mit welchem ein User Commands mit erhöhten Rechten ausführen kann.
Unter Ubuntu ist der Superuser in der Regel nicht aktiviert, so dass spezielle Befehle explizit als root ausgeführt werden müssen (ggf. muss das Paket “sudo” installiert werden).
Anschliessend kann man Superuser Operationen als normalen User einfach mit sudo
vor den jeweiligen Befehl als root ausführen.
sudo [Befehl]
Um den zu letzt eingegeben Befehl als root auszführen nutzt man einfach
sudo !!
Um dauerhaft auf die root-shell zu kommen braucht man
sudo -i