Der Dateimanager Midnight Commander

Aus LinuxUser 07/2018

Der Dateimanager Midnight Commander

© Melinda Nagy, 123RF

Geisterstunde

Der Dateimanager Midnight Commander bietet auf der Konsole und im Terminal eine Menge Komfort und Funktionen.

Immer mehr Linux-Systeme sammeln und verarbeiten im Internet der Dinge Daten, etwa Server oder eingebettete Systeme. Die Administration der in aller Regel “headless”, also ohne Tastatur und Monitor, betriebenen Systeme erfolgt dabei typischerweise ferngesteuert über die Konsole. Wer dabei Wert auf etwas mehr Komfort legt, als ihn die nackte Kommandozeile bietet, der findet in den Repositories aller gängigen Distributionen eine Reihe von leistungsfähigen Werkzeugen für diesen Job.

Dazu gehört auch der Dateimanager GNU Midnight Commander oder kurz Mc. Er begnügt sich mit wenig Ressourcen, arbeitet flink und lässt sich per Remote-Shell bedienen. Sein integrierter Viewer und Editor ermöglichen einen einfachen Umgang mit Textdateien. Dabei spielt es keine Rolle, ob diese auf dem lokalen System oder auf einem entfernten Server liegen. Der Aufruf mittels sudo mc erlaubt zudem den schreibenden Zugriff auf Systemdateien.

Die über 2500 Zeilen umfassende Handbuchseite, die Sie via man mc aufrufen, nennt den Dateimanager eine “Visual Shell”, die Homepage [1] beschreibt ihn als Full-Screen-Text-Mode-Anwendung. Langer Rede kurzer Sinn: Mc ist ein Dateimanager mit einem textbasierenden grafischen Interface. Bietet das System Unterstützung für eine Maus, lässt er sich auch mit dem Zeigegerät bedienen. Nach einer kurzen Einarbeitungsphase arbeiten Sie jedoch mit den Tasten meist schneller.

Meist zählt Mc nicht zum Umfang einer Standardinstallation, deshalb müssen Sie ihn in der Regel manuell installieren. Bei Debian-basierenden Systemen wie Ubuntu und dessen Ablegern erledigen Sie das mit dem Aufruf sudo apt install mc; die Eingabe von mc startet die Software.

Abbildung 1: Der markante, in Blau gehaltene Startbildschirm des Midnight Commander.

Abbildung 1: Der markante, in Blau gehaltene Startbildschirm des Midnight Commander.

Wer sich beim Anblick der Programmoberfläche (Abbildung 1) an den Norton Commander erinnert fühlt, der liegt richtig: Bei Mc handelt es sich um einen freien, unter der GNU Public Licence stehenden Klon des legendären DOS-Tools [2]. Der Bildschirm des Dateimanagers gliedert sich in vier Bereiche: Oben gibt es eine Menüleiste, das Zentrum nehmen zwei Panels mit den Verzeichniseinträgen ein, und unten gibt es einen Eingabebereich sowie eine Leiste mit den Funktionstasten [F1]+ bis [F10].

Erstkontakt

Ein Druck auf [F9] aktiviert das Menü oben. Es enthält Einträge für die beiden Panels (Links, Rechts), für Dateifunktionen sowie für die Konfiguration. Die Tabelle “Das Mc-Menü” zeigt die grundlegenden Inhalte der obersten Menüstufe.

Menüpunkt

Inhalt

Links, Rechts

Funktionen für das jeweilige Panel (Inhalt, Ansichtsmodus …)

Datei

Dateifunktionen, Markieren von Dateigruppen, Mc beenden

Befehl

Hilfsfunktionen (Datei suchen, Verzeichnisse vergleichen, Befehlschronik …)

Optionen

Konfiguration (Tastenbelegung, Sicherheit …)

Die beiden Panels zeigen den Inhalt des Startverzeichnisses an und erlauben eine Navigation mithilfe der Pfeil- und Bildlauftasten. Das aktuelle Verzeichnis oder die aktuelle Datei erscheint farblich unterlegt. Optional lassen sich bis zu zwei Verzeichnisse beim Start per Kommandozeile übergeben; Mc stellt dann das erste davon im aktiven Panel links dar.

Alle Dateifunktionen beziehen sich auf das aktive Panel. Das Verzeichnis des inaktiven Panels bildet das Zielverzeichnis für die meisten Dateioperationen. Zwischen den beiden Bereichen wechseln Sie per Tabulator.

Dateioperationen, wie beispielsweise das Kopieren, Verschieben oder Bearbeiten, starten Sie über die unten angegebenen Funktionstasten oder per Menüauswahl. Sowohl die Schaltflächen für die Funktionstasten als auch die Menüeinträge erreichen Sie auch mit der Maus. Beim Einsatz des Mc in der Remote-Shell ist die Tastatureingabe aber nicht nur schneller, sondern häufig auch die einzige Möglichkeit.

Der Eingabetaste kommt eine besondere Bedeutung zu. Steht der Cursor auf einem Dateieintrag, startet – falls vorhanden – die mit der Datei verknüpfte Anwendung. Das gilt auch für grafische Anwendungen wie beispielsweise Gimp. Befindet sich der Cursor auf einem Verzeichnis, öffnet Mc es.

Die Tabelle “Tastenkombinationen” zeigt weitere Bedienmöglichkeiten. Mc blendet vor dem Ausführen einiger Funktionen zusätzliche Dialoge ein, die das Eingeben weiterer Bedingungen erlauben oder als Sicherheitsabfrage dienen. Innerhalb dieser Dialoge ändern sich die Tastenfunktionen wie im Abschnitt “Modifizierte Funktionen” der Tabelle angegeben.

Dateioperationen beziehen sich auf einen oder mehrere markierte Einträge. Dabei markieren Sie einzelne Einträge mit [Einfg] oder [Strg]+[T]. Befindet sich der Cursor auf einem bereits markierten Eintrag, setzt diese Aktion die Markierung zurück. Das Verlassen eines Verzeichnisses mit markierten Einträgen setzt ebenfalls alle Markierungen zurück.

Die Tabelle “Einträge markieren” zeigt einige Tastenkombinationen zum Markieren von Dateien. In der zweiten Spalte finden Sie die zugehörigen Menüpunkte.

Tastenkombination

Funktion

[Alt]+[C]

schneller Verzeichniswechsel (relativ zum aktuellen Verzeichnis)

[Alt]+[I]

Verzeichnis des aktiven Panels im anderen Panel einlesen

[Alt]+[O]

aktuellen Verzeichniseintrag im anderen Panel öffnen

[Alt]+[T]

Listenmodus ändern

[Alt]+[,]

Umschalten horizontale/vertikale Darstellung (an/aus)

[Strg]+[Leer]

Verzeichnisgröße anzeigen

[Strg]+[O]

Panels in den Hinter-/Vordergrund schalten

[Strg]+[R]

Verzeichnis im aktuellen Panel neu einlesen

[Strg]+[X][I]

Informationen zum aktuellen Eintrag im anderen Panel anzeigen (an/aus)

[Strg]+[X][Q]

Schnellansicht zum aktuellen Eintrag im anderen Panel anzeigen (an/aus)

Modifizierte Funktionen

[Tab]

nächster Auswahlpunkt

[Leer]

Auswahlpunkt an-/abwählen / Aktion ausführen

[Eingabe]

Aktion ausführen

Tastenkombination

Menüeintrag

Funktion

[Einfg] oder [Strg]+[T]

Eintrag unter Cursor markieren

[+]

Datei | Gruppe auswählen (markieren)

Gruppenauswahl auf Basis eines Musters

[Umschalt]+[+]

Datei | Auswahl umkehren

Auswahl umkehren

[-]

Datei | Gruppe abwählen (un-markieren)

Gruppenabwahl auf Basis eines Musters

Eingabezeile

Die mit den Panels verknüpfte Eingabezeile, im Mc-Jargon als shell command line bezeichnet, ermöglicht das Eingeben und Ausführen von Kommandos. [Alt]+[Eingabe] kopiert den aktuellen Dateinamen in die Kommandozeile. Um alle markierten Dateinamen des aktuellen Panels in die Kommandozeile zu übertragen, verwenden Sie [Strg]+[X][T]. Die Tabelle “Tastenkombinationen auf der Kommandozeile” zeigt weitere Möglichkeiten.

Tastenkombination

Funktion

[Alt]+[H]

Anzeige der Kommando-History

[Alt]+[N] / [Alt]+[P]

Scrollen in der Kommando-History

[Alt]+[Eingabe]

Übernahme des aktuellen Eintrags

[Strg]+[X][T]

Übernahme der markierten Einträge oder des aktiven Eintrags aus dem aktiven Panel

[Strg]+[X][Strg]+[T]

Übernahme der markierten Einträge oder des aktiven Eintrags aus dem inaktiven Panel

[Strg]+[X][P]

Übernahme des absoluten Pfads des aktiven Panels

[Strg]+[X][Strg]+[P]

Übernahme des absoluten Pfads des inaktiven Panels

[Esc]+[Tab]

Autovervollständigen für grafische Terminals (funktioniert beim zweiten Betätigen)

Daneben dürfen Sie hier jeden normalen Shell-Befehl eingeben. Mit [Strg]+[O] schalten Sie die Panels in den Hintergrund, was sich nicht nur bei mehrzeiligen Ausgaben als äußerst hilfreich erweist. Ein Wiederholen der Tastenkombination bringt die Panels wieder auf den Bildschirm. In der Standardeinstellung zeigt Mc oberhalb des Eingabebereichs zusätzliche Tipps an.

Die Eingabezeile fängt die meisten Tastatureingaben ab, die nicht direkt zu einer Funktion gehören. Das führt mitunter dazu, dass sich dort ungewollte Zeichen ansammeln, die Mc beim Betätigen der Eingabetaste dann als Kommando interpretiert. Des Weiteren beeinflussen auf der Zeile getätigte Eingaben das Verhalten einiger Kommandos. Achten Sie deswegen darauf, die Eingabezeile sauber zu halten. Wenn sich Mc irgendwie merkwürdig verhält, löschen Sie eventuell vorhandene Zeichen aus der Eingabezeile. Hilft das nicht weiter, betätigen Sie zweimal die Tabulatortaste.

Der Bereich am unteren Fensterrand zeigt die Belegung der Funktionstasten [F1]+ bis [F10] an. Die zugehörigen Funktionen lassen sich entweder über die jeweiligen Tasten, mit [Alt]+[**0**] bis [Alt]+[**9**] oder per Mausklick aufrufen. Weitere Informationen zu diesem Thema fasst der Kasten “Tastencodes” zusammen.

Tastencodes

Im Mc-Handbuch taucht – meist in Kombination mit anderen Tasten – häufig der Begriff Meta Key auf. Diese Bezeichnung stammt aus den frühen Tagen der Computerwelt. Bei aktuellen Tastaturen entspricht die Meta-Taste typischerweise [Alt]+. Tastenkombinationen mit der Meta-Taste lassen sich oft auch durch [Esc]+,[Taste] erzeugen – recht hilfreich für den Fall, dass der Fenstermanager eine Tastenkombination mit [Alt] abfängt.

Das Abfangen der Tasten tritt auch bei einigen Funktionstasten auf. Ein typisches Beispiel hierfür ist [F1]+ für die interne Hilfe und [F10]+ zum Verlassen des Dateimanagers. Betätigen Sie in diesem Fall [Esc]+, lassen Sie die Taste wieder los und drücken Sie die Zifferntaste mit der Nummer der gewünschten Funktionstaste. So erreichen Sie [F1]+ auch über [Esc]+[**1**] oder [F10] via [Esc]+[**0**].

Viewer und Editor

Den internen Dateibetrachter starten Sie mit [F3]+. Er zeigt, je nach Typ der ausgewählten Datei, deren Inhalt oder Eigenschaften an. Bei Textdateien bietet er zusätzlich die Ansicht im Hex-Format. Die Suchfunktion ([F4]) funktioniert sowohl im Text- als auch im Hex-Modus. Die auf der Handbuchseite beschriebenen Tastenkombinationen zur schnellen Navigation erweisen sich besonders bei umfangreicheren Dateien als sehr nützlich.

Mit dem internen Texteditor lassen sich Dateien mit einer Größe von bis zu 64 MByte bearbeiten. Er verfügt über ein eigenes Menü und bietet Syntax-Highlighting für verschiedene Programmiersprachen und Textformate (Abbildung 2). Auch eigene Highlighting-Formate lassen sich bei Bedarf relativ unkompliziert erstellen und einbinden.

Abbildung 2: Der in Mc integrierte Texteditor verfügt über Syntax-Highlighting für verschiedene Programmiersprachen und Textformate.

Abbildung 2: Der in Mc integrierte Texteditor verfügt über Syntax-Highlighting für verschiedene Programmiersprachen und Textformate.

Sowohl der Viewer als auch der Editor arbeiten Mc-typisch als Vollbildanwendungen; [Strg]+[O] zum Ein- und Ausblenden der Panels funktioniert auch hier. Beide Programme lassen sich separat mit mcview beziehungsweise mcedit starten, alternativ funktionieren auch die Aufrufe mc -v Datei und mc -e Datei.

Möchten Sie einen anderen Viewer oder Editor verwenden, deaktivieren Sie zunächst im Menü Optionen | Konfiguration die Einträge für die internen Programme. Anschließend setzen Sie die Umgebungsvariablen VIEWER beziehungweise EDITOR auf die gewünschten Programme. Um die Änderungen zu fixieren, fügen Sie diese Variablen der Datei ~/.bashrc hinzu.

Darüber hinaus bringt Mc unter Befehl | Dateien vergleichen das Tool mcdiff zum schnellen Vergleich zweier Textdateien mit.

Virtuelle Welten

Gepackte Dateien und solche auf entfernten Rechnern verwaltet Mc über eine Zwischenschicht namens Virtual File System Switch, kurz VFS. Laut Handbuch ermöglicht VFS den transparenten Zugriff unter anderem auf SSH-, FTP- und SMB-Server.

VFS zeichnet auch für den Umgang mit Archivdateien zuständig. Steht der Cursor auf einer Archivdatei, entpackt ein Druck auf die Eingabetaste deren Inhalt und zeigt ihn im zugehörigen Panel an. Dort lassen sich die Dateien und Verzeichnisse einsehen und bei Bedarf entpacken. Das Programm unterstützt die gängigen Formate wie beispielsweise TAR, GZ und BZIP2. Den Versuch, Dateien einem bestehenden Archiv hinzuzufügen, quittiert Mc allerdings mit einer Fehlermeldung.

Über das Benutzermenü ([F2]) verpacken Sie Dateien oder Verzeichnisse. Allerdings verwendet der Dateimanager dabei nicht das Verzeichnis des inaktiven Panels als Zielverzeichnis: Komprimieren Sie eine einzelne Datei, landet diese im Ursprungsordner, bei ganzen Verzeichnissen finden Sie das Archiv eine Verzeichnisebene höher. Dieses Verfahren entspricht nicht dem üblichen Vorgehen.

Das Herstellen einer Remote-Verbindung erfolgt über Einträge in den panelspezifischen Menüs Links und Rechts. Zur Verfügung stehen Verbindungen via FTP, SSH, SFTP und SMB. Der Eintrag Shell-Verbindung… steht im Mc-Jargon für eine SSH-Verbindung. Alternativ lassen sich die Verbindungen über den Dialog Schnelles cd herstellen, den Sie mit [Alt]+[C] öffnen. Die dort geltende Syntax zeigt Listing 1.

Listing 1

sh://User@Ziel.de/Verzeichnis
ftp://User@ftp.Ziel.de/Verzeichnis
smb://User@Ziel/Verzeichnis

TIPP

Der VFS-Layer unterstützt noch eine Vielzahl weiterer Abstraktionen. Hier lohnt sich ein Blick auf die Handbuchseite.

Mc speichert diese Eingaben in seiner History. Auf die mögliche Angabe eines FTP- oder SMB-Passworts verzichtet die Software hier aus Sicherheitsgründen. Die Angaben für User und Verzeichnis sind optional. In den Konfigurationsdateien ~/.netrc (für FTP) und ~/ssh/config (für SSH) enthaltene Einträge berücksichtigt das Tool. Enthalten diese keinen zum Server eingetragenen Benutzer, verwendet Mc im Fall von FTP den Benutzer anonymous, anderenfalls erfolgt eine entsprechende Abfrage.

Nach dem Herstellen der Verbindung lässt sich diese mit [Strg]+[X][H] zu der Hotlist genannten Favoritenliste hinzufügen (Abbildung 3). Das ermöglicht ein einfaches Wiederherstellen der Verbindung mit [Strg]+[AltGr]+[ß]. In der Hotlist lassen sich auch lokale Verzeichnisse hinterlegen.

Abbildung 3: Die aktuelle Verbindung lässt sich in einer Hotlist speichern, die in ihrer Funktion den Lesezeichen entspricht.

Abbildung 3: Die aktuelle Verbindung lässt sich in einer Hotlist speichern, die in ihrer Funktion den Lesezeichen entspricht.

Sieht man von Problemen beim Wiederaufbau der Verbindung nach einem Suspend ab, liefert Mc im Umgang mit SSH- und FTP-Verbindungen ein gutes Ergebnis. Mit seinen zwei Panels eignet sich der Dateimanager auch gut als Relaisstation zwischen zwei Servern. Erfolgt die Anzeige horizontal, verlieren Sie auch bei langen Dateinamen nicht die Übersicht (Abbildung 4).

Abbildung 4: Der Midnight Commander eignet sich auch sehr gut als Relaisstation zwischen zwei Servern.

Abbildung 4: Der Midnight Commander eignet sich auch sehr gut als Relaisstation zwischen zwei Servern.

Im Umgang mit SMB-Freigaben zeigte Mc auf unseren Testsystemen jedoch erhebliche Schwächen. Eine einmal etablierte SMB-Verbindung machte den Mc zudem sehr langsam. Ein auf den Testsystemen laufender Nautilus zeigte hier keine Probleme. Erst nach einem manuellen Mounten der SMB-Verzeichnisse lief Mc wieder zu Bestform auf.

Mc leistet auch als Remote-Shell sehr gute Dienste. In diesem Fall läuft er nicht auf dem lokalen System, sondern beispielsweise auf einem Raspberry Pi. Die Bedienung erfolgt über eine beliebige Terminalverbindung, wie Telnet oder SSH. In Abbildung 5 läuft der Mc im Hintergrund auf dem Raspberry Pi, der im Vordergrund auf einem PC.

Abbildung 5: Zwei Commander, dasselbe Verzeichnis, jedoch unterschiedlich verbunden: Der Mc im Hintergrund läuft auf dem RasPi, der im Vordergrund auf einem PC.

Abbildung 5: Zwei Commander, dasselbe Verzeichnis, jedoch unterschiedlich verbunden: Der Mc im Hintergrund läuft auf dem RasPi, der im Vordergrund auf einem PC.

Erweiterbar

Mc lässt sich in sehr weiten Grenzen konfigurieren. Die meisten Einstellungen finden Sie im Menü Optionen – das gilt sowohl für das Erscheinungsbild als auch für das Verhalten. Der Untereintrag Aussehen, den es nur in aktuellen Versionen des Mc gibt, ermöglicht zudem die Auswahl vorgefertigter Skins.

Einige der Kommandos, wie etwa jene im Benutzermenü, basieren auf vorgefertigten Skripten. Hier fügen Sie optional eigene Funktionen für häufig wiederkehrende Aufgaben hinzu oder modifizieren bestehende Einträge.

Fazit

Der schlanke und flinke Midnight Commander besticht durch seinen Funktionsumfang und die unkomplizierte Bedienung. Dank der Menüs sowie der angezeigten Funktionstastenbelegungen fällt der Lernaufwand erfreulich gering aus. Hält man sich an einige Regeln, wie beispielsweise das Trennen von nicht mehr benötigten Verbindungen, lassen sich viele Probleme vermeiden. Seine wahren Stärken spielt der Dateimanager aber beim Umgang mit Remote-Systemen aus. Dabei spielt es keine Rolle, ob er seinen Dienst lokal, per VFS oder als Remote Shell verrichtet.

Der Autor

Roman Jordan arbeitet seit über 20 Jahren mit Linux. Seine Schwerpunkte liegen in den Bereichen Linux-Kernel und der Programmierung kleiner Embedded-Plattformen.

DIESEN ARTIKEL ALS PDF KAUFEN
EXPRESS-KAUF ALS PDF
LinuxUser 07/2018 KAUFEN
EINZELNE AUSGABE
ABONNEMENTS
TABLET & SMARTPHONE APPS
E-Mail Benachrichtigung
Benachrichtige mich zu:

Hinweis: Dieser Artikel ist älter als ein Jahr, enthaltene Informationen sind möglicherweise veraltet.

0 Kommentare
Älteste
Neuste Beste Bewertung
Nach oben