more (Kommandozeilenbefehl)
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>
.
POSIX
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
.
DOS/Windows
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.
Geschichte
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.
Weblinks
more
: display files on a page-by-page basis – Open Group Base Specificationmore(1)
: file perusal filter for crt viewing – Debian GNU/Linux Ausführbare Programme oder Shell-Befehle Handbuchseitemore(1)
: less, more – view files – OpenBSD General Commands Manual
Einzelnachweise
- 12.2 Utility Syntax Guidelines. Abgerufen am 26. Februar 2018 (englisch).
- more-Spezifikation in POSIX. Abgerufen am 26. Februar 2018 (englisch).
- Daniel Halbert: The Early History of the more Command. In: www.halwitz.org. 4. März 1994, abgerufen am 26. Februar 2018.