More (Kommandozeilenbefehl)

more in einem X-Terminal – links unten der hervorgehobene Bereich „--Mehr--“.

more (/usr/bin/more) paginiert (engl. ‚mehr‘) Datenströme. Was eine Seite ist, wird (wenigstens bei dem POSIX-Standard unterliegenden Betriebssystemen) dabei über die Terminalsteuerung (termcap oder terminfo) bestimmt. Die Steuerung erfolgt über <stdin>.

more folgt den Richtlinien für Kommandozeilenprogramme[1], mit der Ausnahme, dass sowohl + wie auch - als option delimiter eingesetzt werden können.[2] Nicht aus Text bestehender Input hat undefinierte Ergebnisse zur Folge.

Es ist möglich, den Input-Stream nicht nur seitenweise auszugeben, sondern dabei auch mit regular expressions zu durchsuchen.

Weiters ist more eng auf das Tool ctags abgestimmt, so dass Taglines als Argument an more übergeben werden können.

Manche Hersteller haben den Standard-Funktionsumfang noch erheblich erweitert (Vor- und Zurückblättern, zeilenweises Scrolling etc.). Unter AIX etwa ist more praktisch dasselbe wie view.

Die Windows- (und die ursprüngliche MS-DOS-)Implementation verzichtet auf die meisten in POSIX standardisierten Funktionen und beschränkt sich auf die Fähigkeit, Text seitenweise auszugeben. Da das Konzept der Default I/O Descriptors (<stdin>, <stdout>, <stderr>) unter DOS und seinen Abkömmlingen nicht so stringent durchgehalten wird wie unter unixartigen Systemen, ist auch der Aufruf keineswegs konsistent und die Angabe des auszugebenden Textes muss – je nachdem – über I/O-Redirection, Pipelines oder Kommandozeilenargumente erfolgen.

Das Programm more wurde ursprünglich 1978 von Daniel Halbert geschrieben, der zu dem Zeitpunkt Student an der Universität von Kalifornien in Berkeley war. Anschließend wurde more von Eric Shienbrood und Geoff Peck stark weiterentwickelt und insbesondere um die Möglichkeit, den Input mithilfe von Regular Expressions zu durchsuchen, erweitert.

Halbert wurde nach eigener Aussage durch ein älteres Utility namens cr3 sowie eine Meldung des PDP-10-Betriebssystems ITS inspiriert, das bei mehrseitigen Ausgaben jeweils mit dem Text --MORE-- auf eine Benutzereingabe zum Weiterblättern wartete.[3] Ebendiesen Text --MORE-- gibt das Programm more in englischer Spracheinstellung aus, wenn es auf eine Benutzereingabe zum Weiterblättern wartet. Mit deutscher Spracheinstellung wird stattdessen --Mehr-- ausgegeben.

1979 wurde more in die Berkeley Software Distribution 3.0 aufgenommen und ist inzwischen Teil des POSIX-Standards.

Das Programm less wurde von more inspiriert.

Eine Nachahmung von more wurde auch in MS-DOS und später Windows aufgenommen. Hier wird der Inhalt einer Datei oder ein Inhaltsverzeichnis nach einer Seite (20 Zeilen) angehalten und nach Drücken der Leertaste fortgesetzt. Das Drücken der Enter-Taste bewirkt die Ausgabe einer Zeile.

Einzelnachweise

[Bearbeiten | Quelltext bearbeiten]
  1. 12.2 Utility Syntax Guidelines. Abgerufen am 26. Februar 2018 (englisch).
  2. more-Spezifikation in POSIX. Abgerufen am 26. Februar 2018 (englisch).
  3. Daniel Halbert: The Early History of the more Command. In: www.halwitz.org. 4. März 1994, abgerufen am 26. Februar 2018.