A PCRE internal error occured. This might be caused by a faulty plugin

======Auf der Konsole arbeiten und shell-Skripte====== {{wiki:icons:tango:apps:utilities-terminal.png?45 }} Über die Konsole bzw. die [[uu>Shell]] kann man das Betriebssystem im Textmodus bedienen. Es wurden schon einige Befehle vorgestellt. Der Artikel [[uu>Shell/Befehlsübersicht]] gibt einen Überblick über viele Befehle. Im Artikel [[uu>Shell/Einführung]] findet man nochmal eine Einführung in die Benutzung. Auf der [[uu>Shell]] kann man auch programmieren. Sie stellt alle Konstrukte, wie if-Verzweigungen, Schleifen, Variablen und vieles mehr zur Verfügung. So ist es möglich, immer wieder kehrende Aufgaben zu automatisieren. Im einfachsten Fall notiert man die Befehle in einer Datei, die, mit den Ausführungsrechten versehen, dann ausgeführt werden kann. In Netzwerken ist dies unverzichtbar, wenn man z. B. eine Einstellung auf mehreren Rechnern durchführen möchte. Der Artikel [[uu>Shell/Bash-Skripting-Guide_für_Anfänger]] führt in dieses Thema ein. ===== Informationen anzeigen ===== Über die Shell kann man sich alle Informationen des Systems anzeigen lassen. Mit dem Befehl <code terminal>ifconfig </code> (von engl. //__i__nter__f__ace __config__urator//) kann man sich die Konfiguration der Netzwerkschnittstellen anzeigen lassen. Man erhält z. B. für die WLan-Karte die Ausgabe: <code> ... wlan0 Link encap:Ethernet Hardware Adresse 00:17:af:2f:67:65 inet Adresse:192.168.178.23 Bcast:192.168.178.255 Maske:255.255.255. ... </code> Der Abschnitt ''inet Adresse'' zeigt die IP-Adresse an. Der Abschnitt ''Maske:'' die [[netzwerk:netzwerk_uebersicht|Subnetmask]]. Mit Hilfe des Befehls <code terminal>lspci</code> und <code terminal> lsusb </code> erhält man Informationen über die verbauten PCI-Karten und USB-Anschlüsse. Mit dem Befehl <code terminal>dmesg</code> (von engl. //__d__river __mes__sage//) kann man sich Informationen über den Treiber-Status ausgeben lassen. ===== Ausgaben umleiten ===== Mit Hilfe des ">"-Zeichen kann man die Informationen auch direkt in eine Datei schreiben. Z. B. wird mit <code terminal>lsusb > ausgabe.txt </code> die Ausgabe von ''lsusb'' in die Datei //ausgabe.txt// (im aktuellen Verzeichnis) geschrieben und nicht auf der Konsole ausgegeben. Verwendet man ">>" statt ">" wird der neue Inhalt an den alten Inhalt der Datei angehängt. ===== Mit Dateien und Verzeichnissen arbeiten ===== ====Dateien kopieren==== Um eine Datei zu kopieren, verwendet man den Befehl [[uu>cp|cp]]. Um die Datei ///etc/test.conf// nach ///home/douglasadams// zu kopieren, gibt man <code terminal>cp /etc/test.conf /home/douglasadams </code> ein. Will man ein ganzes Verzeichnis kopieren, muss man zusätzlich die Option //-r// (für rekursives Kopieren) verwenden. <code terminal>cp -r /etc/apt /home/douglasadams </code> ====Wildcards==== Man kann auch sog. //Wildcards// ("Platzhalter") verwenden. Will man z. B. alle jpg-Bilder aus dem Ordner "/home/douglasadams/Downloads" nach "/home/douglasadams/Bilder" kopieren, reicht der Befehl <code terminal>cp /home/douglasadams/Downloads/*.jpg /home/douglasadams/Bilder </code> aus. Dateien mit einer anderen Dateiendung werden nicht verschoben. Die Wildcards kann man an jeder Stelle platzieren. Um alle Dateien, in denen irgendwo die Zahl 42 im Dateinamen vorkommt zu kopieren, kann man z. B. <code terminal>cp /home/douglasadams/Downloads/*42* /home/douglasadams/Bilder </code> verwenden. ====Dateien verschieben==== Mit dem Befehl [[uu>mv|mv]] (von engl. //__m__o__v__e//) kann man Dateien verschieben (ausschneiden und einfügen). Er wird ähnlich wie [[uu>cp]] verwendet. ====mv und Wildcards==== Wildcards werden von der Shell vor der eigentlichen Ausführung des Befehls zu den passenden Dateinamen erweitert. Der Befehl selbst bekommt sie nicht zu Gesicht, das heißt nur, wenn es keine passenden Dateien gibt. <code terminal>mv meine_datei.txt keine_*.txt ls # es gibt jetzt eine Datei keine_*.txt </code> ====Dateien löschen=== Mit [[uu>rm]] kann man Dateien löschen. Um z. B. alle temporären Dateien und Verzeichnisse zu löschen gibt man in der Konsole <code terminal>rm -r /tmp/*</code> ein. Die Option //-r// sorgt dafür, dass auch die Unterverzeichnisse gelöscht werden (rekursives Löschen), die Wildcard (*) dafür, dass alles im Verzeichnis ///tmp// gelöscht wird. ====Verzeichnisse anlegen==== Um ein neues Verzeichnis anzulegen, kann man den Befehl [[uu>mkdir]] (von engl. //__m__a__k__e __dir__ectory//) verwenden. Der Aufruf <code terminal>mkdir /etc/test </code> erzeugt das Verzeichnis //test//. Der Artikel [[uu>Shell/Befehlsübersicht]] zeigt viele weitere Befehle für die Konsole.

Diskussion

Geben Sie Ihren Kommentar ein. Wiki-Syntax ist zugelassen:
249 +0 =᠎ ?
 
 
weiterfuehrend/konsole_und_shell_scripte.txt · Zuletzt geändert: 2012/10/29 11:11 von admin