Aperçu
`lesspipe` est un utilitaire qui aide `less` à traiter différents types de fichiers en plus des fichiers texte simples. Lorsque `less` ouvre un fichier, il exécute le script `lesspipe` pour convertir le contenu du fichier en sortie standard, et `less` reçoit cette sortie pour l'afficher.
Fonctionnalités principales
- Visualisation directe du contenu des fichiers compressés (gzip, bzip2, xz, etc.)
- Visualisation de la liste et du contenu des fichiers d'archive (tar, zip, rar, etc.)
- Extraction et visualisation de texte à partir de fichiers non textuels tels que les PDF et les images (nécessite des outils appropriés)
- Maintien des puissantes fonctions de recherche et de navigation de
less
Installation et configuration
`lesspipe` est généralement fourni dans le cadre du paquet `less` ou comme un paquet `lesspipe` distinct dans la plupart des distributions Linux. L'essentiel est de définir la variable d'environnement `LESSOPEN` pour que `less` utilise `lesspipe`.
Vérification de l'installation
Il est généralement installé par défaut sur la plupart des systèmes, mais vous pouvez vérifier sa présence avec la commande suivante.
which lesspipe
Installation du paquet (si nécessaire)
Si lesspipe n'est pas installé, vous pouvez l'installer avec la commande suivante.
Debian/Ubuntu
sudo apt update && sudo apt install less
Fedora/RHEL
sudo dnf install less
Configuration de la variable d'environnement LESSOPEN
Pour activer lesspipe, vous devez ajouter la variable d'environnement LESSOPEN à votre fichier de configuration de shell (par exemple, ~/.bashrc, ~/.zshrc). Le chemin exact de lesspipe peut varier selon le système, vérifiez-le avec which lesspipe.
Exemple de configuration LESSOPEN
export LESSOPEN="|/usr/bin/lesspipe %s"
export LESS_ADVANCED_PREPROCESSOR=1
source ~/.bashrc
La configuration typique est la suivante. Appliquez les modifications immédiatement avec la commande `source`.
Explication de la variable LESSOPEN
|: Indique que la sortie delesspipesera transmise àlessvia un pipe.%s: C'est un placeholder qui représente le chemin du fichier quelessessaie d'ouvrir.LESS_ADVANCED_PREPROCESSOR=1: Utilisé dans certaines versions delesspipepour activer les fonctionnalités de préprocesseur avancées.
Exemples d'utilisation
Une fois `lesspipe` correctement configuré, l'utilisation de la commande `less` comme d'habitude traitera automatiquement divers types de fichiers.
Visualisation du contenu d'un fichier compressé gzip
less my_log.gz
Visualisez directement le contenu d'un fichier `.gz` avec `less`, sans le décompresser.
Visualisation de la liste des fichiers internes d'une archive tar
less my_archive.tar.gz
Vérifiez la liste des fichiers internes d'un fichier `.tar.gz` avec `less`, sans le décompresser.
Visualisation de la liste des fichiers internes d'un fichier zip
less my_documents.zip
Vérifiez la liste des fichiers internes d'un fichier `.zip` avec `less`, sans le décompresser.
Visualisation du contenu textuel d'un fichier PDF
less document.pdf
Si des outils comme `pdftotext` sont installés, vous pouvez visualiser le contenu textuel d'un fichier PDF avec `less`.
Visualisation des chaînes de caractères d'un fichier binaire
less /bin/ls
Pour les fichiers binaires, vous pouvez visualiser les chaînes de caractères extraites avec la commande `strings` via `less`.
Conseils et précautions
Voici des conseils et des points à considérer pour utiliser `lesspipe` efficacement.
Script lesspipe personnalisé
Le script lesspipe par défaut est un script shell, vous pouvez donc le modifier selon vos besoins ou écrire votre propre script lesspipe et le spécifier dans la variable LESSOPEN. Par exemple, vous pouvez ajouter une logique de traitement supplémentaire pour des types de fichiers spécifiques.
- Copier et modifier le script
lesspipeexistant - Ajouter une logique de traitement pour de nouveaux types de fichiers
- Spécifier le chemin du script personnalisé dans la variable
LESSOPEN
Considérations de performance
L'ouverture de fichiers compressés ou d'archives très volumineux avec lesspipe peut prendre du temps pour extraire et convertir le contenu du fichier. Dans ce cas, il peut y avoir un léger délai avant que less ne démarre.
Précautions de sécurité
lesspipe exécute des commandes externes pour traiter les fichiers. Par conséquent, l'utilisation d'un script lesspipe non fiable ou le traitement de fichiers malveillants via lesspipe peut entraîner des problèmes de sécurité. Utilisez toujours lesspipe provenant d'une source fiable et soyez prudent lors de la configuration de la variable LESSOPEN.
Vérification des types de fichiers pris en charge
En examinant le contenu du script lesspipe installé sur votre système, vous pouvez savoir quels types de fichiers il prend en charge et quels outils externes il utilise. Généralement, vous pouvez visualiser le contenu du script avec la commande cat /usr/bin/lesspipe (ou le chemin correspondant).