Auf der Konsole arbeiten und shell-Skripte

Über die Konsole bzw. die Shell kann man das Betriebssystem im Textmodus bedienen. Es wurden schon einige Befehle vorgestellt. Der Artikel Shell/Befehlsübersicht gibt einen Überblick über viele Befehle. Im Artikel Shell/Einführung findet man nochmal eine Einführung in die Benutzung.

Auf der 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 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

ifconfig

(von engl. interface configurator) kann man sich die Konfiguration der Netzwerkschnittstellen anzeigen lassen. Man erhält z. B. für die WLan-Karte die Ausgabe:

...
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.
...

Der Abschnitt inet Adresse zeigt die IP-Adresse an. Der Abschnitt Maske: die Subnetmask.

Mit Hilfe des Befehls

lspci

und

 lsusb 

erhält man Informationen über die verbauten PCI-Karten und USB-Anschlüsse.

Mit dem Befehl

dmesg

(von engl. driver message) 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

lsusb > ausgabe.txt 

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 cp. Um die Datei /etc/test.conf nach /home/douglasadams zu kopieren, gibt man

cp /etc/test.conf /home/douglasadams 

ein.

Will man ein ganzes Verzeichnis kopieren, muss man zusätzlich die Option -r (für rekursives Kopieren) verwenden.

cp -r /etc/apt /home/douglasadams 

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

cp /home/douglasadams/Downloads/*.jpg /home/douglasadams/Bilder 

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.

cp /home/douglasadams/Downloads/*42* /home/douglasadams/Bilder 

verwenden.

Dateien verschieben

Mit dem Befehl mv (von engl. move) kann man Dateien verschieben (ausschneiden und einfügen). Er wird ähnlich wie 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.

mv meine_datei.txt keine_*.txt
ls # es gibt jetzt eine Datei keine_*.txt

Dateien löschen

Mit rm kann man Dateien löschen. Um z. B. alle temporären Dateien und Verzeichnisse zu löschen gibt man in der Konsole

rm -r /tmp/*

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 mkdir (von engl. make directory) verwenden. Der Aufruf

mkdir /etc/test 

erzeugt das Verzeichnis test.

Der Artikel Shell/Befehlsübersicht zeigt viele weitere Befehle für die Konsole.

Diskussion

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