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'
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