Rheinwerk Computing < openbook >
Rheinwerk Computing - Bücher zur Programmierung und Softwareentwicklung


Wie werde ich Unix-Guru
A. Willemer
Wie werde ich UNIX-Guru
I  ANWENDUNG
Know-How für Unix/Linux-User: Einführung, Shell, Befehle, Hilfe, Arbeit mit Dateien, Editoren, Reguläre Ausdrücke, nützliche Tools, Hardware.

II  ADMINISTRATION
Tools, Systemstart, Benutzer verwalten, Hardware konfigurieren, Software installieren, Datensicherung, Tuning, Kernel

III  NETZWERK
Client/Server Systeme, TCP/IP, Routing, IPv6, Internet-Dienste, DHCP, Webserver, Firewalls

IV  DAS X-WINDOW SYSTEM
Die grafische Oberfläche von UNIX einrichten und nutzen

V  PROGRAMMIERUNG VON SHELLSKRIPTEN
Automatisieren von Tasks durch Shell-Skripte.

VI  PERL
Interpreter, Syntax, Variablen, Steuerung, Funktionen, UNIX-Aufrufe, GUIs mit Tk

VII  PROGRAMMIERWERKZEUGE
C-Compiler, Analyse-Tools, CVS, yacc, diff

VIII  UNIX-SYSTEMAUFRUFE
UNIX-Befehle in eigenen Programmen nutzen

IX  LITERATUR
Weiterführende Literatur zu UNIX und LINUX

 
Rheinwerk Computing / Openbook / "Wie werde ich UNIX-Guru ?"
« Öffnen, Lesen und Schreiben Dateizugriffe Dateihandle duplizieren: dup »

Positionieren: lseek

Ein Lesezugriff liest einen Block aus einer bereits geöffneten Datei. Er fängt normalerweise vorn an und setzt an der zuletzt erreichten Stelle wieder auf, um einen weiteren Lesezugriff zu bedienen. Dasselbe geschieht beim Schreibzugriff. Es gibt also einen Dateipositionszeiger, der immer an die Stelle der nächsten Dateioperation zeigt.

Wollen Sie innerhalb der Datei an einer bestimmten Stelle anfangen zu lesen, können Sie mit dem Aufruf lseek() dorthin springen.

int lseek(int dateihandle, off_t offset, int woher);

Der Parameter offset bestimmt die Position, ab der die nächste Operation beginnt. Der Parameter woher legt fest, von wo der Offset berechnet wird.

[lseek Parameter Woher]L|L Konstante & Bedeutung
SEEK_SET & ab Dateianfang
SEEK_CUR & ab der aktuellen Position
SEEK_END & ab Dateiende

Mit dem Aufruf lseek() ist es möglich, Löcher in Dateien entstehen zu lassen. Wird beispielsweise bei einer Datei mit einem Byte Länge an die Position 1000 gesprungen und geschrieben, gibt es ein Datenloch, das nicht auf der Platte angelegt wird. Für das Programm bleibt das transparent. Lesen Sie später einen Bereich aus diesem Loch, erhalten Sie einen mit Nullen aufgefüllten Speicherbereich. Problematischer ist es, wenn Sie später sukzessive das Loch beschreiben, da die Speicherbereiche auf der Platte dann nicht mehr linear vorliegen und mit Einbußen bei der Performance zu rechnen ist.



« Öffnen, Lesen und Schreiben | Dateizugriffe | Dateihandle duplizieren: dup »
 
 Ihre Meinung?
Wie hat Ihnen das Openbook gefallen?
Ihre Meinung

 UNIX/Linux

Ubuntu 14.04 LTS

Linux Handbuch

Linux-Server

Raspberry Pi

Ubuntu Server
 Shopping
Versandkostenfrei bestellen in Deutschland, Österreich und der Schweiz
Info



Copyright © Rheinwerk Verlag GmbH 2003
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

Cookie-Einstellungen ändern