Ist nicht weniger einfach mehr?

45

Wenn ich more filenameund tue less filename, scheinen die resultierenden Terminals ziemlich ähnlich zu sein. Ich kann meine Dateien identisch (navigieren und suchen durch j, Space, /pattern, etc.).

Es lessfällt mir schwer, das zu glauben moreund umgekehrt. Gibt es Unterschiede zwischen den beiden?

Zaid
quelle
36
lessist mehr als more, mehr oder weniger moreist weniger als less. ;-)
Alan Haggai Alavi
3
@AlanHaggaiAlavi - Das ist ein ziemlicher Zungenbrecher, den Sie dort haben: D
Kent Pawar
3
@ AlanHaggaiAlavi Das sollte eine Antwort sein. :)
Tripp Kinetics
Dies hängt davon ab, welches Unix verwendet wird. Auf einigen lessund moresind dieselben ausführbaren Dateien, auf anderen sind sie unterschiedlich.
Kusalananda

Antworten:

52

Der Unterschied meist historisch ist an diesem Punkt, ich glaube , einige Systeme sogar haben moreund lessauf die gleiche binäre hardlinked.

Ursprünglich war es moreso gut wie nur möglich, in einer Datei voranzukommen, aber für das Puffern der Ausgabe war es ziemlich anständig.

lesswurde als verbesserte moreVersion geschrieben , mit der Sie durch den angezeigten Text scrollen können

Die erste Zeile meiner man lessfasst es so ziemlich zusammen:

Less is a program similar to more, but which allows backward 
movement in the file as well as forward movement. 
user455
quelle
@jkerian: Abgesehen von Textsuche und Pufferung können Sie ein praktisches Beispiel dafür zeigen, wo sich diese beiden in Bezug auf die Befehlsimplementierung unterscheiden.
Zaid
14
Ich sehe nicht, dass es historisch ist. Ich habe noch nie ein "mehr" gesehen, mit dem Sie sich in beide Richtungen bewegen konnten. Sie können nur in mehr vorwärts bewegen. Der historische Punkt wäre, dass mehr vor weniger geschrieben wurde, was bedeutet, dass mehr als eine Seite angezeigt wird und der Befehlsname von weniger eher ein Scherz ist. Weniger ist mehr und mehr ist weniger.
Xenoterracide
1
Ich besitze hier ein Solaris 10-System, moredas sich wie ein altmodisches System verhält more- Sie können keine Seite zurückblättern. Und es ist die Standardeinstellung von PAGER.
Fährt
1
Mit anderen Worten, es sind die auf FreeBSD (vielleicht alle BSD?) Basierenden Systeme ... seit OS X auf FreeBSD basiert ... @Stefan Solaris 'Standard-Shell ohne Tab-Vervollständigung (aktiviert?) Hat mich verrückt gemacht.
Xenoterracide
7
Mehr oder weniger die richtige Antwort.
Invertzucker
25

lessist viel mehr als more, zum Beispiel haben Sie viel mehr Funktionen:

g: gehe zum Anfang der Datei
G: gehe zum Ende der Datei
/: vorwärts suchen
?: Suche rückwärts
N: Zeilennummer anzeigen
: gehe zu Zeile
F: Ähnlich wie bei tail -f, stoppen Sie mit Strg + c
S: geteilte Linien

Und ich erinnere mich nicht mehr ;-)

Bauna
quelle
3
h: alles, woran du dich nicht erinnerst;)
törzsmókus
9

Zusätzlich zu den in bereits erwähnten zusätzlichen Funktionen lessverfügt es über einen vBefehl, mit dem die aktuelle Datei vian derselben Position geöffnet wird . Wenn Sie beenden vi, werden Sie lessmit der (möglicherweise aktualisierten) angezeigten Datei wieder angemeldet.

dr-jan
quelle
1
Wenn moreinteraktiv, kann es auch vidurch Drücken von v beginnen.
Troubadour
4

Es gibt ein paar Dinge, die ich die ganze Zeit lessmache und die nicht funktionieren more(zumindest die Versionen auf den Systemen, die ich verwende. Eine verwendet G, um zum Ende der Datei und gzum Anfang zu gelangen. Dies ist für die Protokolldateien nützlich, wenn Sie für die letzten Einträge am Ende der Datei suchen. die andere sind , suchen, wo lessHighlights des Spiel, während morebringen Sie nur auf den Abschnitt der Datei in der das Spiel stattfindet, aber nicht Geben Sie an, wo es ist.

KeithB
quelle
3

Weniger hat viel mehr Funktionalität.

Mit können Sie vin den aktuellen $ EDITOR springen. Sie können mit fallen anderen angebotenen Tipps in den Tail-F-Modus konvertieren .

geoffc
quelle
3

Ubuntu hat immer noch deutlich weniger / mehr Fächer. Zumindest meins, oder der moreBefehl sendet verschiedene Argumente an weniger.

Um den Unterschied zu erkennen, suchen Sie in jedem Fall nach einer Datei mit mehr Zeilen, als Sie gleichzeitig in Ihrem Terminal sehen können. Geben Sie catdann den Dateinamen ein. Es wird nur die gesamte Datei ausgegeben. Geben Sie moredann den Dateinamen ein. Wenn Sie auf Ubuntu oder zumindest auf meiner Version (9.10) den ersten Bildschirm sehen, --More--(27%)bedeutet dies, dass die Datei mehr enthält und Sie bis jetzt 27% gesehen haben. Drücken Sie die Leertaste, um die nächste Seite anzuzeigen. lessErmöglicht das zeilenweise Hin- und Herbewegen sowie das Suchen und viele andere Dinge.

Grundsätzlich verwenden less. Sie werden wahrscheinlich nie moreetwas brauchen . Ich habe lessgroße Dateien bearbeitet und es scheint in Ordnung zu sein. Ich glaube nicht, dass es verrückte Dinge wie das Laden des Ganzen in den Speicher ( Husten Notepad) macht. Das Anzeigen der Zeilennummern kann jedoch bei großen Dateien eine Weile dauern.

kāgii
quelle
1
Der Grund für dieses Verhalten ist, dass einer der Parameter, die ein Programm beim Start erhält, der Name ist, unter dem es aufgerufen wurde. Wenn Sie die Binärdatei "less" kopieren oder mit "more" verknüpfen, ändert das Ausführen der Binärdatei durch "more" ihr Verhalten, da bekannt ist, dass sie im Kompatibilitätsmodus ausgeführt werden soll. In einem modernen Unixy-System ist tatsächlich einiges los. Auf einigen Systemen zum Beispiel sind mv, cp und rm alle gleich binär und ändern nur das Verhalten, je nachdem, wie es aufgerufen wurde. Ein extremes Beispiel dafür ist das Busybox-Projekt, das in Embedded-Linuxes beliebt ist.
Warren Young
Die Dateigrößen für / bin / more und / bin / less sind unterschiedlich und sie zeigen jeweils einen einzelnen Hardlink (Die Spalte enthält a 1).
Stefan Lasiewski
2

Zumindest auf Systemen, die ich verwendet habe:

  • more Wird automatisch beendet, wenn Sie das Ende der Datei erreichen
  • less erfordert, dass Sie explizit beenden.
Inetphantom
quelle
1

Auch weniger kann gezippte / komprimierte Dateien anzeigen, mehr kann das nicht.

Derek R.
quelle