Rheinwerk Computing < openbook > Rheinwerk Computing - Professionelle Bücher. Auch für Einsteiger.
Professionelle Bücher. Auch für Einsteiger.

Inhaltsverzeichnis
Vorwort
1 Einleitung
TEIL I: Einstieg in Linux
2 Die Installation
3 Erste Schritte
4 Linux als Workstation für Einsteiger
TEIL II: Grundlagen
5 Kernel
6 Grundlagen aus Anwendersicht
TEIL III: Die Shell
7 Die Shell
8 Reguläre Ausdrücke
9 Konsolentools
10 Die Editoren
11 Shellskriptprogrammierung mit der bash
12 Die C-Shell
TEIL IV: System- & Netzwerkadministration
13 Benutzerverwaltung
14 Grundlegende Verwaltungsaufgaben
15 Netzwerkgrundlagen
16 Anwendersoftware für das Netzwerk
17 Netzwerkdienste
18 Mailserver unter Linux
19 LAMP & Co.
20 DNS-Server
21 Secure Shell
TEIL V: Die grafische Oberfläche
22 Die grafische Oberfläche
23 Window-Manager und Desktops
24 X11-Programme
25 Multimedia und Spiele
TEIL VI: Systeminterna
26 Prozesse und IPC
27 Bootstrap und Shutdown
28 Dateisysteme
29 Virtualisierung und Emulatoren
TEIL VII: Programmierung und Sicherheit
30 Softwareentwicklung
31 Crashkurs in C und Perl
32 Einführung in Computersicherheit
33 Netzwerksicherheit überwachen
TEIL VIII: Anhang
A Lösungen zu den einzelnen Aufgaben
B Kommandoreferenz
C X11-InputDevices
D MBR
E Buch-DVDs
F Glossar
G Literatur
Stichwort
Ihre Meinung?

Spacer
Linux von Johannes Plötner, Steffen Wendzel
Das umfassende Handbuch
Buch: Linux

Linux
Rheinwerk Computing
1282 S., 5., aktualisierte Auflage 2012, geb., mit 2 DVDs
49,90 Euro, ISBN 978-3-8362-1822-1
Pfeil 9 Konsolentools
Pfeil 9.1 head, tail und nl – Dateiinhalte zeigen
Pfeil 9.2 column – Ausgaben tabellenartig formatieren
Pfeil 9.3 colrm – Spalten entfernen
Pfeil 9.4 cut, paste, tac und tr – Dateiinhalte ändern
Pfeil 9.5 sort und uniq – sortiert und einzigartig
Pfeil 9.6 wc – Dateiinhalt vermessen
Pfeil 9.7 Dateien finden mit find
Pfeil 9.7.1 Festlegung eines Auswahlkriteriums
Pfeil 9.7.2 Festlegung einer Aktion
Pfeil 9.8 split – Dateien aufspalten
Pfeil 9.9 Midnight Commander (mc)
Pfeil 9.9.1 Bedienung
Pfeil 9.9.2 Verschiedene Ansichten
Pfeil 9.10 Spezielle Tools
Pfeil 9.10.1 bc – der Rechner für die Konsole
Pfeil 9.10.2 dd – blockweises Kopieren
Pfeil 9.10.3 od und hexdump – Dateidumping
Pfeil 9.10.4 script – Terminal-Sessions aufzeichnen
Pfeil 9.11 Zusammenfassung
Pfeil 9.12 Aufgaben

Rheinwerk Computing - Zum Seitenanfang

9.10 Spezielle ToolsZur nächsten Überschrift

Eben betrachteten wir die grundlegenden Tools zur Arbeit mit Dateien. Nun werden wir uns den etwas spezielleren Tools widmen, deren Funktion sich grundlegend von jener der allgemeinen Tools unterscheidet.


Rheinwerk Computing - Zum Seitenanfang

9.10.1 bc – der Rechner für die KonsoleZur nächsten ÜberschriftZur vorigen Überschrift

Bei bc handelt es sich um ein Rechenprogramm. Es kann Ihnen zwar nicht wie die meisten Grafiktaschenrechner eine grafische Funktionsausgabe bieten, [Fn. In Verbindung mit dem Tool gnuplot ist aber auch dies kein Problem. Die meisten Distributionen umfassen ein gnuplot-Package.] er verfügt dafür aber im Gegensatz zu den Produkten von Casio und Co. über eine hübsche Syntax für die Programmierung.

Doch wollen wir uns hier nicht zu sehr auf die Programmierung des bc stürzen, sondern primär zeigen, wie man ihn überhaupt verwendet. Denn programmieren können Sie ja schließlich bereits mit awk und bald auch mit Shellskripten. [Fn. Falls Ihnen dies nicht reicht, sollte Ihnen das Kapitel zur Programmierung in C und Perl weiterhelfen. Zudem gibt es für die Programmierung des bc zahlreiche Webseiten, die Sie mit Google finden können.]

[»]In diesem Kapitel verwenden wir nicht den originalen bc aus AT&Ts Unix-Version 6, sondern die komplett neu geschriebene Version des OpenBSD-Projekts. [Fn. Diese Version gibt es seit OpenBSD 3.5.] Gestartet wird der Rechner über seinen Namen, beendet wird er mit der Tastenkombination Strg + D oder dem Befehl quit. Man füttert ihn einfach mit einer Rechenaufgabe, worauf er meistens das gewünschte Ergebnis ausgibt.

Listing 9.23 Beispielrechnungen mit dem Rechner bc

$ bc
4+4
8
9*9
81
1049*(5-4)-1
1048
^D

scale

Die Betonung liegt nun allerdings auf dem Wort meistens. Dazu sei gesagt, dass der bc Ergebnisse von Divisionen, wenn man es ihm nicht explizit anders befiehlt, nur als Ganzzahlen ausgibt. Um dies zu ändern, muss die Anzahl der Nachkommastellen mit dem Befehl scale angegeben werden.

Listing 9.24 bc mit scale

$ bc
7/2
3
scale=1
7/2
3.5
scale=10
1904849/103941494
.0183261652
quit

Die Math-Library

Übergibt man dem bc beim Start den Parameter -l, lädt er die mathematische Bibliothek, wodurch Funktionen wie s() (Sinus), c() (Kosinus), e() (Exponentialfunktion) und l(x) (Logarithmus) zur Verfügung stehen. Diese Funktionen verwendet man, indem man sie – ähnlich wie in awk oder C – in der Form Funktion(Wert) aufruft.

Listing 9.25 bc -l: Sinus von einem Wert nahe Pi berechnen

$ bc -l
s(3.141592)
.00000065358979323841

Das letzte Ergebnis

Das Ergebnis der letzten Rechnung wird in eine neue Berechnung durch einen Punkt (.) eingebunden. Möchte man beispielsweise den obigen Sinus-Wert zu der Zahl 1 addieren, so addiert man den Punkt zur 1:

Listing 9.26 Das letzte Ergebnis erneut verwenden

.+1
1.00000065358979323841
.+1
2.00000065358979323841
.+3
5.00000065358979323841
.*0
0.00000000000000000000

Programmierung

Wie bereits erwähnt wurde, werden wir an dieser Stelle nicht näher auf die Programmierung mit dem bc eingehen. Doch sei zumindest gesagt, dass Ihnen darin Schleifen und die Möglichkeit, eigene Funktionen zu implementieren, zur Verfügung stehen.

Listing 9.27 Ein einfaches Programmierbeispiel im bc

$ bc
for(x=0;x<6;++x){
"Der Wert von x ist: "; x;
}
Der Wert von x ist: 0
Der Wert von x ist: 1
Der Wert von x ist: 2
Der Wert von x ist: 3
Der Wert von x ist: 4
Der Wert von x ist: 5

Zudem kann man im bc sehr einfach Variablen verwenden:

Listing 9.28 Variablen im bc

a=3
b=100
a*b
300
x=(a*b)*394.13+4919489
x
5037728.00

Im bc können Sie auch mehrere Befehle aneinanderreihen, was eine leicht übersichtliche Ergebnisdarstellung ermöglicht. Dazu trennen Sie in derselben Zeile einfach mehrere Anweisungen durch ein Semikolon, also etwa x=4;x+99;.+99.


Rheinwerk Computing - Zum Seitenanfang

9.10.2 dd – blockweises KopierenZur nächsten ÜberschriftZur vorigen Überschrift

Mit dem Programm dd (dump device) werden Dateien blockweise kopiert. Da unter Unix und Linux Geräte ebenfalls Dateien sind, können Sie mit dd aber auch ganze Speichermedien kopieren. So ist es beispielsweise problemlos möglich, eine ganze Diskette oder Festplatte zu klonen.

Mit if wird dabei die Eingabedatei und mit of die Ausgabedatei angegeben. Beide können sowohl Geräte als auch reguläre Dateien sein.

Listing 9.29 Festplatte klonen

$ dd if=/dev/hda of=/dev/hdb

Mit bs lässt sich die Größe der zu lesenden oder zu schreibenden Blöcke angeben, und mit count können Sie die Anzahl dieser Blöcke limitieren.

Listing 9.30 Ein Megabyte einer Datei kopieren

$ dd if=/datei of=/datei_1m_kopiert bs=1M count=1

Wie Sie sehen, müssen Sie die Größe der Blöcke nicht unbedingt in Byte angeben. Mit den Endungen »k«, »M« und »G« können Kilo-, Mega- und Gigabyte-Angaben verwendet werden. [Fn. Es gibt noch weitere Möglichkeiten, die Blockgröße anzugeben. Werfen Sie dazu einmal einen Blick in die zugehörige Manpage.]


Rheinwerk Computing - Zum Seitenanfang

9.10.3 od und hexdump – DateidumpingZur nächsten ÜberschriftZur vorigen Überschrift

Die nächsten beiden Tools, die wir uns anschauen wollen, sind od und hexdump. Beide geben den Inhalt einer Datei auf verschiedene Weisen wieder, standardmäßig in einer Hex-Form. Je nachdem, welches der beiden Tools man verwendet, werden durch verschiedene Parameterübergaben verschiedene Ausgabeformate erzielt. So bewirkt beispielsweise -b bei od die Ausgabe im 1-Byte-Oktalformat: [Fn. Die Listing-Ausgabe wurde von uns wegen der Begrenzung der Seitenbreite abgeschnitten.]

Listing 9.31 od -b

$ od -b /bin/ls | head
0000000 177 105 114 106 001 001 001 000 000 000 ...
0000020 002 000 003 000 001 000 000 000 140 001 ...
0000040 320 272 002 000 000 000 000 000 064 000 ...
0000060 016 000 015 000 001 000 000 000 000 000 ...
0000100 000 000 000 034 206 114 002 000 206 114 ...
0000120 000 020 000 000 001 000 000 000 000 120 ...
0000140 000 000 000 074 273 107 000 000 273 107 ...
0000160 000 020 000 000 001 000 000 000 000 240 ...
0000200 000 120 000 074 074 032 000 000 074 032 ...
0000220 000 020 000 000 001 000 000 000 074 272 ...

Rheinwerk Computing - Zum Seitenanfang

9.10.4 script – Terminal-Sessions aufzeichnenZur vorigen Überschrift

Mit script(1) stellte 3.0BSD erstmals eine Möglichkeit zur Aufzeichnung von Aus- und Eingaben einer Terminal-Session bereit. Diese Textströme werden dabei in einer Datei mit dem Namen typescript im aktuellen Arbeitsverzeichnis geschrieben. Darin finden Sie übrigens auch alle Sonderzeichen der Eingabe in Binärform vor – zum Beispiel die Betätigung der Return-Taste bei jedem Kommandoabschluss.

Listing 9.32 Das Tool script nutzen

$ cd /tmp
$ script
Script started, output file is typescript
$ ...
...
$ exit
Script done, output file is typescript

Die Session finden Sie in der typescript-Datei vor, die Sie sich beispielsweise mit einem Editor oder mit cat ansehen können:

Listing 9.33 typescript

$ cat /tmp/typescript
Script started on Fri Apr 22 17:02:16 2005
swendzel> ls
kde-cdp_xe ksocket-cdp_xe sylpheed-1000 typescript
swendzel> ls -l /*bsd*
-rwx------ 1 root wheel 5441490 Feb 7 10:27 /bsd
-rw-r--r-- 1 root wheel 4710072 Dec 11 23:37 /bsd.rd
-rw-r--r-- 1 root wheel 5298400 Dec 11 23:37 /obsd
swendzel> exit
exit

Script done on Fri Apr 22 17:02:44 2005


Ihr Kommentar

Wie hat Ihnen das <openbook> gefallen? Wir freuen uns immer über Ihre freundlichen und kritischen Rückmeldungen.

>> Zum Feedback-Formular
<< zurück
 Ihre Meinung?
Wie hat Ihnen das <openbook> gefallen?
Ihre Meinung

 Buchempfehlungen
Zum Katalog: Linux Handbuch






 Linux Handbuch


Zum Katalog: Linux Server






 Linux Server


Zum Katalog: Raspberry Pi






 Raspberry Pi


Zum Katalog: Ubuntu 14.04 LTS






 Ubuntu 14.04 LTS


Zum Katalog: Roboter bauen mit Arduino






 Roboter bauen
 mit Arduino


 Shopping
Versandkostenfrei bestellen in Deutschland und Österreich
InfoInfo




Copyright © Rheinwerk Verlag GmbH 2012
Für Ihren privaten Gebrauch dürfen Sie die Online-Version natürlich ausdrucken. Ansonsten unterliegt das <openbook> denselben Bestimmungen, wie die gebundene Ausgabe: Das Werk einschließlich aller seiner Teile ist urheberrechtlich geschützt. Alle Rechte vorbehalten einschließlich der Vervielfältigung, Übersetzung, Mikroverfilmung sowie Einspeicherung und Verarbeitung in elektronischen Systemen.


Nutzungsbestimmungen | Datenschutz | Impressum

Rheinwerk Verlag GmbH, Rheinwerkallee 4, 53227 Bonn, Tel.: 0228.42150.0, Fax 0228.42150.77, service@rheinwerk-verlag.de