Sie sind hier:

Bash: less is more

.

Bash: less is more

2010-04-12 12:00 (13 Kommentare)

'Weniger ist mehr' ist ein bekanntes Wortspiel - auch aus Unix/linux-Kreisen. Bei less und more handelt es sich jeweils, um Möglichkeiten sich den Inhalt von Dateien anzuschauen. Gerne genommen sind bei Administratoren Log-Files. More ist das ältere Programm und bietet einen kleineren Funktionsumfang. So kann man nicht zurückblättern mit more, sondern immer nur vorwärts. less hingegen bietet die Möglichkeit sowohl vor als auch zurück zu blättern.

Schauen wir uns nun die Ausgabe von more an bei der bereits mehrfach in einem vorherigen Artikel erwähnten pakete.txt.

helena@helena-home:~/Dokumente$ more pakete.txt
acl                                             install
acpi                                            install
adobereader-deu                                 install
akonadi-kde                                     deinstall
akonadi-server                                  deinstall
akregator                                       install
alsa-base                                       install
amarok                                          deinstall
anacron                                         install
apmd                                            install
app-install-data                                install
apparmor                                        install
apparmor-utils                                  install
apport                                          install
apport-qt                                       install
apt                                             install
apt-transport-https                             install
apt-utils                                       install
apt-xapian-index                                install
aptitude                                        install
apturl                                          deinstall
arj                                             install
ark                                             install
aspell                                          install
bash                                            install
bash-completion                                 install
bc                                              install
beep                                            install
belocs-locales-bin                              deinstall
bluez                                           install
bluez-alsa                                      install
bluez-cups                                      install
brltty                                          install
bsdmainutils                                    install
--Mehr--(3%)

Ich habe die Ausgabe stark verkürzt, aber es dürfte auffallen, dass es sich bei der pakete.txt um eine Textdatei handelt, in der meine installierten und deinstallierten Pakete sind. More zeigt auf der ersten Seite gerade 3% des Inhalts der Datei an. Möchte man sich die nächste Seite anschauen, dann drückt man die Leertaste und gelangt zur nächsten Seite der Bildschirmausgabe. Wie bereits erwähnt, habe ich aber keine Möglichkeit nochmal eine Seite zurück zu blättern.

less bietet mir diese Möglichkeit durch die Pfeiltasten, mit denen man dann zeilenweise herauf oder herunter scrollt, oder durch die Bild auf und Bild ab -Tasten, mit denen man sich die nächste Seite der Ausgabe anschaut.

helena@helena-home:~/Dokumente$ less pakete.txt
acl                                             install
acpi                                            install
adobereader-deu                                 install
akonadi-kde                                     deinstall
akonadi-server                                  deinstall
akregator                                       install
alsa-base                                       install
amarok                                          deinstall
anacron                                         install
apmd                                            install
app-install-data                                install
apparmor                                        install
apparmor-utils                                  install
apport                                          install
apport-qt                                       install
apt                                             install
apt-transport-https                             install
apt-utils                                       install
apt-xapian-index                                install
aptitude                                        install
apturl                                          deinstall
arj                                             install
ark                                             install
aspell                                          install
bash                                            install
bash-completion                                 install
bc                                              install
beep                                            install
belocs-locales-bin                              deinstall
bluez                                           install
bluez-alsa                                      install
bluez-cups                                      install
brltty                                          install
bsdmainutils                                    install
:

Die Ausgabe ähnelt sich auf den ersten Blick stark, ausser das unter more eben --Mehr (3%)-- steht und bei less, sobald meine Eingabe gemacht hat, der Doppelpunkt. Der Unterschied wird aber deutlich, wenn ihr selbst eine längere Datei aufruft und zu navigieren versucht. Less bietet wirklich mehr Komfort als more. Less und More eignen sich beide gut, um sich Dateien anzuschauen, die man auf gar keinen Fall verändern will. Denn diese Option gibt es bei diesen beiden Programmen nicht. In diesem Sinne schließe ich den Artikel mit den Worten: less is more. ;)

Quellen: Wikipedia-Artikel 'less' und 'more'
WikiBooks 'less'

Schlagwörter von diesem Beitrag

Zurück

Einen Kommentar schreiben

Kommentar von fresh | 2010-04-11

Hallo, mit v öffnet man in less die Datei zum editieren in seinem 'Lieblingseditor' ;)

Kommentar von Helena | 2010-04-12

Hey fresh,

danke für die Ergänzung. Mußte es gleich mal ausprobieren, aber irgendwie funktionierte es nicht. Muss ich mir morgen noch mal ansehen.

Viele Grüße
Helena

Kommentar von Phil | 2010-04-12

Meine Lieblingsfunktionen von less sind einmal der Shortcut Shift+G (ground) geht zum Ende der Datei. Und die Suchfunktion, einfach ein / eingeben und danach den Suchbegriff.
Finde das Tool für Logfiles unersetzlich :-)

Kommentar von Helena | 2010-04-12

Hey Phil,

es scheint mir so als würde ich noch einen Nachtrag zu less schreiben. ;) Danke für deine Ergänzungen.

Viele Grüße
Helena

Kommentar von jochn | 2010-04-12

na zum glück is das internet groß genug für so ne blog-posts. wenn wir schon im bereich "unnützes wissen version 9" sind, unter solaris 6 gibts kein less. das is totale kacke, das weiß ich auch, aber es ist nun mal so.
mit ? kann man übrigens rückwärts suchen, und mit "man less" bzw auf der less-homepage www.goole.de/less steht auch ganz viel zum thema.

Kommentar von Helena | 2010-04-12

Hey Jochn,

klar kann man die Tools less und more als unnütz ansehen, aber ich finde sie eigentlich ziemlich spannend - vor allem für Anfänger, um an den Dateien keine Änderungen vorzunehmen.
Und da das ja eine Reihe ist, die mit noch ein paar Editoren weitergeht, sollten less und more mMn den Anfang machen.

Aber du hast schon recht, dass Internet hat genug Platz dafür. ;) Danke für deinen Kommentar.

Viele Grüße
Helena

Kommentar von zimon | 2010-04-12

Hallo, für den Befehl v muss die Variable $EDITOR auf den entsprechenden Editor gesetzt sein. Dies kann man z.B. mit folgendem Befehl erreichen (den man sich auch in die ~/.bashrc schreiben kann)

export EDITOR=/usr/bin/vim

Eine meiner Lieblingsfunktionen ist das Folgen. Wenn ich mir eine Logdatei anzeigen lasse, so kann ich sie mit

less +F /var/log/messages

aufrufen und less zeigt mir direkt an, wenn etwas neues an die Datei angehängt wurde. Das geht auch wenn man schon in less ist, indem man einfach f drückt.
Im Prinzip ist es das gleiche wie

tail -f /var/log/messages

jedoch kann ich in less mit Strg+c das Verfolgen abbrechen und zurück scrollen.

Übrigens sind die Befehle in less denen von vim sehr ähnlich. So kann man z.B. mit 20 Shift+g zur Zeile 20 springen oder mit u (für up) und d (für down) halbe Seiten, sowie mit f (forward) und b(backward) ganze Seiten vor und zurück scrollen. Das Pendant zu Shift+g ist übrigens g, welches einen an den Anfang des Dokuments bringt. Auch Markierungen kann man wie in vim nutzen, was auch oft sehr praktisch ist. j und k können natürlich auch statt den Pfeiltasten genutzt werden.

Ich könnte noch Seitenweise weiter schwärmen (man kann sich z.B. die Zeile markieren lassen, die vor dem Scrollen die letzte war um die Stelle zum Weiterlesen einfacher zu finden) ;) less ist echt genial.

Viele Grüße,
zimon

Kommentar von Jonas | 2010-04-12

Eine super Alternative zum "einfachen" less finde ich das VIM-Makro less. Das wird unter Ubuntu automatisch mit dem Paket "vim-runtime" mitinstalliert.

Um es zu benutzen kann man z.B. in der .bash_aliases folgenden Eintrag hinzufügen:

alias less="/usr/share/vim/vim72/macros/less.sh" # Läuft bei mir unter Ubuntu Karmic

Dann wird ein Aufruf von "less <Datei>" auf vim umgeleitet, welcher auch wie less zu bedienen ist (Hoch, Runter, Links, Rechts, Q zum beenden, Suchen mit /).

Ein Riesen-Vorteil: Automatische Syntaxhervorhebung von verschiedensten Dateitypen.

Bei mir hat das seit einiger Zeit das normale less abgelöst.

Kommentar von Matthias | 2010-04-12

@Phil: Dass es diese "Shortcuts" gibt, liegt daran, dass less ziemlich viele vi-Kommandos unterstuetzt: C-u, C-d, hjkl, n, p usw. usf.

Kommentar von otzenpunk | 2010-04-13

Less kann zwar definitiv mehr als more, aber manchmal ist more trotzdem praktischer aufgrund der Art, wie der Text dargestellt wird. Während less sich nämlich das ganze Terminalfenster unter den Nagel reißt, schreibt more einfach in den Ausgabestream des Terminals. D.h. während man more benutzt, hat man zumindest bei kurzen Dateien noch einen Blick auf evtl. existierende Ausgaben früherer Befehle, und auch nachdem more zu Ende gelaufen ist, steht die Datei immer noch dort und das Fenster wird nicht geleert, was z.B. praktisch ist, wenn man Befehle aus irgendwelchen Aufzeichnungen copypasten möchte.

Außerdem spart man sich bei kurzen Dateien den einen Tastendruck um less zu verlassen. ;)

Kommentar von jochn | 2010-04-13

@ Helena
ich weiß nich wieviel ironie da angekommen ist. ich meinte eigentlich, info's zu diesen tools gibts genug im netz. und wenn man jetzt schon unbedingt trotzdem was dazu schreiben muss/will, dann sollte man das wenigstens im vorfeld fundiert recherchieren und wenigstens mal die manpage lesen. denn entgegen deinem post gibts bei (dem mit nichten unnützen) more sehr wohl die möglichkeit "zurück zu blättern".

Kommentar von Helena | 2010-04-13

Danke für die vielen hilfreichen Kommentare. :)

@jochn: Da hast Du nicht so unrecht, wie ich es gerne hätte. Ich hätte mir wirklich die Manpages anschauen sollen, hab mich aber ganz auf die recherchierten Quellen verlassen. Das war nicht wirklich überlegt.

Viele Grüße
Helena

Kommentar von hexer | 2010-07-19

Hi

Ich finde es gut, wäre ich nicht hier gelandet hätte ich von "zimon" nicht den Beitrag gelesen. Es ist ein Unterschied ob man die Dinge "nur" liest oder sie tatsächlich im täglichen leben anwendet.

ciao

zum Seitenanfang