{{tag>linux}} ^Befehl ^Beschreibung ^ |ls|Auflisten von Verzeichnisinhalten \\ \\ ^Option ^Beschreibung ^ |-1|(minus 1) Pro Zeile wird ein Eintrag ausgegeben. \\ Sinnvoll wenn Scripte die Ausgabe verarbeiten sollen| |-d|Listet die Eigenschaften eines Verzeichnisses auf, statt den Inhalt. \\ \\ Syntax: ls -lsd Verzeichnisname \\ \\ Im Syntaxbeispiel wird auch die Option ls angegeben, weil sonst nur der Name des Verzeichnisses ausgegeben würde.\\ Würde man -d weglassen würde man Details zu den im Verzeichnis gespeicherten Dateien erhalten| | |ftp|Interaktiver FTP-Client \\ \\ Hinweis: Man kann keine Verzeichnisbäume/Verzeichnisse hochladen (unterstützt ftp nicht -> Client die das können legen die Verzeichnisse per mkdir auf dem FTP-Server an)| |wput|FTP-Uploader (Kommandozeilen-Freundlich) im Stil von wget \\ \\ Unterstützt das "Hochladen" von Verzeichnissen/Verzeichnisbäumen (er legt Verzeichnisse automatisch per FTP-mkdir an). \\ \\ Syntax: ''wput Optionen Verzeichnis/Datei/Wildcard ftp://username:password@systemname/directory/'' \\ \\ * Optionen: Optionen (siehe man-Page oder Tabelle unten) * Verzeichnis/Datei/Wildcard: Lokales Verzeichnis/Datei oder Wildcard (Zeichenkette mit Platzhaltern) welches hochgeladen werden soll. **Achtung:** Wird ein Verzeichnis angegeben, muss der Name mit / enden. Sonst kommt es zu Fehlermeldungen. * username: Benutzername für das Login auf dem Server * password: Passwort für das Login * systemname: Name des Systems auf das Hochgeladen werden soll (URL oder IP) * directory: Optional Verzeichnis unter dem die hochzuladenden Dateien/Verzeichniss abgelegt werden sol|len (das Verzeichnis muss bereits existieren). **Achtung:** Verzeichnisname muss mit / enden -> sonst gibt es Fehlermeldung das dort nichts abgelegt werden kann \\ \\ ^Option ^Beschreibung ^ |-u |**Option arbeitet teilweise unzuverlässig -> führt zu verstümmelten Dateien** \\ \\ Überschreibt auf Ziel vorhandene Dateien mit der lokalen Version| |--skip-existing|**Option arbeitet teilweise unzuverlässig -> nicht angeben; ist ohnehin das Standardverhalten** \\ \\ Ist die Datei remote bereits vorhanden, wird sie nicht noch mal hochgeladen (überschrieben)| | |expr|Expression - Verarbeitung von arythmetischen (Berechnungen) und logischen Ausdrücken (Gleich, Ungleich) \\ \\ Syntax: expr Ausdruck \\ \\ **Hinweis**: Bei Multiplikation kann in der Bash nicht einfach * genutzt werden, sondern muss \* genutzt werden (* muss escaped werden)| |apt-key|Hinzufügen/Entfernen von apt-Sschlüsseln \\ \\ Schlüssel werden benutzt um Pakete zu signieren und damit die Integrietät und Authentizität sicher zu stellen (Paket wurde nicht verändert und Paket kommt tatsächlich von der Quelle)| |dialog|Anzeigen von semi-graphischen Dialogen auf der Bash \\ \\ Die Darstellung findet auf der Bash statt (es ist kein X notwendig). \\ \\ Man kann damit Dialoge, Abfragen, Radio-Buttons, Edit-Boxen, Check-Boxen usw. auf der Shell ausgeben und die Auswahl in Scripten weiterverarbeiten.| |xmessage|Graphische Dialoge und Buttons aus Shellscripten heraus ausgeben \\ \\ Die Darstellung erfolgt hierbei über X, der Dialog lässt sich aber aus einem Shellscript heraus starten.| |getopts|Parst eine Zeichenkette die Optionen enthält - liefert die einzelnen Optionen und gegebenenfalls Parameter zurück. \\ \\ Beim programmieren von Shell-Scripten hat man das Problem das übergebene Optionen nur als gesamtes (alle Optionen zusammen) als Zeichenkette vorliegen und aufwendig durch das Script geparst werden müssen.\\ Getopts liefert pro Aufruf jeweils eine Option (-Buchstabe) und gegebenenfalls den Wert/Parameter der hinter der Option kommt (-g Test -> Test). \\ Beim nächsten Aufruf die nächste Option usw. \\ \\ \\ **Syntax**: getopts //Optionen// //ouput-variable// //input-variable// \\ \\ * **Optionen**: Die Buchstaben die als Optionen (-Buchstabe) zulässig sind, ohne Trennzeichen (hintereinander weg, ohne Komma oder Leerzeichen). Wird dahinter ein : angegeben, dann wird für diese Option ein Parameter erwartet (also -Buchstabe Parameter -> -g Test) * **output-variable**: In diese Variable wird die Option ohne führendes - geschrieben (eventuelle Parameter werden in die Variable $OPTARG geschrieben) * **input-variable**: Die Variable die alle Parameter als gesamten String enthält (bei Scripten wäre das $@) * **$OPTARG**: Die Variable enthält (falls vorhanden) Parameter die der Option übergeben wurden \\ \\ \\ **Beispiel:** \\ \\ Erwartet bzw. angegeben werden können die Parameter -g, -d und -f, f erwartet eine Datei als Parameter. \\ Der zu parametrisierende String ist $@ (alle Parameter die dem Script übergeben wurden), die Ausgabe soll in $parameter gespeichert werden. \\ \\ Syntax: getopts gf:d parameter $@ \\ \\ Parameter im Scriptaufruf: -f Test.txt -d \\ \\ Beim ersten Aufruf von getopts würde in $parameter "f" stehen und in $OPTARG Test.txt, beim zweiten Aufruf in $parameter "d" und in $OPTARG nichts.| |apt-cache| ^Befehl ^Erklärung ^ |show|Zeigt die Paketbeschreibung eines Paketes an \\ \\ Syntax: apt-cache show //Paketname//| |search|Sucht nach dem Paket mit dem Namen - Listet alle Pakete die den Begriff im Namen haben \\ \\ Syntax: apt-cache search //Paketname//| | |apt-get|Pakete installieren/deinstallieren und auflösen der Abhängigkeiten \\ \\ ^Option ^Beschreibung ^ |upgrade|Sicheres Updaten -> Pakete werden nicht upgedated wenn Pakete die in Abhängigkeit zu diesem stehen dazu deinstalliert werden müssten (sich der Zustand des abhängigen Paketes ändert) | |dist-upgrade|Erzwinge das Update auch wenn dafür der Paketzustand abhängiger Pakete geändert werden muss (zum Beispiel abhängige Pakete deinstalliert werden müssen um die Abhängigkeiten aufzulösen)| | |ssh-keygen|Generiert Schlüssel für ssh \\ \\ * Schlüssel für passwortloses Login \\ * Schlüssel für den Host \\ \\ Die Syntax für Benutzer- und Hostschlüssel sind die gleichen, nur der Ablageort muss unterschiedlich gewählt werden (System ist unter /etc/ssh)| |askpass|Graphischer Abfrage-Dialog für Passwörter| |gksudo|Graphische Eingabe für das sudo-Passwort. \\ \\ * Kann von Scripten aus benutzt werden, statt sudo. \\ * Bietet alle Optionen die auch sudo bietet \\ \\ Syntax: gksudo //Befehl// \\ \\ Befehl: Der auszuführende Befehl (so wie bei sudo) | |ssh|[[ssh|siehe ssh]]| |dumpcap|Ähnlich tcpdump -> protokolliert Netzwerkverkehr| |tcpdump|Netzwerk-Sniffer \\ \\ In meisten Distributionen vorinstalliert \\ \\ **Ring-Puffer:** \\ tcpdump -i eth1 -s 65535 -C 200M -w /tmp/some.pcap -W 10 "port 5060" \\ \\ * -C 200 -> Schreibe 200 MB pro Datei * -W 10 Schreibe 10 Dateien -> wenn 10. voll ist, überschreibe die 1. | |tshark|Netzwerk-Sniffer ähnlich tcpdump - mit Ausgabefilter \\ \\ * tshark kann wie tcpdump pcap-Files aufzeichnen \\ * Kann pcap-Dateien einlesen \\ * Kann neben Aufzeichnungsfiltern auch Ausgabefilter -> sinnvoll wenn man vorhandene pcap-Dateien filtern will \\ \\ [[tshark|Eigener Artiekl im Wiki]]| |ngrep|Network-Grep \\ \\ * sucht im Netzwerkverkehr nach einem bestimmten String| |nmap|siehe [[nmap]]| |at|Führt ein Script oder Befehl einmal zu einer bestimmten Zeit aus. \\ \\ Merke: @ bzw. at a time -> zu einer bestimmten Zeit \\ \\ Ein bestimmter Befehl oder ein Script wird einmalig ausgeführt zu einer definierten Zeit, danach nicht mehr. \\ Sozusagen ein Einmal-Cron. \\ \\ Syntax: //Befehl// %%|%% at //Zeitangabe// \\ \\ Syntax: at //Zeitangabe// -f //Script// \\ \\ Alternativ kann man auch at //Zeitangabe// -> Enter machen und dann den Befehl eingeben -> da geht nur interaktiv \\ \\ **Zeitangabe:**Gibt es verschiedene, siehe /usr/share/doc/at/timespec. Unter anderem ist relative Zeit möglich \\now +5 days\\ oder //now +3 minutes// oder zu bestimmten Zeiten \\12:55\\ \\ \\ **Dienstprogramme:** \\ \\ * atq -> Zeige an zu welchen Zeiten at Befehle ausführt * atr -> Lösche einen Job | |beep|Gibt einen Ton über den Systemlautsprecher aus \\ \\ * Länge kann angegeben werden \\ * Frequenz kann angegeben werden \\ \\ **Hinweis:** Eventuell funktioniert es nur wenn das Device angegeben wird -> -e //Devicename//. \\ //Devicename// ist meist /dev/dsp -> beep -e //Devicename//| |mii-tool|Tool zum Auslesen/Setzen der Geschwindigkeit einer Netzwerkkarte/der Autonegotiation \\ \\ Setzen scheint nicht mit allen Netzwerkkarten zu funktionieren. \\ Gegebenfalls ethtool benutzen| |ethtool|Setzen/Auslesen diverser Einstellungen der Netzwerkkarte. \\ \\ Ermöglicht u.a. das setzen der Geschwindigkeit und Ändern der Autonegotiation-Einstellungen der Netzwerkkarte (Autonegotiation An/Aus, Geschwindigkeiten/Duplexe die angeboten werden)| |ld|Dynamic Linker| |ldd|Zeigt die von einem Programm genutzten Bibliotheken an| |ldconfig|Verwaltet den Bibliotheks-Cache. \\ \\ Verzeichnisse in denen nach Bbibliotheken gesucht wird stehen unter /etc/ldconfig.so.conf bzw. /etc/ldconfig.so.conf.d| |fsarchiver|Backup-Programm für komplette Partitionen. \\ \\ Unterstützt Komprimierung, viele Dateisysteme (u.a. auch ext4), das Wiederherstellen auf anderen Dateisystemen als das Original, Wiederherstellung auf kleineren und größeren Partitionen als dem Original. \\ \\ Es arbeitet auf Datei-Ebene, im Gegensatz zu partimage (Blockebene) oder dd (Bit-Ebene). \\ Es sichert die Dateien, dazugehörige Dateisystemattribute und Partitionseigenschaften. \\ \\ Nicht gesichert werden Blpcke die nicht zu Dateien gehören ^Task ^Beschreibung ^ |Partition sichern|fsarchiver savefs //Zieldatei// //Device-Datei//| |Partition wiederherstellen|fsarchiver restdir //Quell-Datei// //Device-Datei//| | |pidof|Gibt die PID eines Prozesses zurück \\ \\ Syntax: pidof //Prozessname// | |iw|Ersetzt iwconfig in neueren Distributionen - Tool zum konfigurieren der Wlan-Interfaces| |dpkg|Programm zum Installieren/De-Installieren und Verwalten von Debian-Paketen (.deb) \\ \\ |