====== 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. vorhanden Dateien ohne Nachfrage | |''>> [Dateiname]'' | Hängt die Ausgabe an die 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. Der komplette Befehlssystax für einen Shellbefehl kann immer mit der Option # man [Befehlsname] aufgerufen werden. ==== Netzwerk & Co. ==== ^Befehl ^ Beschreibung^ |ifconfig | Listet die Netzwerkkonfiguration auf | |tcpdump | Listet 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 der superuser auf Debian und all seinen derivaten. 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). Dazu wird einfach for den jeweiligen Befehle ''sudo'' geschrieben. 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 -s