Übersicht
`lesspipe` ist ein Dienstprogramm, das `less` dabei hilft, verschiedene Dateiformate über reine Textdateien hinaus zu verarbeiten. Wenn `less` eine Datei öffnet, wird das `lesspipe`-Skript ausgeführt, um den Dateiinhalt in die Standardausgabe zu konvertieren, die dann von `less` empfangen und angezeigt wird.
Hauptfunktionen
- Direkte Anzeige des Inhalts komprimierter Dateien (gzip, bzip2, xz usw.)
- Anzeige von internen Listen und Inhalten von Archivdateien (tar, zip, rar usw.)
- Extrahieren und Anzeigen von Text aus Nicht-Textdateien wie PDFs, Bildern usw. (erfordert entsprechende Tools)
- Beibehaltung der leistungsstarken Such- und Navigationsfunktionen von `less`
Installation und Konfiguration
`lesspipe` wird auf den meisten Linux-Distributionen als Teil des `less`-Pakets oder als separates `lesspipe`-Paket bereitgestellt. Der Kernpunkt ist die Einstellung der Umgebungsvariable `LESSOPEN`, damit `less` `lesspipe` verwendet.
Installationsprüfung
Es ist auf den meisten Systemen standardmäßig installiert, aber Sie können mit dem folgenden Befehl prüfen, ob es vorhanden ist.
which lesspipe
Paketinstallation (falls erforderlich)
Wenn `lesspipe` nicht installiert ist, können Sie es mit dem folgenden Befehl installieren.
Debian/Ubuntu
sudo apt update && sudo apt install less
Fedora/RHEL
sudo dnf install less
Einstellung der Umgebungsvariable LESSOPEN
Um `lesspipe` zu aktivieren, müssen Sie die Umgebungsvariable `LESSOPEN` zu Ihrer Shell-Konfigurationsdatei (z. B. `~/.bashrc`, `~/.zshrc`) hinzufügen. Der genaue Pfad zu `lesspipe` kann je nach System variieren, prüfen Sie ihn daher mit `which lesspipe`.
Beispiel für LESSOPEN-Konfiguration
export LESSOPEN="|/usr/bin/lesspipe %s"
export LESS_ADVANCED_PREPROCESSOR=1
source ~/.bashrc
Eine typische Konfiguration sieht wie folgt aus. Wenden Sie die Änderungen sofort mit dem Befehl `source` an.
Erklärung der LESSOPEN-Variable
- `|`: Bedeutet, dass die Ausgabe von `lesspipe` über eine Pipe an `less` weitergeleitet wird.
- `%s`: Ist ein Platzhalter für den Pfad der Datei, die `less` zu öffnen versucht.
- `LESS_ADVANCED_PREPROCESSOR=1`: Wird bei einigen `lesspipe`-Versionen verwendet, um erweiterte Vorverarbeitungsfunktionen zu aktivieren.
Anwendungsbeispiele
Wenn `lesspipe` korrekt konfiguriert ist, verarbeitet der Befehl `less` automatisch verschiedene Dateiformate, wenn Sie ihn wie gewohnt verwenden.
Anzeige des Inhalts einer gzip-komprimierten Datei
less my_log.gz
Zeigt den Inhalt einer `.gz`-Datei direkt mit `less` an, ohne sie zu entpacken.
Anzeige der internen Dateiliste eines tar-Archivs
less my_archive.tar.gz
Überprüft die interne Dateiliste einer `.tar.gz`-Datei mit `less`, ohne sie zu entpacken.
Anzeige der internen Dateiliste einer zip-Datei
less my_documents.zip
Überprüft die interne Dateiliste einer `.zip`-Datei mit `less`, ohne sie zu entpacken.
Anzeige des Textinhalts einer PDF-Datei
less document.pdf
Wenn Tools wie `pdftotext` installiert sind, können Sie den Textinhalt einer PDF-Datei mit `less` anzeigen.
Anzeige von Zeichenketten in Binärdateien
less /bin/ls
Bei Binärdateien können Sie die extrahierten Zeichenketten mit `less` anzeigen, indem Sie den Befehl `strings` verwenden.
Tipps & Hinweise
Tipps und Überlegungen zur effektiven Nutzung von `lesspipe`.
Benutzerdefinierte lesspipe-Skripte
Das Standard-`lesspipe`-Skript ist ein Shell-Skript. Sie können es bei Bedarf ändern oder Ihr eigenes `lesspipe`-Skript schreiben und es in der `LESSOPEN`-Variable angeben. Sie können beispielsweise zusätzliche Verarbeitungslogik für bestimmte Dateiformate hinzufügen.
- Kopieren und Ändern des vorhandenen `lesspipe`-Skripts
- Hinzufügen von Verarbeitungslogik für neue Dateiformate
- Angeben des Pfads zum benutzerdefinierten Skript in der `LESSOPEN`-Variable
Leistungsüberlegungen
Wenn Sie sehr große komprimierte Dateien oder Archive mit `lesspipe` öffnen, kann die Extraktion und Konvertierung des Dateiinhaltes einige Zeit in Anspruch nehmen. In diesem Fall kann es zu einer leichten Verzögerung kommen, bis `less` gestartet wird.
Sicherheitshinweise
`lesspipe` führt externe Befehle zur Verarbeitung von Dateien aus. Daher können Sicherheitsprobleme auftreten, wenn Sie nicht vertrauenswürdige `lesspipe`-Skripte verwenden oder wenn bösartige Dateien über `lesspipe` verarbeitet werden. Verwenden Sie immer `lesspipe` aus vertrauenswürdigen Quellen und seien Sie vorsichtig bei der Einstellung der `LESSOPEN`-Variable.
Überprüfung unterstützter Dateiformate
Durch die Überprüfung des Inhalts des auf Ihrem System installierten `lesspipe`-Skripts können Sie feststellen, welche Dateiformate unterstützt werden und welche externen Tools verwendet werden. Sie können den Skriptinhalt normalerweise mit dem Befehl `cat /usr/bin/lesspipe` (oder dem entsprechenden Pfad) anzeigen.