.\" -*- coding: UTF-8 -*- '\" t .\" Title: lsfd .\" Author: [see the "AUTHOR(S)" section] .\" Generator: Asciidoctor 2.0.15 .\" Date: 2022-08-04 .\" Manual: User Commands .\" Source: util-linux 2.38.1 .\" Language: English .\" .\"******************************************************************* .\" .\" This file was generated with po4a. Translate the source file. .\" .\"******************************************************************* .TH LSFD 1 "4. August 2022" "util\-linux 2.38.1" "Dienstprogramme für Benutzer" .ie \n(.g .ds Aq \(aq .el .ds Aq ' .ss \n[.ss] 0 .nh .ad l .de URL \fI\\$2\fP <\\$1>\\$3 .. .als MTO URL .if \n[.g] \{\ . mso www.tmac . am URL . ad l . . . am MTO . ad l . . . LINKSTYLE blue R < > .\} .SH BEZEICHNUNG lsfd \- Dateideskriptoren auflisten .SH ÜBERSICHT .sp \fBlsfd\fP [Option] .SH BESCHREIBUNG .sp \fBlsfd\fP ist als ein moderner Ersatz für \fBlsof\fP(8) auf Linux\-Systemen gedacht. Im Gegensatz zu \fBlsof\fP ist \fBlsfd\fP auf den Linux\-Kernel spezialisiert; es unterstützt Linux\-spezifische Funktionen wie Namensräume mit einfacherem Code. \fBlsfd\fP ist kein direkter Ersatz für \fBlsof\fP, da die Befehlszeilenschnittstellen und Ausgabeformate unterschiedlich sind. .sp \fBlsfd\fP verwendet Libsmartcols für die Formatierung und Filterung der Ausgabe. Siehe die Beschreibung der Option \fB\-\-output\fP für die Anpassung des Ausgabeformats und die Option \fB\-\-filter\fP für die Filterung. .SH OPTIONEN .sp \fB\-l\fP, \fB\-\-threads\fP .RS 4 listet auf Thread\-Ebene auf. .RE .sp \fB\-J\fP, \fB\-\-json\fP .RS 4 verwendet das JSON\-Ausgabeformat. .RE .sp \fB\-n\fP, \fB\-\-noheadings\fP .RS 4 gibt keine Überschriften aus. .RE .sp \fB\-o\fP, \fB\-\-output\fP \fIListe\fP .RS 4 gibt an, welche Spalten ausgegeben werden sollen. Im Abschnitt \fBAUSGABESPALTEN\fP sehen Sie eine Liste aller verfügbaren Spalten. .sp Die voreingestellte Liste der Spalten kann erweitert werden, indem Sie die \fIListe\fP im Format \fI+Liste\fP angeben (beispielsweise \fBlsfd \-o +DELETED\fP). .RE .sp \fB\-r\fP, \fB\-\-raw\fP .RS 4 verwendet das Rohformat für die Ausgabe. .RE .sp \fB\-\-notruncate\fP .RS 4 kürzt den Text in Spalten nicht. .RE .sp \fB\-p\fP, \fB\-\-pid\fP \fIPIDs\fP .RS 4 sammelt Informationen nur zu den angegebenen Prozessen. \fIPIDs\fP ist eine Liste von Prozesskennungen, wobei die Einträge durch Kommata oder Leerraum getrennt sein können. Sie können diese Option mit \fBpidof\fP(1) verwenden. Siehe \fBFILTERBEISPIELE\fP. .sp Sowohl die Option \fB\-Q\fP mit einem Ausdruck, der die Prozesskennung (PID) enthält, z.B. \-Q (PID == 1), als auch die Option \fB\-p\fP, z.B. \-p 1, können das Gleiche ausgeben, aber die Option \fB\-p\fP ist viel effizienter, da sie in einem viel früheren Stadium der Verarbeitung als die Option \fB\-Q\fP agiert. .RE .sp \fB\-Q\fP, \fB\-\-filter\fP \fIFilterausdruck\fP .RS 4 gibt nur die Dateien aus, welche die im \fIFilterausdruck\fP angegebenen Bedingungen erfüllen. Siehe auch \fBFILTERBEISPIELE\fP. .RE .sp \fB\-C\fP, \fB\-\-counter\fP \fIBezeichnung\fP:\fIFilterausdruck\fP .RS 4 gibt einen benutzerdefinierten Zähler zur Verwendung in der Ausgabe mit \fB\-\-summary\fP an. \fBlsfd\fP erstellt einen Zähler mit der angegebenen \fIBezeichnung\fP. Während des Sammelns der Informationen zählt \fBlsfd\fP die Dateien, die die Bedingungen des \fIFilterausdrucks\fP erfüllen und speichert die ermittelte Anzahl im Zähler mit der angegebenen \fIBezeichnung\fP. \fBlsfd\fP wendet die mit den \fB\-\-filter\fP\-Optionen angegebenen Filter vor dem Zählen an; Dateien, die von den Filtern ausgeschlossen werden, werden nicht gezählt. .sp Weitere Informationen zu \fIFilterausdrücken\fP finden Sie im Abschnitt \fBFILTERAUSDRUCK\fP. Die \fIBezeichnung\fP sollte weder \fI{\fP noch \fI:\fP enthalten. Indem Sie diese Option mehrfach angeben, können Sie mehrere Zähler definieren. .sp Siehe auch \fBZÄHLERBEISPIELE\fP. .RE .sp \fB\-\-summary\fP[=\fIwann\fP] .RS 4 steuert die Ausgabe der Zeilen der Zusammenfassung. Das optionale Argument \fIwann\fP kann \fBonly\fP, \fBappend\fP oder \fBnever\fP sein. Wenn das Argument \fIwann\fP weggelassen wird, wird die Vorgabe \fBonly\fP verwendet. .sp Die Zusammenfassung meldet Zähler. Ein Zähler besteht aus einer Bezeichnung und einem ganzzahligen Wert. Mit der Option \fB\-\-counter\fP können Sie einen Zähler definieren. Falls Sie keinen Zähler definieren, verwendet \fBlsfd\fP zur Erstellung der Zusammenfassung eingebaute Zähler (Standardzähler). .sp ACHTUNG: Die gemeinsame Verwendung von \fB\-\-summary\fP und \fB\-\-json\fP könnte die Ausgabe unbrauchbar machen. Zulässig ist nur die Kombination von \fB\-\-summary\fP=\fBonly\fP und \fB\-\-json\fP. .RE .sp \fB\-\-debug\-filter\fP .RS 4 gibt die internen Datenstrukturen für den Filter aus und beendet das Programm. Dies ist nur für \fBlsfd\fP\-Entwickler nützlich. .RE .sp \fB\-\-dump\-counters\fP .RS 4 zeigt die in der Ausgabe mit \fB\-\-summary\fP verwendete Definition der Zähler an. .RE .sp \fB\-h\fP, \fB\-\-help\fP .RS 4 zeigt einen Hilfetext an und beendet das Programm. .RE .sp \fB\-V\fP, \fB\-\-version\fP .RS 4 zeigt die Versionsnummer an und beendet das Programm. .RE .SH AUSGABESPALTEN .sp Jede Spalte hat einen Typ. Die Typen werden in < und > eingeschlossen. .sp ACHTUNG: Die Namen und Typen der Spalten sind noch nicht stabil. Sie könnten in zukünftigen Veröffentlichungen geändert werden. .sp ASSOC <\fIZeichenkette\fP> .RS 4 Assoziation zwischen Datei und Prozess. .RE .sp BLKDRV <\fIZeichenkette\fP> .RS 4 Aus \fI/proc/devices\fP ermittelter Treibername des blockorientierten Geräts. .RE .sp CHRDRV <\fIZeichenkette\fP> .RS 4 Aus \fI/proc/devices\fP ermittelter Treibername des zeichenorientierten Geräts. .RE .sp COMMAND <\fIZeichenkette\fP> .RS 4 Befehlsname des Prozesses, welcher die Datei geöffnet hat. .RE .sp DELETED <\fIboolesch\fP> .RS 4 Erreichbarkeit aus dem Dateisystem. .RE .sp DEV <\fIZeichenkette\fP> .RS 4 Kennung des Geräts, welches die Datei enthält. .RE .sp DEVTYPE <\fIZeichenkette\fP> .RS 4 Gerätetyp (\fIblk\fP, \fIchar\fP oder \fInodev\fP). .RE .sp FD <\fIZahl\fP> .RS 4 Dateideskriptor für die Datei. .RE .sp FLAGS <\fIZeichenkette\fP> .RS 4 Beim Öffnen der Datei angegebene Schalter. .RE .sp FUID <\fIZahl\fP> .RS 4 Benutzerkennung des Dateieigentümers. .RE .sp INODE <\fIZahl\fP> .RS 4 Inode\-Nummer. .RE .sp KTHREAD <\fIboolesch\fP> .RS 4 Gibt an, ob der Prozess ein Kernel\-Thread ist oder nicht. .RE .sp MAJ:MIN <\fIZeichenkette\fP> .RS 4 Gerätekennung für Spezialgerät oder Kennung des Geräts, welches die Datei enthält. .RE .sp MAPLEN <\fIZahl\fP> .RS 4 Länge des Datei\-Mappings (in Speicherseiten). .RE .sp MISCDEV <\fIZeichenkette\fP> .RS 4 Sonstiges, aus \fI/proc/misc\fP ermitteltes zeichenorientiertes Gerät. .RE .sp MNTID <\fIZahl\fP> .RS 4 Einhängekennung. .RE .sp MODE <\fIZeichenkette\fP> .RS 4 Zugriffsmodus (rwx). .RE .sp NAME <\fIZeichenkette\fP> .RS 4 Name der Datei. .RE .sp NLINK <\fIZahl\fP> .RS 4 Anzahl der Links. .RE .sp OWNER <\fIZeichenkette\fP> .RS 4 Eigentümer der Datei. .RE .sp PARTITION <\fIZeichenkette\fP> .RS 4 Aus \fI/proc/partition\fP ermittelter Gerätename des blockorientierten Geräts. .RE .sp PID <\fIZahl\fP> .RS 4 PID des Prozesses, der die Datei geöffnet hat. .RE .sp POS <\fIZahl\fP> .RS 4 Dateiposition. .RE .sp PROTONAME <\fIZeichenkette\fP> .RS 4 Protokollname. .RE .sp RDEV <\fIZeichenkette\fP> .RS 4 Gerätekennung (falls es sich um eine Spezialdatei handelt). .RE .sp SIZE <\fIZahl\fP> .RS 4 Dateigröße. .RE .sp SOURCE <\fIZeichenkette\fP> .RS 4 Dateisystem, Partition oder das Gerät, welches die Datei enthält. .RE .sp TID <\fIZahl\fP> .RS 4 Threadkennung des Prozesses, welcher die Datei geöffnet hat. .RE .sp TYPE <\fIZeichenkette\fP> .RS 4 Dateityp. .RE .sp UID <\fIZahl\fP> .RS 4 Benutzerkennung. .RE .sp USER <\fIZeichenkette\fP> .RS 4 Benutzer des Prozesses. .RE .SH FILTERAUSDRUCK .sp \fBlsfd\fP wertet den mit der Option \fB\-\-filter\fP übergebenen Filterausdruck jedes Mal aus, bevor eine Dateizeile ausgegeben wird. \fBlsfd\fP gibt die Zeile nur aus, wenn das Ergebnis der Auswertung \fIwahr\fP ist. .sp Ein Ausdruck besteht aus Spaltennamen, wortwörtlich zu verarbeitenden Zeichen(folgen) und Operatoren wie: \f(CRDELETED\f(R, \f(CR(PID == 1)\f(R, \f(CR(NAME == "/etc/passwd")\f(R, \f(CR(PID == 1) && DELETED\f(R. \f(CRDELETED\f(R, \f(CRPID\f(R und \f(CRNAME\f(R sind in diesem Beispiel Spaltennamen. \f(CR1\f(R und \f(CR/etc/passwd\f(R sind wortwörtlich zu verarbeitende Zeichen(folgen); \f(CR==\f(R und \f(CR&&\f(R sind Operatoren. .sp Vor der Auswertung ersetzt \fBlsfd\fP Spaltennamen in dem angegebenen Ausdruck durch die tatsächlichen Spaltenwerte in der Zeile. Es gibt drei verschiedene Datentypen: \fIboolesch\fP, \fIZeichenkette\fP und \fIZahl\fP (bzw. \fIAnzahl\fP oder \fINummer\fP). Für Spalten mit \fIbooleschen\fP Werten kann der Wert für sich allein stehen. Für \fIZeichenketten\fP\- und \fIZahl\fP\-Werte muss der Wert ein Operand eines Operators sein, beispielsweise \f(CR(PID == 1)\f(R. Siehe \fBAUSGABESPALTEN\fP zu den Spaltentypen. .sp Eine wortwörtlich zu verarbeitende Zeichenfolge stellt einen Wert unmittelbar dar. Siehe BOOLLIT, STRLIT und NUMLIT. Verschiedene Datentypen haben eine unterschiedliche Syntax für diese Zeichenfolgen. .sp Ein Operator agiert mit einem oder zwei Operand(en). Ein Operator erwartet bestimmte Datentypen von seinen Operanden. Die Übergabe eines unerwarteten Datentyps an einen Operator verursacht einen Syntaxfehler. .sp Die Operatoren \fIand\fP, \fIor\fP, \fIeq\fP, \fIne\fP, \fIle\fP, \fIlt\fP, \fIge\fP, \fIgt\fP, \fI=~\fP, \fI!~\fP akzeptieren zwei Operanden. Alphabetisch benannte Operatoren haben an die Programmiersprache C angelehnte Aliase: \fI&&\fP, \fI||\fP, \fI==\fP, \fI!=\fP, \fI<\fP, \fI\(lA\fP, \fI>=\fP und \fI>\fP. .sp \fI!\fP ist der einzige Operator, der nur einen Operanden akzeptiert. .sp \fIeq\fP, \fIne\fP und deren Aliase erwarten Operanden des gleichen Datentyps. Die Übergabe dieser Operatoren liefert einen \fIbooleschen\fP Wert zurück. .sp \fIand\fP, \fIor\fP, \fInot\fP und deren Aliase erwarten Operanden \fIbooleschen\fP Datentyps. Die Übergabe dieser Operatoren liefert einen \fIbooleschen\fP Wert zurück. .sp \fIlt\fP, \fIle\fP, \fIgt\fP, \fIge\fP und deren Aliase erwarten Operanden des Datentyps \fIZahl\fP. Die Übergabe dieser Operatoren liefert einen \fIbooleschen\fP Wert zurück. .sp \fI=~\fP dient der Trefferfindung für reguläre Ausdrücke. Falls eine Zeichenkette auf der rechten Seite einem regulären Ausdruck an der linken Seite entspricht, ist das Ergebnis \fIwahr\fP. Der Operand auf der rechten Seite muss eine wortwörtliche Zeichenkette sein. Siehe STRLIT zur Syntax. .sp \fI!~\fP ist eine Abkürzung von \f(CRnot (ZEICHENKETTE =~ MUSTER)\f(R; sie kehrt das Ergebnis von \fI=~\fP um. .SS Beschränkungen .sp Die aktuelle Implementierung definiert keine Rangfolge innerhalb der Operatoren. Verwenden Sie explizit \fI(\fP und \fI)\fP, zum Gruppieren von Unterausdrücken, falls Ihr Ausdruck mehr als zwei Operatoren verwendet. .sp Für Werte vom Typ \fIZahl\fP unterstützt die Filter\-Routine nur nichtnegative ganze Zahlen. .SS "Semi\-formale Syntax" .sp EXPR .RS 4 BOOLEXP .RE .sp BOOLEXP0 .RS 4 COLUMN <\fIboolesch\fP> | BOOLLIT | \fI(\fP BOOLEXP \fI)\fP .RE .sp BOOLEXP .RS 4 BOOLEXP0 | BOOLOP1 | BOOLOP2 | BOOLOP2BL | BOOLOP2CMP | BOOLOP2REG .RE .sp COLUMN .RS 4 [_A\-Za\-z][\-_:A\-Za\-z0\-9]* .RE .sp BOOLOP1 .RS 4 \fI!\fP BOOLEXP0 | \fInot\fP BOOLEXP0 .RE .sp STREXP .RS 4 COLUMN <\fIZeichenkette\fP> | STRLIT .RE .sp NUMEXP .RS 4 COLUMN <\fINummer\fP> | NUMLIT .RE .sp BOOLLIT .RS 4 \fItrue\fP | \fIfalse\fP .RE .sp CHARS .RS 4 ( [^\(rs] | \fI\(rs\(rs\fP | \fI\(rs\(aq\fP | \fI\(rs"\fP )* .RE .sp STRLIT .RS 4 \fI\(aq\fP CHARS \fI\(aq\fP | \fI"\fP CHARS \fI"\fP .RE .sp NUMLIT .RS 4 [1\-9][0\-9]* | \fI0\fP .RE .sp BOOLOP2 .RS 4 STREXP OP2 STREXP | NUMEXP OP2 NUMEXP | BOOLEXP0 OP2 BOOLEXP0 .RE .sp OP2 .RS 4 \fI==\fP | \fIeq\fP | \fI!=\fP | \fIne\fP .RE .sp BOOLOP2BL .RS 4 BOOLEXP0 OP2BL BOOLEXP0 .RE .sp OP2BL .RS 4 \fI&&\fP | \fIand\fP | \fI||\fP | \fIor\fP .RE .sp BOOLOP2CMP .RS 4 NUMEXP OP2CMP NUMEXP .RE .sp OP2CMP .RS 4 \fI<\fP | \fIlt\fP | \fI<=\fP | \fIle\fP | \fI>\fP | \fIgt\fP | \fI>=\fP | \fIge\fP .RE .sp BOOLOP2REG .RS 4 STREXP OP2REG STRLIT .RE .sp OP2REG .RS 4 \fI=~\fP | \fI!~\fP .RE .SH FILTERBEISPIELE .sp \fBlsfd\fP verfügt über ein paar Optionen zum Filtern. Für die meisten Fälle sollten Sie die Option \fB\-Q\fP (oder \fB\-\-filter\fP) kennen. In Kombination mit \fB\-o\fP (oder \fB\-\-output\fP) können Sie die Ausgabe nach Ihren Wünschen anpassen. .sp Dateien auflisten, die den Prozessen PID 1 und PID 2 zugeordnet sind: .RS 4 .RE .sp .if n .RS 4 .nf .fam C # lsfd \-Q \(aq(PID == 1) or (PID == 2)\(aq .fam .fi .if n .RE .sp Oder alternativ das Gleiche: .RS 4 .RE .sp .if n .RS 4 .nf .fam C # lsfd \-Q \(aq(PID == 1) || (PID == 2)\(aq .fam .fi .if n .RE .sp Das Gleiche noch effizienter: .RS 4 .RE .sp .if n .RS 4 .nf .fam C # lsfd \-\-pid 1,2 .fam .fi .if n .RE .sp Statt Kommata können Leerraumzeichen verwendet werden: .RS 4 .RE .sp .if n .RS 4 .nf .fam C # lsfd \-\-pid \(aq1 2\(aq .fam .fi .if n .RE .sp \fBpidof\fP(1) verwenden, um die »firefox« zugeordneten Dateien aufzulisten: .RS 4 .RE .sp .if n .RS 4 .nf .fam C # lsfd \-\-pid "$(pidof firefox)" .fam .fi .if n .RE .sp Den ersten durch den PID\-1\-Prozess geöffneten Dateideskriptor auflisten: .RS 4 .RE .sp .if n .RS 4 .nf .fam C # lsfd \-Q \(aq(PID == 1) and (FD == 1)\(aq .fam .fi .if n .RE .sp Oder alternativ das Gleiche: .RS 4 .RE .sp .if n .RS 4 .nf .fam C # lsfd \-Q \(aq(PID == 1) && (FD == 1)\(aq .fam .fi .if n .RE .sp Alle laufenden Programme auflisten: .RS 4 .RE .sp .if n .RS 4 .nf .fam C # lsfd \-Q \(aqASSOC == "exe"\(aq .fam .fi .if n .RE .sp Oder alternativ das Gleiche: .RS 4 .RE .sp .if n .RS 4 .nf .fam C # lsfd \-Q \(aqASSOC eq "exe"\(aq .fam .fi .if n .RE .sp Das Gleiche, aber nur Dateinamen auflisten: .RS 4 .RE .sp .if n .RS 4 .nf .fam C # lsfd \-o NAME \-Q \(aqASSOC eq "exe"\(aq | sort \-u .fam .fi .if n .RE .sp Gelöschte, Prozessen zugeordnete Dateien auflisten: .RS 4 .RE .sp .if n .RS 4 .nf .fam C # lsfd \-Q \(aqDELETED\(aq .fam .fi .if n .RE .sp Nicht normale (reguläre) Dateien auflisten: .RS 4 .RE .sp .if n .RS 4 .nf .fam C # lsfd \-Q \(aqTYPE != "REG"\(aq .fam .fi .if n .RE .sp Blockgeräte auflisten: .RS 4 .RE .sp .if n .RS 4 .nf .fam C # lsfd \-Q \(aqDEVTYPE == "blk"\(aq .fam .fi .if n .RE .sp Das Gleiche mit der Spalte TYPE: .RS 4 .RE .sp .if n .RS 4 .nf .fam C # lsfd \-Q \(aqTYPE == "BLK"\(aq .fam .fi .if n .RE .sp Dateien auflisten, die das Verzeichnis »dconf« in ihrem Namen tragen: .RS 4 .RE .sp .if n .RS 4 .nf .fam C # lsfd \-Q \(aqNAME =~ ".\(rs*/dconf/.*"\(aq .fam .fi .if n .RE .sp Dateien auflisten, die in einer virtuellen QEMU\-Maschine geöffnet sind: .RS 4 .RE .sp .if n .RS 4 .nf .fam C # lsfd \-Q \(aq(COMMAND =~ ".\(rs*qemu.*") and (FD >= 0)\(aq .fam .fi .if n .RE .sp Den Kernel\-Threads zugeordnete Dateien verstecken: .RS 4 .RE .sp .if n .RS 4 .nf .fam C # lsfd \-Q \(aq!KTHREAD\(aq .fam .fi .if n .RE .SH ZÄHLER\-BEISPIELE .sp Die Anzahl der Netlink\-Socket\-Deskriptoren und Unix\-Socket\-Deskriptoren berichten: .RS 4 .RE .sp .if n .RS 4 .nf .fam C # lsfd \-\-summary=only \(rs \-C \(aqnetlink sockets\(aq:\(aq(NAME =~ "NETLINK:.*")\(aq \(rs \-C \(aqunix sockets\(aq:\(aq(NAME =~ "UNIX:.*")\(aq VALUE COUNTER 57 netlink sockets 1552 unix sockets .fam .fi .if n .RE .sp Das Gleiche, aber im JSON\-Format ausgeben: .RS 4 .RE .sp .if n .RS 4 .nf .fam C # lsfd \-\-summary=only \-\-json \(rs \-C \(aqnetlink sockets\(aq:\(aq(NAME =~ "NETLINK:.*")\(aq \(rs \-C \(aqunix sockets\(aq:\(aq(NAME =~ "UNIX:.*")\(aq { "lsfd\-summary": [ { "value": 15, "counter": "netlink sockets" },{ "value": 798, "counter": "unix sockets" } ] } .fam .fi .if n .RE .SH GESCHICHTE .sp Der Befehl \fBlsfd\fP ist seit v2.38 Teil des Pakets util\-linux. .SH AUTOREN .sp .MTO yamato\(atredhat.com "Masatake YAMATO" , .MTO kzak\(atredhat.com "Karel Zak" "" .SH "SIEHE AUCH" .sp \fBlsof\fP(8), \fBpidof\fP(1), \fBproc\fP(5) .SH "FEHLER MELDEN" .sp Verwenden Sie zum Melden von Fehlern das Fehlererfassungssystem auf .URL https://github.com/util\-linux/util\-linux/issues "" . .SH VERFÜGBARKEIT .sp Der Befehl \fBlsfd\fP ist Teil des Pakets util\-linux, das von folgender Adresse heruntergeladen werden kann: .URL https://www.kernel.org/pub/linux/utils/util\-linux/ "Linux Kernel Archive" . .PP .SH ÜBERSETZUNG Die deutsche Übersetzung dieser Handbuchseite wurde von Mario Blättermann und Helge Kreutzmann erstellt. .PP Diese Übersetzung ist Freie Dokumentation; lesen Sie die .UR https://www.gnu.org/licenses/gpl-3.0.html GNU General Public License Version 3 .UE oder neuer bezüglich der Copyright-Bedingungen. Es wird KEINE HAFTUNG übernommen. .PP Wenn Sie Fehler in der Übersetzung dieser Handbuchseite finden, schicken Sie bitte eine E-Mail an die .MT debian-l10n-german@lists.debian.org Mailingliste der Übersetzer .ME .