Geschachtelt

Gegenüber einfacheren Eingabefiltern für less bietet lesspipe eine besonders nützliche Eigenschaft: Es lässt sich geschachtelt einsetzen. Haben Sie beispielsweise ein gzip-komprimiertes tar-Archiv vorliegen, können Sie nicht nur die Liste der darin enthaltenen Dateien sehen, sondern auch die Inhalte dieser Dateien, wiederum interpretiert durch den Eingabefilter. In Abbildung 2 zeigt less die Datei linf/package.list aus dem Archiv linf-box.tgz an. Der Aufruf dazu sah folgendermaßen aus:

less linf-box.tgz:linf/package.list

Der Doppelpunkt dient hierbei als Trennzeichen zwischen dem Namen der Archivdatei und dem des darin enthaltenen Files.

Abbildung 2: Dateien aus einem Archiv lesen

Die Schachtelung lässt sich noch weiter treiben. Source-RPM-Archive enthalten neben den Paketinformationen auch das originale .tar.gz-Archiv mit dem Quelltext des jeweiligen Programms. Wenn Sie die Datei gnomo-0.1/README.html aus dem in gnomo-0.1.src.rpm enthaltenen Archiv gnomo-0.1.tar.gz ansehen wollen, geben Sie ein:

less gnomo-0.1.src.rpm:gnomo-0.1.tar.gz:gnomo-0.1/README.html

Aufgrund des Dateityps HTML wird die Datei mit dem Text-Web-Browser lynx gefiltert. Wollen Sie diesen Filterschritt verhindern, setzen Sie beim less-Aufruf einfach einen weiteren Doppelpunkt hinter den Dateinamen.

ASCII Art

Mit ein wenig Kenntnissen in Shell-Programmierung lässt sich lesspipe auch erweitern – beispielsweise um die Darstellung von Grafik mithilfe der Grafikfilter von netpbm [4]. Die Erweiterung ist als Patch auf der Heft-CD zu finden.

Um diesen Flicken auf das Skript anzuwenden, installieren Sie gegebenenfalls netpbm, wechseln nochmals ins Verzeichnis lesspipe-1.32 und geben dort ein:

patch < pfad_zur_cd/LinuxUser/ootb/lesspipe-asciiart.diff
perl configure
su  (root-Passwort eingeben)
make install ; exit

Der Patch fügt vier Zeilen in die Datei lesspipe.sh.in ein, die als Vorlage für das Konfigurationsskript dient. Da less nur Text anzeigen kann, wandeln netpbm-Filter Bilddateien in ASCII-Grafik um. In den Abbildungen 3 und 4 sehen Sie ein Beispiel für die "Grafikfähigkeit" des Pagers mit dieser lesspipe-Erweiterung.

Abbildung 3: Original…
Abbildung 4: …und Fälschung

Damit verlängert sich Tabelle 1 um alle von netpbm unterstützten Grafikformate. Natürlich sind mit dieser Methode nur Icons und andere einfache Grafiken erkennbar. Weitere Filtermechanismen warten darauf, eingebaut zu werden – vielleicht eine Aufgabe für launische Aprilwettertage?

Glossar

Pager

Programm zum seitenweisen ("page" ist das englische Wort für "Seite") Anzeigen einer Datei. Verbreitete Pager sind more und less [1].

Manpages

Linux besitzt wie alle Unix-Systeme eine Art Online-Referenzhandbuch für die installierten Programme. Diese Hilfe wird mit "man programmname" aufgerufen, z. B. "man less".

Shell-Skript

Eine Datei mit Kommandos, die von der Shell abgearbeitet werden. Häufig wiederkehrende Arbeitsschritte lassen sich durch Shell-Skripte gut automatisieren.

Umgebungsvariable

Eine in einer Shell gesetzte Variable, die von allen aus dieser Shell gestarteten Programmen gelesen werden kann.

vollen Pfadnamen

Der komplette Verzeichnispfad zu einer Datei. Damit wird die Position einer Datei im gesamten Dateisystem eindeutig bezeichnet. Das Kommando top hat etwa den vollen Pfadnamen /usr/bin/top.

Home-Verzeichnis

In diesem Verzeichnis findet sich ein Benutzer nach dem Anmelden (Login) wieder. Hier sind auch seine persönlichen Einstellungen gespeichert.

RPM

Mit dem "Red Hat Package Manager" (den u. a. auch SuSE einsetzt) können Softwarepakete sauber installiert und deinstalliert werden. Das zugehörige Paketformat heißt ebenfalls RPM.

netpbm

Eine Sammlung von Grafikfiltern, die verschiedene Bildformate bearbeiten oder in andere konvertieren. Anders als Gimp kommt netpbm ohne grafische Bedienung aus und ist daher ideal für Skripte geeignet.

Patch

Eine Datei, die Änderungen zu einer oder mehreren Textdateien enthält. Sie wird mit dem Kommando diff erzeugt und mit dem Kommando patch eingespielt.

Infos

[1] Heike Jurzik: "Weniger ist manchmal mehr", LinuxUser 02/2002, S. 84 f.

[2] Marianne Wachholz: "Test-Fälle", LinuxUser 03/2002, S. 80

[3] Christian Perle: "Dagegen!", LinuxUser 10/2001, S. 84 f.

[4] http://sourceforge.net/projects/netpbm/

LinuxCommunity kaufen

Einzelne Ausgabe
 
Abonnements
 
TABLET & SMARTPHONE APPS
Bald erhältlich
Get it on Google Play

Deutschland

Kommentare

Infos zur Publikation

LU 02/2018: PAKETE VERWALTEN

Digitale Ausgabe: Preis € 5,95
(inkl. 19% MwSt.)

LinuxUser erscheint monatlich und kostet 5,95 Euro (mit DVD 8,50 Euro). Weitere Infos zum Heft finden Sie auf der Homepage.

Das Jahresabo kostet ab 86,70 Euro. Details dazu finden Sie im Computec-Shop. Im Probeabo erhalten Sie zudem drei Ausgaben zum reduzierten Preis.

Bei Google Play finden Sie digitale Ausgaben für Tablet & Smartphone.

HINWEIS ZU PAYPAL: Die Zahlung ist ohne eigenes Paypal-Konto ganz einfach per Kreditkarte oder Lastschrift möglich!

Stellenmarkt

Aktuelle Fragen

sharklinux
Gerd-Peter Behrendt, 18.01.2018 23:58, 0 Antworten
Hallo zusammen, ich habe sharklinux von der DVD Installiert. 2x, jedesmal nach dem Reboot ist di...
Anfänger sucht Ratschläge
Alucard Nosferatu, 18.01.2018 21:56, 0 Antworten
Guten Tag, meine Wenigkeit würde gerne auf einer meiner Festplatten von meinen Feldrechnern e...
Suchprogramm
Heiko Taeuber, 17.01.2018 21:12, 1 Antworten
Hallo liebe Community, keine Ahnung ob dieses Thema hier schon einmal gepostet wurde. Ich hab...
Linux Mint als Zweitsystem
Wolfgang Robert Luhn, 13.01.2018 19:28, 4 Antworten
Wer kann mir helfen??? Habe einen neuen Laptop mit vorinstaliertem Windows 10 gekauft. Möchte g...
externe soundkarte Kaufempfehlung
lara grafstr , 13.01.2018 10:20, 3 Antworten
Hallo Ich bin auf Suche nach einer externen soundkarte.. Max 150 Euro Die Wiedergabe is...