VOICE-Homepage: http://de.os2voice.org | November 2004 Inhaltsverzeichnis < Vorherige Seite | Nächste Seite > Artikelverzeichnis editor@os2voice.org

## F - Dateimanager und Schweizer Armeemesser

Von Christian Hennecke © November 2004

Aus irgendeinem Grund gibt es manche Arten von Dienstprogrammen für fast jede Plattform in großer Zahl - beispielsweise FTP-Clients und Dateimanager. Fs Entwickler sind sich dessen bewußt, haben diesen Dateimanager aber dennoch entwickelt, da andere Produkte ihrer Ansicht nach nicht alle nötigen Funktionen in sich vereinen.
F ist gratis für mehrere Plattformen einschließlich OS/2, mehrere Unix-Derivate und Windows erhältlich. Die OS/2-Version unterstützt eine Reihe OS/2-spezifischer Funktionen.
F ähnelt anderen Dateimanagern zwar in mancher Hinsicht, jedoch gibt es andere Merkmale, die ihn sowohl hinsichtlich der Ausstattungsmerkmale als auch der Benutzerschnittstelle eindeutig von seinen Verwandten unterscheiden und diesen überlegen machen.

### Installation und Aufrüsten

Es gibt keine besondere Installationsroutine. Die heruntergeladene Datei wird im gewünschten Verzeichnis plaziert. Beim ersten Aufruf legt sie verschiedene erforderliche Konfigurations- und Startdateien an.

Aktualisierungen auf neue Versionen finden zur Laufzeit des Dateimanagers mit Hilfe eines besonderen Befehls statt, der eine Sicherungskopie der alten ausführbaren Datei anlegt, sie durch die neue ersetzt, die Beispielkonfigurationsdateien aktualisiert und F in der neuen Version startet.

### Benutzerschnittstelle

F ist eine reine Textmodusanwendung und bietet keinerlei Mausunterstützung. Das heißt, daß man weder Dateien Ziehen und Übergeben noch Optionen und Aktionen aus anklickbaren Menüs auswählen kann. Befehle werden statt dessen mittels Tastenkombinationen und einer Befehlszeile aufgerufen. Konfigurationsoptionen werden ausschließlich über eine Textdatei bestimmt, allerdings werden Änderungen bei der Mehrzahl der Optionen zur Laufzeit wirksam.

Die eingebaute, umfangreiche Online-Hilfe und eine Liste mit Antworten auf häufig gestellte Fragen bieten zu jeder Komponente und jedem Befehl ausführliche Informationen mit vielen Anwendungsbeispielen. Die Hilfefunktion besteht aus einem großen Bildschirm, der im Dateibetrachter geöffnet wird und damit dessen sämtliche Fähigkeiten besitzt (siehe unten). Sie ist insoweit kontextbezogen als automatisch zum Abschnitt für die gerade aktive Komponente oder den Befehl gesprungen wird, für den sie aufgerufen wurde.

Im Gegensatz zu anderen Dateimanagern ahmt F den Klassiker Norton Commander nicht nach. Die Tastenbelegung folgt ihrer eigenen Logik; Tastenkürzel sind entsprechend der Anwendung auf die gerade hervorgehobene Datei oder die Menge der gerade ausgewählten Dateien gruppiert. Die geteilte Anzeige erinnert zuerst an den Norton Commander, geht jedoch über darüber hinaus.

#### Dateifenster

F kann eine große Anzahl von Dateifenstern öffnen und offenhalten, von denen jeweils zwei gleichzeitig nebeneinander angezeigt und die in sogenannten "Ringen" - was bedeutet, daß sie kreisförmig durchlaufen werden können - über eine Fensterliste und Tastenkürzel verwaltet werden. Für jede der beiden Seiten der geteilten Anzeige sowie für den Dateibetrachter und Editor existiert jeweils ein Ring. Neue Dateifenster können für Laufwerke, relativ zu vorhandenen Fenstern, d.h. für Stamm- und Unterverzeichnisse, oder durch Angabe eines vollqualifizierten Pfades an der Befehlszeile geöffnet werden. Desweiteren besteht die Möglichkeit, beispielsweise einen vordefinierten Satz von Dateifenstern zu öffnen oder Fenster die Seiten wechseln zu lassen.

Abb. 1: Fensterliste zur Verwaltung der Ringe

Jedes Dateifenster zeigt eine große Menge Informationen an, wie etwa die Gesamtgröße und Gesamtzahl der Dateien in einem Fenster, die Größe und Anzahl markierter Dateien, die Dateiattribute und ob eine Datei Erweiterte Attribute besitzt.

Abb. 2: Farbliche Kennzeichnung von Dateitypen

Dateitypen werden abhängig von Endung und Typ mit unterschiedlichen Farben dargestellt, die sich über die Konfigurationsdatei anpassen lassen. Dateien können jedoch nicht nur nach Typ eingefärbt werden. F besitzt einen eigenen Zuordnungsmechanismus, ähnlich der "Zuordnung über Endung"-Methode der WPS. Dies schließt auch die Fähigkeit mit ein, jeder Endung mehrere Anwendungen zuzuordnen, aus denen beim Öffnen einer Datei ausgewählt werden kann.

Abb. 3: Auswahl bei Aufruf einer PDF-Datei

In allen Dateifenstern steht eine inkrementelle Suchfunktion zur Verfügung. Während ein Dateiname eingegeben wird, springt die Anzeige zum ersten Dateinamen, der mit den eingegebenen Zeichen beginnt. Alternativ kann die inkrementelle Suchfunktion auch auf die Dateiendung oder Teile innerhalb des Dateinamens angewendet werden.

#### Befehlszeile

Fs Befehlszeile unterscheidet sich von anderen. Vor allem steht sie nicht nur im Dateimanagementmodus zur Verfügung, sondern auch im Editor und Betrachter. Aufgerufen werden können sowohl Fs interne als auch beliebige externe Befehle.

Innerhalb der Befehle können Makros für den Zugriff auf die in beiden Fenstern - sowohl dem aktiven als auch dem inaktiven - angezeigten Dateien oder auf Text im Betrachter oder Editor eingesetzt werden. Verschiedene Makros ermöglichen die Verwendung ausgewählter Teile des Dateinamens und -pfades. Desweiteren kann der Befehl mit Hilfe von Makros auf die derzeit hervorgehobene Datei - sowohl im aktiven als auch inaktiven Fenster - oder auf die gerade ausgewählten Dateien angewendet werden. Es ist sogar möglich festzulegen, ob dem Befehl alle Dateien auf einmal als Parameter übergeben werden oder ob er für jede Datei einzeln ausgeführt werden soll.

Dieses Konzept läßt sich am besten anhand von Beispielen erläutern:

    unzip /m/k/ -d /o

Dieser Befehl würde Info-ZIP Unzip aufrufen, um alle im aktiven Fenster markierten Dateien (über `/` angesprochen) in das Verzeichnis, das im inaktiven Fenster hervorgehoben ist (über `/o` angesprochen), zu entpacken. Dabei bewirkt `/m`, daß unzip einmal für jede Datei ausgeführt wird, und `/k` verhindert, daß F nach dem Ausführen eines Befehls auf einen Tastendruck wartet.

    diff -ub / /o > H:\diffs\/f.diff

Dieser Befehl würde die jeweils in den beiden Fenstern hervorgehobenen Dateien mit GNU diff vergleichen und das Ergebnis in einer Datei im Verzeichnis `H:\diffs` ablegen, die als Namen den der im aktiven Fenster hervorgehobene Datei plus eine angehängte Endung `.diff` erhält.

Hierbei handelt es sich um eine äußerst mächtige Funktion, besonders in Verbindung mit anderen Funktionen dieses Dateimanagers: aliases, benutzerdefinierte Befehle und frei definierbare Tastenkürzel. Über aliases lassen sich Abkürzungen für komplexe Befehle definieren. Beispielsweise könnte für obiges Beispiel einfach `diff` benutzt werden. Alternativ können solche Befehle auch einer Liste benutzerdefinierter Befehle hinzugefügt werden, die jederzeit aufgerufen werden kann. Schließlich ließe sich eine Tastenkombination definieren, bei deren Betätigung der Befehl sofort ausgeführt würde.

F besitzt eine umfangreiche Verlaufsfunktion für die über seine Befehlszeile ausgeführten Befehle, die allen Komponenten, d.h. Dateiverwaltungsmodus, Betrachter, Editor usw., gemeinsam ist. Neben einem schrittweise durchlaufbaren Modus, der von den meisten Befehlsinterpretern und Shells her bekannt ist, ist die Verlaufsfunktion in der Lage, ein scrollbares Fenster mit einer Liste zuvor ausgeführter Befehle anzuzeigen. Wie schon die Dateifenster so besitzt auch dieses Fenster eine Funktion zum inkrementellen Suchen. Während ein Befehl zeichenweise eingegeben wird, hebt das Fenster automatisch den ersten Befehl hervor, dessen Anfang mit den bisher eingegebenen Zeichen übereinstimmt. Auch wenn hier ein anderer Ansatz als bei der von vielen Shells her bekannten, traditionellen Befehlsvervollständigung verfolgt wird, bietet dieses Ausstattungsmerkmal im Grunde genommen die gleiche Funktionalität auf flexiblere Weise.

Abb. 4: Verlaufsfunktion für Befehle

Falls die eingebaute Befehlszeile den Zweck nicht erfüllt, können auch normale OS/2-Fenster- und DOS-Vollbildschirmsitzungen im Verzeichnis des gerade aktiven Fensters gestartet werden. Ebenso läßt sich die Funktionalität des Standardbefehlsinterpreters erweitern, indem dieser im sogenannten concurrent process buffer (Puffer für gleichzeitig laufende Prozesse) ausgeführt wird. Mehr zu diesem interessanten Ausstattungsmerkmal siehe unten.

Es besteht eine Einschränkung. Wird die Ausgabe eines Programms in eine Datei umgeleitet, kann es bei Verwendung der eingebauten Befehlszeile zu unerwarteten Ergebnissen kommen, da sowohl `STDOUT` als auch `STDERR` abgefangen und in dieselbe Pipe umgeleitet werden. So würden beispielsweise im Falle von HTML Tidy sowohl der korrigierte HTML-Code als auch die Fehler- und anderen Meldungen in dieselbe Datei geschrieben. Dies läßt sich vermeiden, indem der Befehl an den concurrent process buffer gesendet wird.

#### Zwischenablage

F ist mit einer eigenen eingebauten Zwischenablage ausgerüstet. Daten können jedoch zwischen der eingebauten und der Zwischenablage des OS/2-Systems übertragen werden. Die interne Zwischenablage ist auf Textdaten beschränkt, besitzt jedoch verglichen mit der OS/2-Systemzwischenablage mehr Funktionen: Daten können an bereits vorhandene angefügt werden, und die Zwischenablage kann mehrere Einträge aufnehmen.

### Komponenten

Neben den Funktionen zur Dateiverwaltung umfaßt F eine Reihe weiterer Komponenten, und zwar einen internen Dateibetrachter und Editor, virtuelle Dateisysteme (VFS), verschiedene Clients für Internet/Netzwerkdienste, kleine Internetdienst-Server sowie eine große Anzahl Werkzeuge für Systemadministratoren (bei denen es sich natürlich auch um Heimanwender handeln kann) und Entwickler.

#### Dateiverwaltung

F unterstützt sämtliche Funktionen für die Bearbeitung von Dateien und Verzeichnissen, die man von einem Dateimanager erwarten kann, wie etwa das Kopieren, Verschieben und Löschen von Dateien und Verzeichnisbäumen sowie das Umbenennen von Dateien und das Ändern von Dateiattributen.

In die Suchfunktionen wurde viel Arbeit investiert. Dateien und Verzeichnisse lassen sich auf vielfältige Weise durchsuchen, was auch Vergleichs- und Suchen-und-Ersetzen-Vorgänge mit einschließt. Ergebnisse können verwendet werden, um für weitere Arbeiten den Fundort - gewöhnlich die Zeile - im Betrachter oder Editor anzuspringen sowie ein neues Dateifenster oder eine Datei mit allen Dateien, in denen der Suchstring gefunden wurde, zu öffnen. Darüber hinaus lassen sich komplette Verzeichnishierarchien synchronisieren.

Gleiches gilt für die Möglichkeiten festzulegen, auf welche Dateien Vorgänge angewendet werden sollen. Im aktiven Dateifenster ist es möglich, Dateien einzeln, von der gerade hervorgehobenen Datei bis zum Anfang oder Ende des Fensters sowie nach bestimmten Kriterien, wie etwa Dateimasken, Attributen oder im Vergleich zu Dateien im inaktiven Fenster, zu markieren. Die aktuelle Dateiauswahl kann invertiert werden. Sämtliche Vorgänge können aufeinander aufbauend durchgeführt werden.

Neue Dateifenster können aus vorhandenen oder nach Dateimaske, -größe, Datum und Zeit sowie Attributen zusammengestellt werden. Desweiteren lassen sich Dateien von der Anzeige ausschließen und weitere Dateien über dasselbe Verfahren hinzufügen, mit dem neue Dateifenster erzeugt werden.

Betrachten wir dies anhand eines Beispiels: Stellen Sie sich vor, sie hätten in der letzten Woche an einer Web-Site gearbeitet und müßten eine spezielle Kontaktadresse in allen HTML-Dateien, die sich in einem Unterverzeichnis Ihres Projektverzeichnisbaums befinden und während der letzten fünf Tage geändert wurden, sowie in allen PHP-Dateien, die sich in einem anderen Unterverzeichnis befinden und während der letzten drei Tage geändert wurden, durch eine andere Adresse ersetzen, die Sie gerade erhalten haben. Mit F könnten Sie folgendes tun:

1. Das Verzeichnis öffnen, das den Verzeichnisbaum mit den HTML-Dateien enthält.

2. Das Verzeichnis hervorheben, das den HTML-Verzeichnisbaum enthält.

3. Zum gegenüberliegenden Dateifenster wechseln.

4. Die Befehlszeile aktivieren und folgendes ausführen:

       dir -s -fdgD-5 /o*.html

   Hierdurch wird ein neues Dateifenster mit sämtlichen HTML-Dateien aus sämtlichen Unterverzeichnissen des im gegenüberliegenden Dateifenster hervorgehobenen Verzeichnisses erzeugt.

5. Zurück zum ersten Dateifenster wechseln.

6. Das Verzeichnis hervorheben, das den PHP-Verzeichnisbaum enthält.

7. Zum andern Dateifenster wechseln.

8. Die Befehlszeile aktivieren und folgendes ausführen:

       adir -s -fdgD-3 /o*.php

   Hierdurch werden dem Dateifenster mit den HTML-Dateien sämtliche PHP-Dateien aus sämtlichen Unterverzeichnissen des im inaktiven Dateifenster hervorgehobenen Verzeichnisses hinzugefügt.

9. Alle Dateien mit der Tastenkombination `[Strg-Alt-+]` markieren.

10. Die Befehlszeile aktivieren und folgendes ausführen:

        fchange /m/k/ "alter_kontakt@domaene.de" "neuer_kontakt@domaene.de"

Fertig.

Aufgaben, bei denen es um viele oder große Dateien geht, können sehr zeitraubend sein und während der Bearbeitung die Benutzerschnittstelle blockieren. Für die meisten dieser potentiell langwierigen Vorgänge stellt F einen Modus für die Ausführung im Hintergrund zur Verfügung. Das heißt, daß man mit dem Editieren einer Datei in F fortfahren kann, während im Hintergrund ein großer Verzeichnisbaum mit einer großen Anzahl Dateien kopiert wird. Es erfolgen keine Statusmeldungen, während der Vorgang läuft. F benachrichtigt den Anwender jedoch mit Hilfe seines internen Nachrichtensystems (siehe unten) über das Ergebnis, sobald der Vorgang abgeschlossen wurde.

Weiter können Dateibeschreibungen definiert werden, die F beim Hervorheben einer Datei in der Statuszeile anzeigt. Außer seinen eigenen Verfahren unterstützt F hierfür auch solche von Drittanbietern, wie beispielsweise die `descript.ion`-Dateien der 4OS2-Shell.

##### Unterstützung für OS/2-Spezifika

Auch wenn F für mehrere Plattformen erhältlich ist, unterstützt die OS/2-Version doch einige OS/2-Spezifika - was die meisten "native" Dateimanager in diesem Umfang nicht tun. Das den meisten Spezifika gemeinsame Stichwort lautet hierbei Erweiterte Attribute.

F erkennt das Erweiterte Attribut `.LONGNAME` und beachtet es bei der Übertragung von Dateien zwischen Laufwerken, die mit einem Dateisystem mit Unterstützung für lange Dateinamen - einschließlich HPFS, JFS und sogar FAT32 - formatiert wurden, und FAT-Laufwerken. Das bedeutet, daß F beim Kopieren von beispielsweise HPFS nach FAT automatisch `.LONGNAME`-Attribute anlegt und beim Kopieren von FAT nach HPFS oder ähnlichem die im Attribut `.LONGNAME` angegebenen Namen als Dateinamen verwendet. Darüber hinaus stellt F verschiedene Mittel zum Bearbeiten von EAs zur Verfügung. Dazu gehört die Möglichkeit, EAs anzuzeigen, sie in eine separate Datei zu sichern und aus ihr wiederherzustellen sowie Attribute vom Typ `ASCII` zu setzen, zu löschen und zu modifizieren.

Zu den eigenen Methoden des Dateimanagers zum Definieren oben genannter Dateibeschreibungen gehört das Speichern derselben in Erweiterten Attributen. Aber auch der Inhalt des Attributs `.SUBJECT` wird angezeigt. Dies ist besonders in Verbindung mit Dienstprogrammen wie AutoWGet sehr praktisch. Wird eine mit AutoWGet heruntergeladene Datei hervorgehoben, zeigt F automatisch die URL an, von der sie heruntergeladen wurde.

Abb. 5: Anzeige des .SUBJECT-Attributs in der Statuszeile

Die OS/2-Unterstützung umfaßt ferner das Anlegen von WPS-Programmobjekten für ausführbare Dateien sowie die Fähigkeit, Dokumenttitel von INF- und HLP-Dateien des OS/2-Onlinehilfesystems beim Hervorheben auszulesen und in der Statuszeile anzuzeigen. Keine Verwirrung mehr durch IBMs kryptische Namen.
Schließlich wird das Toronto Virtual File System (TVFS) insofern unterstützt, als daß F Auskunft darüber geben kann, wo sich eine auf einem TVFS-Laufwerk liegende Datei wirklich befindet.

#### Dateibetrachter und Editor

Der Dateibetrachter ist für einfaches und schnelles Blättern und Suchen in Dateien ausgelegt, besitzt jedoch auch einige fortgeschrittene Ausstattungsmerkmale wie Syntax-Highlighting für bestimmte Dateiformate, z.B. C, REXX und HTML, und parenthesis matching, eine Funktion zum Auffinden der Gegenstücke von Klammern im Programmcode. Das Fenster kann zweigeteilt werden, um beispielsweise zwei verschiedenen Dateien oder Teile derselben Datei zu vergleichen.

Abb. 6: Geteilte Fensteransicht im Editor mit aktivem Syntax-Highlighting

Die Ausstattung des Editors andererseits ist weitaus vollständiger und umfaßt auch die Funktionalität des Betrachters. OS/2-Anwender werden es sicher interessant finden, daß der eingebaute Editor hinsichtlich des Verhaltens und vieler Befehle stark dem "Erweiterten Editor EPM" ähnelt. Im Gegensatz zum Betrachter läßt sich das Syntax-Highlighting des Editors über eine Konfigurationsdatei, die reguläre Ausdrücke unterstützt, anpassen und erweitern. Weitere fortgeschrittene Funktionen stehen hauptsächlich für die Bearbeitung von Quellcode zur Verfügung. Dazu gehört beispielsweise die Unterstützung für Lesezeichen, ctags und C-Syntaxvervollständigung.

Dateien lassen sich alternativ auch in einem externen Betrachter oder Editor öffnen.

#### Concurrent process buffer

Beim concurrent process buffer (Puffer für gleichzeitig ablaufende Prozesse) handelt es sich in der Hauptsache um den in der Datei `CONFIG.SYS` mit der Anweisung `OS2_SHELL` definierten OS/2-Standardbefehlsinterpreter, der innerhalb Fs ausgeführt und so erweitert wird. F fängt sämtliche Programmausgaben über `STDOUT` und `STDERR` ab und speichert sie in einem Puffer, der Teil des eingebauten Editors ist und somit viel von dessen Funktionalität besitzt. Das bedeutet beispielsweise, daß es möglich ist, in der Ausgabe ganz bis zum Anfang der Sitzung zurückzugehen (es gibt keine Einschränkung wie bei normalen OS/2-Fenstern), sie zu durchsuchen sowie Befehle zum Kopieren und Einfügen auszuführen.

Abb. 7: concurrent process buffer

Im Gegensatz zur eingebauten Befehlszeile führt das Ausführen von Programmen im Puffer nicht zu einer Blockierung der Benutzerschnittstelle, die damit weiterhin für andere Aufgaben zur Verfügung steht. Die eingebaute Befehlszeile ist jedoch in der Lage, Befehle zur Ausführung an den concurrent process buffer weiterzuleiten.

Außer `CMD.EXE` sollten auch andere Befehlsinterpreter wie 4OS2 funktionieren. Der Puffer kann nur im Zusammenhang mit Programmen genutzt werden, die Ausgaben über die Geräte `STDOUT` und `STDERR` vornehmen. Programme, die direkt auf den Bildschirm schreiben, sogenannte VIO-Programme, lassen sich nicht innerhalb des Puffers betreiben. Desweiteren erkennen es manche Programme, wenn der Eingabe/Ausgabe-Datenstrom umgeleitet wird und verhalten sich dann anders.

#### Virtuelle Dateisysteme (VFS)

Im Wesentlichen ermöglicht diese Funktion die Darstellung nicht als lokales Dateisystem vorhandener Inhalte als wären sie als solche vorhanden. Virtuelle Dateisysteme stehen für viele Archivformate, wie beispielsweise ZIP, TAR, RAR, WarpIN-Pakete und das IBM-Format für Diskettenabbilder, sowie für ferne Verbindungen über FTP und NetBIOS-Ressourcen zur Verfügung. Letzteres bedeutet, daß NetBIOS-Ressourcen nicht über den LAN-Requester als Netzlaufwerk eingebunden werden müssen, sondern daß ein direkter Zugriff über UNC-Namen möglich ist. Das Konzept funktioniert sogar rekursiv, z.B. bei in ZIP-Archiven befindlichen ZIP-Archiven.

Virtuelle Dateisysteme sind navigierbar und darin befindliche Dateien können in einem gewissen Maße, das vom jeweiligen VFS abhängt, manipuliert werden. Manipulation bedeutet hier, daß Dateien durch Anwendung der Standardfunktionen und -befehle in und zwischen Dateifenstern kopiert, verschoben, gelöscht, extrahiert, hinzugefügt, entfernt, umbenannt und durchsucht werden können. Will der Anwender beispielsweise eine in einem ZIP-Archiv befindliche Datei editieren, extrahiert F diese Datei in ein temporäres Verzeichnis, öffnet sie im Editor und aktualisiert das ZIP-Archiv automatisch, wenn die Datei gesichert wird und der Anwender den Editor verläßt.

Abb. 8: Inhalt eines ZIP-Archivs

Schwachpunkt der virtuellen Dateisysteme ist die Darstellung von Verzeichnishierarchien. Anstatt jeweils ein Verzeichnis mit seinem Inhalt darzustellen und das Archiv wie ein normales Dateisystem navigierbar zu machen, wird der komplette Inhalt auf einmal angezeigt - jede Datei mit vollständigem Pfad. Dies erschwert das Betrachten und Arbeiten mit Archiven, die tief verschachtelte Verzeichnisbäume und/oder lange Dateinamen enthalten, da die Pfade im Dateifenster nur mit einer begrenzten Anzahl von Zeichen angezeigt werden. Sucht man nach einer bestimmten Datei, muß man durch das Fenster blättern und dabei die obere Zeile der Anzeige beobachten, die stets den vollqualifizierten Pfad der gerade hervorgehobenen Datei anzeigt. Dankenswerterweise sortiert F VFS-Dateifenster nach Dateinamen ohne Pfad, wodurch sich die Suche zumindest etwas abkürzen läßt.

#### Clients für Internet- und Netzwerkdienste

F ist mit Clients für Standard-Internet/Netzwerk-Dienste wie FTP, E-Mail und News sowie solchen für das eigene F-zu-F-Protokoll (FFP) und Instant-Messaging-System ausgerüstet.

##### FTP

Neben den Grundfunktionen für Übertragung, Umbenennen und Löschen steht bei F für das FTP eine Reihe fortgeschrittener Funktionen zur Verfügung. Es können mit bis zu 36 FTP-Servern gleichzeitig Verbindungen bestehen, wobei pro Verbindung mehrere Dateifenster genutzt werden können. Der Client ist in der Lage, Verbindungen sowohl über die normale PORT-Methode als auch über passives FTP aufzunehmen. Eine Nutzung nichtstandardmäßiger Ports ist ebenfalls möglich. F unterstützt FXP-Übertragungen, d.h. Dateien können zwischen fernen FTP-Servern übertragen werden, ohne daß die Daten erst auf den lokalen Rechner übertragen werden müßten.
Der Resume-Modus, also das Wiederaufnehmen eines abgebrochenen Übertragungsvorgangs, wird beim Herunterladen einzelner Dateien unterstützt. Wird mehr als eine Datei übertragen, so werden bereits vorhandene Dateien überschrieben. Darüber hinaus lassen sich Übertragungs- und Löschoperationen auf einen Verzeichnisbaum anwenden. F besitzt ebenfalls die Fähigkeit, Zugriffsrechte für ferne Dateien zu ändern.

Ferne Dateien können betrachtet und editiert werden. F lädt die Datei herunter und öffnet sie in der entsprechenden Komponente. Wird die Datei geändert und geschlossen, überträgt F das Ergebnis wieder auf den Server. Übertragungsvorgänge lassen sich im Hintergrund ausführen. Dazu legt F eine Befehlsdatei an und führt mit dieser dann das Standardprogramm `FTP.EXE` aus.

F ist nicht mit einer Lesezeichenfunktion ausgerüstet, mit der sich Informationen über häufig besuchte Server speichern und leicht abrufen ließen. Dieses Manko läßt sich teilweise mit Hilfe in der Konfigurationsdatei festgelegter benutzerdefinierter Befehle und aliases ausgleichen. Die Synchronisationsfunktion für Dateien und Verzeichnisse steht bei FTP-Verbindungen leider nicht zur Verfügung. Dies hätte beispielsweise die Pflege von Web-Sites oder das Spiegeln von Servern erheblich erleichtert.

##### FFP

Der FFP-Client ähnelt in seiner Funktionsweise sehr stark dem FTP-Client. Einer der Hauptunterschiede besteht darin, daß entweder auf beiden Seiten der Verbindung jeweils eine F-Instanz laufen muß, wobei die ferne als Server agiert (siehe Abschnitt "Server für Internet/Netzwerkdienste"), oder F auf dem lokalen und ein FFP-Server auf dem fernen Rechner - daher der Name F-zu-F-Protokoll. FFP kann als eine Art Obermenge der FTP-Funktionalität angesehen werden. Die Übertragungsgeschwindigkeit soll bei FFP höher sein, und es ist möglich, Daten komprimiert übertragen zu lassen. Es steht ein Großteil der Funktionen für lokale Dateisysteme zur Verfügung, wobei der Fortschritt bei im Vordergrund ablaufenden Vorgängen in der Statuszeile angezeigt wird. Dateioperationen lassen sich im Hintergrund ausführen. Die Übertragung von Daten ist auch zwischen verschiedenen FFP-Sitzungen und zwischen FFP- und FTP-Sitzungen möglich.

Darüber hinaus werden ZIP-Archive besonders unterstützt. Für den Zugriff auf ihren Inhalt müssen sie nicht erst heruntergeladen werden. Es werden nur die erforderlichen Daten komprimiert übertragen und dann vom lokalen Client entpackt. In fernen ZIP-Archiven befindliche Dateien können editiert werden, wonach das ferne ZIP-Archiv automatisch aktualisiert wird. Zudem lassen sich für ferne Dateien und Verzeichnisse ferne ZIP-Archive anlegen.

Schließlich können mit Hilfe des FFP ferne Programme ausgeführt werden. F wird dadurch zu einem möglichen Ersatz für FTP/Telnet-Kombinationen und eignet sich für Fernadministration.

Abb. 9: Dateifenster für FFP-Verbindung mit Anzeige von EAs einer fernen Datei

##### E-Mail und News

Die E-Mail- und News-Clients decken nur die jeweilige Grundfunktionalität ab. Zwar ist bei beiden Unterstützung für mehrere Server vorhanden und der eingebaute Editor bietet entsprechendes Syntax-Highlighting sowie MIME- und Quoted-printable-(De-)Kodierung, jedoch besitzen beide Komponenten keinerlei Filtermöglichkeiten, um z.B. Nachrichten in Ordner einzusortieren, News nach Verfasser auszublenden oder Nachrichten in Threads anzuzeigen. Zum Verfassen neuer Nachrichten und Antworten muß bei den Headern selbst Hand angelegt werden.

##### Messaging

Das eingebaute Instant-Messaging-System dient hauptsächlich dazu, den Anwender über abgeschlossene Hintergrundvorgänge und andere Ereignisse zu informieren, kann jedoch auch verwendet werden, um anderen F-Benutzern Kurznachrichten zukommen zu lassen. Die Maximalgröße einer Nachricht beträgt 32 Zeilen zu jeweils 256 Zeichen. Nachrichten können an einen oder mehrere F-Benutzer gleichzeitig gesendet werden, bei denen F gerade ausgeführt werden muß, damit sie die Nachricht empfangen können. Beim empfangenden F kann eine Bestätigung angefordert werden, die gesendet wird, wenn sein Benutzer die Nachricht öffnet.

Abb. 10: Meldung eines FFP-Logins

Außer Kurznachrichten lassen sich auch Dateien mit beliebigem Inhalt verschicken. Für die entsprechende Komponente wird das FFP eingesetzt. Sie ist nicht von der Erreichbarkeit des Empfängers zum Zeitpunkt der Befehlsausführung abhängig. F wartet gegebenenfalls, bis der Empfänger wieder online ist und holt dann die Übertragung der Datei nach.

##### Server für Internet/Netzwerk-Dienste

Zum Funktionsumfang des Dateimanagers gehören auch ein FFP- sowie einfache FTP- und HTTP-Server. Das Leistungsspektrum des FTP-Servers ähnelt dem des zum OS/2-Lieferumfang gehörenden FTPD. Die Konfiguration der Zugriffsrechte für den FFP- und FTP-Server erfolgt mit Hilfe der vom OS/2-FTPD bekannten Datei `trusers`, in welcher Benutzerkennungen und Kennwörter im Klartext gespeichert werden. Zudem können pro FFP-Benutzer Rechte für das Ausführen lokaler Programme definiert werden.

Der Web-Server unterstützt aliases, mit denen sich Pfade in den Standarddokumentenbaum einblenden lassen, `descript.ion`-Dateien im 4OS2-Stil für die automatische Erzeugung von Verzeichnisinhaltslisten sowie einige spezielle SSI-Befehle. Verzeichnisse lassen sich auf Basis einfacher Benutzer/Kennwort-Paare schützen; MIME-Typen können angepaßt und hinzugefügt werden. In gewissem Umfang ist auch Unterstützung für über Perl oder PHP realisierte CGI vorhanden, jedoch ließ sie sich nicht zum Funktionieren überreden.

Alle Server melden Logins über das interne Nachrichtensystem und können Vorgänge protokollieren.

##### Weitere

Entwickler und Hacker werden den binären Editor zu schätzen wissen. Geladene Dateien werden gleichzeitig in hexadezimalem und Textformat angezeigt, wobei die Textanzeige zwischen ASCII- und EBCDIC-Kodierung umgeschaltet werden kann. In beiden Teilen der Anzeige stehen Such- und Editierfunktionen zur Verfügung. Die Suchfunktion bietet keine Möglichkeit zum Ersetzen. In binären Dateien ist das Ersetzen in der Tat mit Gefahren verbunden; es kann jedoch auch sehr praktisch sein.

Abb. 11: OS/2-Kernel im Hex-Editor

Mit Duplikattests lassen sich Pfade in allen Anweisungen der `CONFIG.SYS` nach Dateien mit gleichen Namen durchsuchen und so Versionskonflikte vermeiden. Umgebungsvariablen können auf ungültige Pfade geprüft werden.

F besitzt Funktionen zur Anzeige und zum Beenden von Prozessen. Darüber hinaus ist F in der Lage festzustellen, ob eine DLL gerade geladen ist und von welchen Prozessen sie verwendet wird, sowie eine Aufstellung geöffneter Dateien und der öffnenden Prozesse anzuzeigen. Bei geöffneten und gesperrten Dateien kann die Sperre aufgehoben werden, was das Ersetzen erleichtert. Es ist möglich, Programmdateien und DLLs auf benötigte DLLs und deren Verfügbarkeit zu prüfen. Dabei wird nur die Verfügbarkeit im `LIBPATH` geprüft, nicht das Vorhandensein von Einstiegspunkten.

Zu weiteren Funktionen gehören ein einfacher Kalender ohne PIM-Funktionalität, ein Telefonbuch, bei dem es sich eher um eine allgemeine Notizenfunktion handelt, mehrere Formatkonverter, einfache mathematische Berechnungsmöglichkeiten sowie ein Audio-CD-Spieler.

### Bewertung

F vereint die Stärken einer erweiterten Dateimanageroberfläche mit der Flexibilität der Befehlszeile zu etwas neuem, dessen Fähigkeiten über die Summe der Teile hinausgehen. Der Vorteil besteht nicht nur darin, den jeweils besser geeigneten Teil nutzen zu können. Die beide Teile verbindende Makroschnittstelle verwirklicht ein erheblich erweitertes Konzept mit großer Leistungsfähigkeit.

Der bei der Benutzeroberfläche verfolgte Ansatz macht F nicht gerade zu einem Vorbild an Benutzerfreundlichkeit für Neueinsteiger; die Lernkurve ist steiler als bei anderen Anwendungen. Die umfangreiche Online-Hilfe und die Zusammenstellung von Antworten auf häufig gestellte Fragen bieten jedoch vernünftige und ausführliche Informationen mit vielen Anwendungsbeispielen. Wer die Bedienung der Benutzerschnittstelle einmal gemeistert hat, wird ihre Flexibilität zu schätzen wissen.

F ist eine sehr stabile Anwendung. Seit Beginn meiner Nutzung des Programms vor einigen Jahren mußte ich nur wenige Fehler oder Abstürze beobachten.

Die Verarbeitungsgeschwindigkeit ist im allgemeinen als gut, für den Dateiverwaltungsteil als hervorragend zu bewerten, besonders bei abgeschalteter Protokollfunktion. F ist einer der beiden schnellsten für OS/2 erhältlichen Dateimanager - der andere Brian Havards File Commander/2. Die Möglichkeit, mit der Arbeit fortzufahren, während im Hintergrund umfangreiche Dateibearbeitungsvorgänge durchgeführt werden, ist ebenfalls von großem Vorteil.
Das Syntax-Highlighting kann den Editor unter Umständen sehr bremsen. Testweise wurde ein Markierungsschema für die `CONFIG.SYS`-Datei mit Regeln für alle Anweisungstypen erstellt, und es führte zu einem starken Abfall der Verarbeitungsgeschwindigkeit. Ein erweitertes Markierungsschema für HTML-Dateien verursachte jedoch keine Schwierigkeiten. Wie sich zeigte, ist es besser, nicht zuviel farbig markieren zu lassen.

Der Editor bietet eine gute Auswahl fortgeschrittener Bearbeitungsfunktionen, auch wenn er natürlich noch weit von der Ausstattungsfülle ausgewachsener Editoren wie Emacs oder jEdit entfernt ist. Syntax-Highlighting ist definitiv eine wertvolle Funktion. Zur Ausstattung gehören keine Merkmale wie Befehlsvervollständigung - außer für C -, Folding, Code-Prüfung, Rechtschreibprüfung oder Code-Formatierung - kurz gesagt: Funktionen, die für die Arbeit an größeren Projekten benötigt werden. Allerdings ist das auch nicht der typische Einsatzbereich des Editors eines Dateimanagers. Für die meisten täglichen Arbeiten ist der eingebaute Editor mehr als gut gerüstet.

Auf etwas wie den concurrent process buffer dürften viele Anwender seit langem gewartet haben. Die Möglichkeit, nahezu unbegrenzt durch die Ausgaben zurückblättern zu können, gab es vorher nicht, und hier kann darin sogar editiert werden. Sehr praktisch dürften die Editorfunktionen beispielsweise auch für das Arbeiten in Entwicklungsumgebungen sein. Gibt ein innerhalb des Puffers laufender Compiler eine Fehlermeldung aus, kann die fehlerhafte Datei oder Zeile direkt angesprungen werden.

Bei den virtuellen Dateisystemen handelt es sich um ein sehr wichtiges Ausstattungsmerkmal. Die fehlende Möglichkeit, durch die Verzeichnisse zu navigieren, erschwert jedoch die Handhabung der Archive. Diese Einschränkungen läßt sich mit Hilfe der Funktion für inkrementelles Suchen teilweise wettmachen. Ich habe den Entwicklern vor einiger Zeit vorgeschlagen, hier Änderungen vorzunehmen, aber es wäre recht aufwendig zu realisieren und hat geringe Priorität. Leider wird bei manchen der virtuellen Dateisysteme sichtbar, daß die Entwicklung Fs seit einiger Zeit auf Sparflamme steht. Das RAR-VFS war nicht in der Lage, einige der mit den neuesten RAR-Versionen erstellte Archive zu verarbeiten. Praktisch wäre auch, wenn das VFS für WarpIN-Archive ausführbare WarpIN-Pakete unterstützte.

Die FFP-Funktionen stellen eine große Hilfe für Administratoren da. Sie schlagen jedenfalls FTP und Telnet. Sicherheit mag hier ein Problem darstellen; allerdings ist das FFP nicht weit verbreitet.
Die Clients für E-Mail und News sind sehr spartanisch. Nichtsdestotrotz liegt mit ihnen eine gute Notlösung für Fälle vor, in denen es um reine Textmodussysteme, nur wenige Nachrichten oder Rettungssysteme geht.

Die eingebauten FTP- und HTTP-Server sind nicht für Hochleistungsanwendungen wie den Betrieb großer Softwarearchive oder stark frequentierte Web-Sites geeignet. Dafür fehlen ihnen die erforderliche Funktionalität, die Anpassungsfähigkeit und die Sicherheitsmerkmale. Wer jedoch nach einer einfach einzurichtenden Lösung für etwa den Betrieb weniger stark frequentierter Softwarearchive, eine Hilfe bei der Entwicklung von Web-Sites auf dem lokalen Rechner oder für die Bereitstellung lokaler HTML-Dokumentation in einem kleinen Firmennetzwerk sucht und geringere Sicherheitsanforderungen hat, für den stellen die eingebauten Server eine gute Alternative dar.

Die Sammlung verschiedener, eingebauter Dienstprogramme kann dem Anwender viel Zeit sparen. Es wird nicht mehr Paket um Paket installiert und konfiguriert - einfach F starten und es kann losgehen.

Es gibt ein paar Fehler und Ungereimtheiten zu verzeichnen. Zuerst einmal kommt es manchmal vor, daß die Funktion des Editors für inkrementelles Suchen plötzlich nicht mehr ordnungsgemäß funktioniert und man nur noch rückwärts suchen kann, bis F neu gestartet wird. Dies ist sehr lästig, aber es könnte sich auch um einen Bedienungsfehler handeln.
Ein wirklicher Fehler tritt auf, wenn man sich innerhalb eines Verzeichnisses mit einem Namen befindet, der Leerzeichen enthält, und dann in ein Unterverzeichnis und wieder zurück wechselt. In diesem Fall zeigt F keine Dateien mehr an, sondern nur noch Verzeichnisse. Dieser Zustand dauert an, bis man in ein Stammverzeichnis des Verzeichnisses mit Leerzeichen im Namen wechselt. Schließlich ist F nicht in der Lage, in das Wurzelverzeichnis eines FAT32-Laufwerks zu kopieren, wenn die Funktion zum Kopieren einzelner Dateien benutzt wird. Das Kopieren über die Funktion zum Kopieren aller markierten Dateien arbeitet problemlos. Hierbei könnte es sich auch um einen Fehler im FAT32-Treiber handeln. Beide zuvor genannten Probleme bestehen nur mit der OS/2-Version.

### Fazit

F ist einer der besten Dateimanager, den es für OS/2 und andere Betriebssysteme gibt. Er ist sehr leistungsstark, extrem schnell und mit allen möglichen praktischen Funktionen ausgerüstet. Und der Preis ist unschlagbar. Die Benutzeroberfläche bedarf jedoch einiger Gewöhnung.
Wer nur Bedarf nach grundlegenderen Dateiverwaltungsfunktionen hat, sollte vielleicht ein schlankeres Programm wie File Commander/2 in Betracht ziehen. Für Anwender, die PM-Programme bevorzugen, sind eher File Manager/2 oder FileStar/2 geeignet. Fortgeschrittenen Anwendern, Administratoren und Entwicklern kann man F jedoch wärmstens empfehlen. Mein eigener Broterwerb hat viel mit Systempflege und Administrationsaufgaben zu tun, und ich möchte F dort nicht mehr missen.

Daten und Quellen: F 4.75 beta Hersteller: Duy Nguyen, Michel Normand Preis: Freeware F Homepage: http://filemanager.free.fr

Artikelverzeichnis
editor@os2voice.org
< Vorherige Seite | Inhaltsverzeichnis | Nächste Seite >
VOICE-Homepage: http://de.os2voice.org