Show pagesourceOld revisionsBacklinksBack to top × Table of Contents Kommandozeileninterpreter Start Netz Konfiguration Kopieren & Einfügen Numpad in PuTTY und Vi Befehle eingeben Dateien bearbeiten Skriptsprache Skripte ausführen Datei Manager Kommandozeileninterpreter Ein Kommandozeileninterpreter ist ein Computer Programm, welches gewöhnliche Texteingaben abfängt und sie im Kontext eines Betriebssystems einer Programmier- oder einer Skriptsprache interpretiert. Die Eingabe ist grundsätzlich Zeilen-basiert. Die Mensch-Maschine-Interaktion findet allein durch die Ein- und Ausgabe von “Kommandozeilen” statt. Häufig angetroffene Bezeichnungen sind Konsole oder Shell, auch wenn letzteres technisch nicht korrekt ist. Die default unix shell in OpenWrt ist der Busybox-fork der Debian Implementation der Almquist shell (siehe → Übersicht). Start Gegen Ende des Boot Prozesses wird der init daemon gestartet, das könnte init oder systemd oder upstart sein, OpenWrt benutzt zur Zeit procd. Der Init-Daemon startet gemäß den Skripten im Verzeichnis /etc/rd.d alle dort verzeichneten Programme, unter anderem auch die gewählte Shell. Sobald die Shell gestartet ist, läuft sie im Hintergrund und wartet auf Eingaben über die Tastatur und gibt auch ein mehr oder weniger buntes Bild auf dem Monitor aus. Aber die allermeiste Hardware, auf denen OpenWrt installiert ist, hat weder Tastatur noch Grafikkarte. Wir können die Shell also nur mit Hilfe eines PCs ansprechen. Diesen verbinden wir entweder lokal über die Serielle Schnittstelle oder über das Netz über einen Ethernet Port mit dem embedded Gerät. Netz Um über das Netz auf die Shell zuzugreifen benötigen wir offensichtlich zwei weiteres Programme: eines, welches auf dem PC läuft und die auf dem PC gemachten Eingaben, einem üblichen Netzwerkprotokoll gehorchend, über das Netzwerk schickt, und ein zweites, welches auf dem OpenWrt-Gerät läuft und die Daten vom ersten empfängt und sie an die Shell weiterleitet. Das erste Programm wird Klient genannt, das zweite Server oder auch Daemon. Netzwerkprotokolle der Wahl sind telnet und SSH. Beide folgen dem server ↔ client Schema. Als Server werden telnetd für das Telnet Protokoll und dropbear für das SSH Protokoll eingesetzt. Als Klienten können Sie PuTTY einsetzen, aber WinSCP ist auch empfehlenswert! Letzterer funktioniert mit dropbear nicht ganz 100%ig, aber Konqueror mit fish:// tut wunderbar! Zum Nachlesen siehe FISH (Files transferred over shell protocol). (OpenWrt beinhaltet auch einen SSH-client ssh und einen telnet-client telnet, für den Fall, dass man sich von OpenWrt aus, woanders einloggen möchte.) Note: Bevor firstlogin durchgeführt worden ist, ist nur telnetd verfügbar, danach ausschließlich dropbear. Im Fall eines erfolgreichen Logins, wird dropbear (LOGs generieren) und eine weitere Instanz der spezifizierten Shell aufrufen. Diese Shell gehört dem user und läuft mit seinen Rechten. Konfiguration In OpenWrt kann man z.B. in der Datei /etc/profile Umgebungsvariable and Aliase setzen. Man muss das natürlich nicht tun, denn OpenWrt kommt bereits fertig konfiguriert. Man könnte: die Prompt-Sequenz verändern. Unter POSIX konformen Betriebssystemen wird das mittels der variable PS1 erreicht, siehe →http://controlc.de/2010/03/12/bash-shell-einrichten/ you change the content of existent variables and can define new ones etc. Kopieren & Einfügen Wenn man sich mit PuTTY verbunden hat, wird mit der Maus markierter Text automatisch in die Zwischenablage kopiert, die bekannte Tastenkombination [Strg]+[C] ist also nicht notwendig und funktioniert denn auch nicht! Anschließend kann man Inhalte aus der Zwischenablage mit [Strg]+[V] wo einfügen, etwa in einem offenen Firefox. Umgekehrt würde man auf die gewöhnliche Art und Weise Text kopieren, etwa mit [Strg]+[C] und anschließend durch einmaliges drücken der [Rechten Maustaste] in PuTTY einfügen. Numpad in PuTTY und Vi Damit das gescheit läuft, muss man in PuTTY in “Terminal” ⇒ “Features” gehen und “Disable application keypad mode” anwählen. Befehle eingeben Für etwas Orientierung bezüglich der Verzeichnisstruktur, sollte der Artikel flash.layout sorgen. Nach dem Login befindet man sich grundsätzlich in seinem $HOME Verzeichnis, das ist /root für den Benutzer root und wäre /home/tristan für Benutzer tristan, usw. Befehle: Command Memorize Description pwd print working directory Gibt das aktuelle Verzeichnis samt Pfad aus cd change directory Wechselt in ein anderes Verzeichnis im Verzeichnisbaum cd .., cd /, cd /etc/init.d, cd /tmp ls list Gibt eine Liste mit den Dateien im aktuellen Verzeichnis aus, ls -l /etc cat concatenate Gibt den Inhalt einer Datei aus: cat /etc/config/network, cat /tmp/dhcp.leases cp copy erstellt eine Kopie der angegebenen Datei, cp network network.bak mv move erstellt eine Kopie der angegebenen Datei und löscht das Original, mv /tmp/opkg-lists/snapshots /mnt/sda1/opkg/packages df disk free Zeigt den verfügbaren Speicher an. Um mit der Ausgabe etwas anfangen zu können, lesen flash.layout free verfügbarer Arbeitsspeicher uptime Vergangene Zeit seit dem letzten Reboot dmesg Gibt den Inhalt des Kernel Ring Puffers aus logread Gibt den Inhalt des Ringpuffers an, den syslogd benutzt cat /proc/version cat /proc/meminfo detaillierte Arbeitsspeichernutzung cat /proc/cpuinfo Informationen über die CPU cat /proc/mtd cat /proc/partitions cat /proc/net/nf_conntrack cat /proc/cmdline cat /proc/modules http://nafoku.de/t/unix.htm Es gibt eine Unmenge an befehlszeilen Befehlen mit einer Vielfalt an Optionen. Auf einer “vollen” Linux Distribution würden Sie man befehl oder befehl --help eingeben, um die manpage zu dem Befehl angezeigt zu bekommen. OpenWrt ist jedoch minimalistisch und beinhaltet kein man. Im Bedarfsfall lesen Sie die man-Pages auf dem GNU/Linux host, auf dem Sie arbeiten, oder online: z.B. auf http://man.cx/. Man Pages befinden sich in einem steten Prozess in andere Sprachen übersetzt zu werden. Tip Im Firefox, können Sie sich keywords einrichten, um die Benutzung zu vereinfachen. Erstellen Sie ein neues Bookmark und setzen Sie http://man.cx/?page=%s als Adresse sowie man als Schlüsselwort ein. Dateien bearbeiten Um eine Datei zu bearbeiten benötigen Sie einen Editor, für Text-Dateien eigenen sich Texteditoren am besten Der beinhaltete Standard Texteditor ist vi. Bis man sich an vi gewöhnt, erscheint seine Bedienung weder intuitiv noch geschickt. vi hat zwei Modi: Befehlsmodus und Einfügemodus. um in den Befehlsmodus zu wechseln, drücken Sie einmal die [Esc] (Escape Taste) um in den Einfügemodus zu wechseln, drücken Sie entweder die Taste [i] (für insert) oder die Taste [a] (für append) vi startet im Befehlsmodus Vi starten Sie starten vi indem Sie vi oder vi /etc/config/network oder vi firewall.user eingeben. Bearbeiten Um die geladene Datei zu bearbeiten, müssen Sie im Einfügemodus sein. Drücken Sie [i] oder [a]. Vi beenden Um vi zu beenden, müssen Sie im Befehlsmodus sein. Drücke Sie zuerst [Esc] und geben anschließend einen Befehl ein: :w um die Datei aus dem Arbeitsspeicher auf den Flash zu schreiben, das würde die alte Datei überschreiben. :q um vi zu beenden, ohne zu speichern :wq! um das überschreiben der alten Datei zu erzwingen und anschließend Vi zu beenden :%s/Muster1/Muster2/g um Muster1 durch Muster2 in der ganzen Datei zu ersetzen Vi konfigurieren Vi kann im Befehlsmodus konfiguriert werden, indem gewissen Variablen gesetzt werden, z.B.: :set ai = automatische Zeileneinrückung EIN (default) :set noai = automatische Zeileneinrückung AUS Alternative Texteditoren Wenn Sie mit vi nicht klarkommen, probieren Sie joe, mg, nano, vim, vim-full oder zile. vim joe nano zile mg und es sind möglicherweise noch weitere Texteditoren in den OpenWrt repos verfügbar wenn Sie sich über WinSCP/Konqueror einloggen, können Sie die Dateien natürlich von Editoren auf ihrem PC berarbeiten Skriptsprache Jeder Kommandozeileninterpreter versteht Skriptsprache. Skripte ausführen Um ein Skript auszuführen, machen Sie die Datei zuerst ausführbar: chmod 755 file-name und rufen sie entweder mit dem Interpreter auf sh Dateiname oder geben den ganzen Pfad ein /etc/firewall.user wenn es nicht ausreicht, nur den Dateinahmen einzugeben. Datei Manager Vielleicht mögen Sie sich mit mc oder mit deco anfreunden. This website uses cookies. By using the website, you agree with storing cookies on your computer. Also you acknowledge that you have read and understand our Privacy Policy. If you do not agree leave the website.OKMore information about cookies Last modified: 2018/03/31 19:23by bobafetthotmail