Der Befehl lfs

lfs-featured

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.

befehl-lfs-beispiel-1
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.

befehl-lfs-beispiel-2

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.

befehl-lfs-beispiel-3

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

befehl-lfs-beispiel-4

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

befehl-lfs-beispiel-5

Abonniere JETZT unseren Newsletter!


Verpasse nie wieder neue Beiträge und exklusive Insider-Only-Inhalte!

Joel Benseler

Click Here to Leave a Comment Below

Leave a Comment: