Der Befehl lfs
In diesem Beitrag lernen Sie den Befehl lfs (list filesystems) kennen, welcher unter Linux- / UNIX-Betriebssystemen der tabellarischen Auflistung von Dateisystemen dient. Der Befehl stellt damit auch eine Alternative zu df (disk free) dar. Neben den üblichen Informationen wie Pfad, Gesamtgröße und genutztem Speicher, die auch von dem Befehl df ausgegeben werden, kann lfs auch noch weitere ausgeben. Mit dem Werkzeug lässt sich so etwa auslesen, ob es sich um eine SSD, HDD oder einen Wechselspeicher handelt. Außerdem wird der Dateisystemtyp ausgegeben.
lfs wird von dem Entwickler Denys Séguret in der Programmiersprache Rust entwickelt.
Installation
Für die Installation von lfs wird eine vorkompilierte, ausführbare Datei heruntergeladen und im Verzeichnis /usr/local/bin/ abgelegt. Das Werkzeug kann dann ganz normal von der Befehlszeile aus verwendet werden. Zunächst wird in das Verzeichnis /usr/local/bin/ gewechselt:
cd /usr/local/bin/
Mit dem Befehl wget wird das Werkzeug nun in das aktuelle Arbeitsverzeichnis heruntergeladen:
wget https://dystroy.org/lfs/download/x86_64-unknown-linux-musl/lfs
Schließlich werden die Zugriffsberechtigungen für die neue Datei noch auf 755 (rwxr-xr-x) gesetzt:
chmod 755 /usr/local/bin/lfs
Allgemeine Syntax
Die allgemeine Syntax von lfs lautet folgendermaßen:
lfs [Optionen] [Pfad]
Wird lfs ohne jegliche Optionen und ohne Angabe eines Pfads ausgeführt, so gibt es alle "normalen" Dateisysteme tabellarisch aus. Standardmäßig werden dabei der Gerätename des Dateisystems ("filesystem"), der Dateisystemtyp ("type"), der Speichertyp ("disk"), der belegte Speicher ("used"), der belegte Speicher in Prozent ("use%"), der freie Speicher ("free"), die Gesamtkapazität ("size") und der Einhängepunkt des Dateisystems ("mount point") ausgegeben. Wird ein Pfad angegeben, so zeigt lfs nur das Dateisystem an, zu dem dieser Pfad gehört.
Bei den ausgegebenen Größen entspricht 1M standardmäßig 1.048.576 Bytes (also 1 Byte = 1024 Bit). Für die Speichertypen ("disk") sind zudem folgende Werte möglich:
Wert | Beschreibung |
---|---|
remov | Wechselspeicher (beispielsweise ein USB-Stick) |
HDD | Magnetisches Festplattenlaufwerk (Hard Disk Drive) |
SSD | Solid State Drive |
RAM | Gerät im RAM |
LVM | Gerät, das mit LVM auf eine oder mehrere Festplatten abgebildet wird |
crypt | Verschlüsseltes Laufwerk |
Beispiel: lfs ohne Argumente
Dieses Beispiel zeigt die Verwendung von lfs ohne Optionen und ohne Angabe eines Pfads.
Eingabe:
lfs
Ausgabe:
In der Ausgabe ist eine tabellarische Übersicht der eingehängten Dateisysteme mit den erwarteten Informationen zu sehen.
Beispiel: lfs mit Pfadangabe
In diesem Beispiel wird lfs ohne Optionen, aber mit einer Pfadangabe gezeigt.
Eingabe:
Als Pfad wird dem Befehl "/home" übergeben. Ziel ist es dabei, nur Informationen zu dem Dateisystem, in welchem sich "/home" befindet, auszugeben.
lfs /home
Ausgabe:
Es wird nur das Dateisystem mit dem Gerätenamen "/dev/sda3" und dem Einhängepunkt "/" ausgegeben. Das Verzeichnis "/home" befindet sich in diesem Dateisystem.
Wichtige Optionen
Die wichtigsten Optionen des Befehls lfs werden im Folgenden vorgestellt.
-a - Alle Geräte ausgeben
Sollen alle Dateisysteme ausgegeben werden, so kann hierzu die Option -a verwendet werden.
lfs -a
-c - Spalten spezifizieren
Die Option -c erlaubt die Auswahl der auszugebenden Spalten sowie auch die Festlegung ihrer Reihenfolge. Durch Übergabe von "all" an die Option -c können alle verfügbaren Spalten / Werte ausgegeben werden:
lfs -c all [Pfad]
Um auszuwählen, welche Spalten von lfs ausgegeben werden sollen, werden ihre Namen an die Option -c übergeben. Mehrere Spaltennamen werden durch Plus-Zeichen "+" getrennt hintereinander angegeben.
lfs -c [Spalten] [Pfad]
Die folgenden Spaltennamen sind verfügbar:
Spaltename | Beschreibung |
---|---|
id | Mountpunkt- / Einhängepunkt-ID |
dev | Geräte-ID |
filesystem | Gerätedatei des Dateisystems |
label | Label |
type | Dateisystemtyp |
remote | Gibt an, ob es sich um ein Remote-Dateisystem handelt |
disk | Speichertyp |
used | Belegter Speicher |
use | Grafische Anzeige des belegten Speichers |
use_percent | Belegter Speicher in Prozent |
free | Freier Speicher |
size | Gesamtkapazität |
inodesfree | Anzahl freier Inodes |
inodesused | Anzahl verwendeter Inodes |
inodes | Grafische Anzeige der verwendeten Inodes |
inodes_use_percent | Verwendete Inodes in Prozent |
inodescount | Gesamtanzahl Inodes im Dateisystem |
mount | Einhängepunkt |
Durch Verwendung von "default" können zudem alle standardmäßig angezeigten Spalten ausgegeben werden.
Beispiel: Option -c
Die Verwendung der Option -c wird in diesem Beispiel kurz gezeigt.
Eingabe:
Der Option -c wird "default+label" als Argument übergeben, um die Spalten der standardmäßigen Ausgabe auszugeben und die Spalte "label" mit den Labels der Dateisysteme rechts anzuhängen.
lfs -c default+label
Ausgabe:
In der Ausgabe sind nun die Dateisysteme mit allen standardmäßigen Spalten sowie zusätzlich auch der Spalte "label" zu sehen.
-f - Ausgabe filtern
Die auszugebenden Dateisysteme können mithilfe der Option -f und einer Bedingung zusätzlich gefiltert werden. Die Bedingung wird in einfache Anführungszeichen eingefasst.
lfs -f '[Bedingung]' [Pfad]
Eine einfache Bedingung wird aus einem Spaltennamen, einem Vergleichsoperator und einem für den Vergleich zu verwendenden Wert gebildet:
lfs -f '[Spalte][Vergleichsoperator][Wert]' [Pfad]
Folgende Vergleichsoperatoren sind verfügbar:
Operator | Funktion |
---|---|
< | Kleiner als |
<= | Kleiner oder gleich |
> | Größer als |
>= | Größer oder gleich |
<> | Ungleich |
= | "Teilweise" gleich (z.B. stimmt 'fs=sda' mit "/dev/sda1" überein) |
== | Gleich |
Mehrere solcher Vergleiche können mithilfe der logischen Operatoren "|" (oder), "&" (und) und "!" (not) kombiniert werden, um eine komplexere Bedingung zu bilden. Dabei ist auch die Verwendung von Klammern "()" erlaubt.
Beispiel: Option -f
Dieses Beispiel zeigt die Verwendung der Option -f zum Filtern der Ausgabe von lfs nach einer Bedingung. Im Vergleich zu den bisherigen Beispielen wurde hier ein USB-Stick an das System angeschlossen und unter "/tausch" eingehängt.
Eingabe:
Im Argument für die Option -f wird festgelegt, dass nur solche Dateisysteme ausgegeben werden sollen, deren Speicherbelegung unter 10% liegt oder die den Dateisystemtyp "vfat" haben.
lfs -f 'use_percent<10% | type==vfat'
Ausgabe:
Es werden in diesem Fall nur zwei Dateisysteme ausgegeben, die den vorgegebenen Bedingungen entsprechen. Der zuvor eingehängte USB-Stick mit dem Dateisystemtyp "vfat" wird damit auch angezeigt.
-j - JSON-Ausgabe
Mithilfe der Option -j kann eine JSON-Ausgabe für die Verarbeitung in anderen Programmen erzeugt werden.
lfs -j [Pfad]
-s - Ausgabe sortieren
Mit der Option -s können die auszugebenden Zeilen sortiert werden. Als Argument wird ein Spaltenname übergeben. Optional kann hinter den Spaltennamen auch noch eine Richtung angefügt werden ("-desc" für eine absteigende Sortierung und "-asc" für eine aufsteigende Sortierung).
lfs -s [Argument] [Pfad]
Beispiel: Option -s
In diesem Beispiel wird die Option -s zur Sortierung der Ausgabe von lfs gezeigt.
Eingabe:
Der Option wird die Zeichenkette "use_percent-desc" übergeben, um eine absteigende Sortierung ("-desc") der Spalte "use_percent" zu erreichen.
lfs -s use_percent-desc
Ausgabe:
In der Ausgabe ist zu sehen, dass die Dateisysteme absteigend nach ihrer prozentualen Speicherbelegung (siehe "use%") sortiert wurden.
Abonniere JETZT unseren Newsletter!
Verpasse nie wieder neue Beiträge und exklusive Insider-Only-Inhalte!