GNU/Linux >> LINUX-Kenntnisse >  >> Linux

Linux-Dateibefehl:So bestimmen Sie den Dateityp in Linux

Einführung

Die Linux-file Der Befehl hilft, den Typ einer Datei und ihrer Daten zu bestimmen. Der Befehl berücksichtigt die Dateierweiterung nicht und führt stattdessen eine Reihe von Tests durch, um den Typ der Dateidaten zu ermitteln.

In diesem Tutorial zeigen wir Ihnen, wie die file Befehl funktioniert und wie man ihn benutzt.

Voraussetzungen

  • Ein System, auf dem Linux ausgeführt wird.
  • Zugriff auf das Terminalfenster.

Dateibefehlssyntax

Die file Der Befehl verwendet die folgende grundlegende Syntax:

file [option] [file name]

In der obigen Syntax file name stellt den Namen der Datei dar, die Sie testen möchten. Die file Der Befehl führt drei Testreihen durch, um den Dateityp in dieser Reihenfolge zu bestimmen:

  • Dateisystemtests einen stat(2)-Systemaufruf durchführen und das Ergebnis mit der System-Header-Datei vergleichen. Auf diese Weise wird die file bestimmt, ob die Datei ein allgemeiner Typ für Ihr System ist (z. B. eine Textdatei, ein Bild, ein Verzeichnis usw.).
  • Magische Tests Verwenden Sie eine kurze Zahlenfolge, die am Anfang der Datei gespeichert ist ("magische Zahl"), um zu testen, ob die Datei eine binäre ausführbare Datei ist, und wenn ja, bestimmen Sie ihren Typ. Die zur Durchführung dieser Tests erforderlichen Informationen werden in /etc/magic gespeichert oder /usr/share/misc/magic aus einer kompilierten magischen Datei.
  • Sprachtests Verwenden Sie ein spezielles Tag, um zu bestimmen, in welcher Programmiersprache eine ausführbare Binärdatei geschrieben ist.

Die Befehlsausgabe enthält eine kurze Beschreibung der Datei und des Datentyps. Verwenden Sie zum Beispiel die file Befehl zum Testen einer Textdatei:

file example.txt

Dateibefehlsoptionen

Die file Befehl verwendet die folgenden Optionen:

Option Beschreibung
--apple Ändert die Befehlsausgabe auf die, die von älteren Versionen von MacOS verwendet wird.
-b, --brief Ändert die Befehlsausgabe in den Kurzmodus.
-C, --compile Erstellt eine Ausgabedatei, die eine vorgeparste Version der Magic-Datei oder des Verzeichnisses enthält.
-c, --checking-printout Überprüft den Ausdruck auf die geparste Version der magischen Datei.
-d Druckt interne Debugging-Informationen im Standardfehlerformat.
-E Bei Dateisystemfehler wird eine Fehlermeldung ausgegeben und beendet.
-e, --exclude Schließt einen Test aus der Liste der für eine Datei durchgeführten Tests aus.
--exclude-quiet Schließt Tests aus, die die file Befehl weiß nichts über.
--extension Druckt eine Liste gültiger Erweiterungen für den Dateityp.
-F, --separator Verwendet die angegebene Zeichenfolge als Trennzeichen zwischen Dateiname und Dateityp.
-f, --files-from Verwendet eine bereitgestellte Textdatei als Liste der zu testenden Dateien. Die Liste darf nur einen Dateinamen pro Zeile enthalten.
-h, --no-deference Deaktiviert folgende symbolische Links.
-i, --mime Ändert die Befehlsausgabe in eine Zeichenfolge vom MIME-Typ.
--mime-type, --mime-encoding Ändert die Befehlsausgabe in eine Zeichenfolge vom MIME-Typ und zeigt nur das angegebene Element (Typ oder Kodierung) an.
-k, --keep-going Hält den Test nach der ersten Ergebnisübereinstimmung am Laufen.
-l, --list Zeigt eine Liste übereinstimmender Muster in absteigender Stärke.
-L, --deference Ermöglicht das Folgen symbolischer Links.
-m, --magic-file Verwendet eine alternative magische Datei, die vom Benutzer bereitgestellt wird.
-N, --no-pad Füllt die Dateinamen nicht auf, um sie an der Ausgabe auszurichten.
-n, --no-buffer Leert die Ausgabe nach dem Prüfen jeder Datei.
-p, --preserve-date Versucht, den letzten Zugriff auf die Datei beizubehalten, damit sie wie die file aussieht Befehl hat es nicht getestet.
-P, --parameter Legt verschiedene Parameter fest, wie z. B. maximale Bytes oder Rekursion, Anzahl und Längenbegrenzung.
-r, --raw Deaktiviert die Übersetzung nicht druckbarer Zeichen.
-s, --special-files Ermöglicht das Lesen spezieller Dateien.
-S, --no-sandbox Deaktiviert Sandboxing auf Systemen, die es unterstützen.
-v, --version Zeigt die Version der file an Befehl.
-z, --uncompress Überprüft komprimierte Dateien.
-Z, --uncompress-noreport Überprüft komprimierte Dateien und zeigt nur den Dateityp ohne Komprimierung an.
-0, --print0 Zeigt ein Nullzeichen nach dem Ende des Dateinamens an.
--help Zeigt die Hilfemeldung an.

Beispiele für Dateibefehle

Nachfolgend finden Sie Beispiele für häufige Anwendungsfälle für die file Befehl.

Mehrere Dateien testen

Um mehrere Dateien gleichzeitig zu testen, hängen Sie die Dateinamen an das Ende der file an Befehl:

file [file name 1] [file name 2] … [file name n]

Testen Sie beispielsweise ein Verzeichnis, eine Textdatei, ein Bild und eine Webseite:

file Example example.txt sample.png index.html

Alle Dateien in einem Verzeichnis testen

Fügen Sie ein Platzhalterzeichen hinzu (* ) in die file Befehl zum Testen aller Dateien und Verzeichnisse im aktuellen Arbeitsverzeichnis:

file *

Fügen Sie dem Platzhalterzeichen den Pfad zu einem Verzeichnis hinzu, um den Inhalt dieses Verzeichnisses zu testen:

file [path to directory]/*

Zum Beispiel, um den Inhalt des Beispiels zu testen Verzeichnis, verwenden Sie:

file Example/*

Testdateien in einem Bereich

Die file Mit dem Befehl können Sie eine Teilmenge von Dateien in einem Verzeichnis mithilfe von Bereichen im Regex-Stil testen. Wählen Sie einen Bereich aus, indem Sie die Werte in Klammern setzen. Zum Beispiel das Testen von Dateien und Verzeichnissen mit Namen im a-l-Bereich:

file [a-l]*

Da bei Bereichen im Regex-Stil zwischen Groß- und Kleinschreibung unterschieden wird, zeigt die Ausgabe im obigen Beispiel nur Dateitypen für Dateien, die mit den Kleinbuchstaben a-l beginnen. Wenn Sie einen weiteren Bereich hinzufügen, können Sie auch Großbuchstaben einbeziehen:

file [a-l]* [A-L]*

Dateien aus einer Liste testen

Die file Mit dem Befehl können Sie eine Textdatei als Liste der zu testenden Dateien verwenden. Die Textdatei darf nur einen Dateinamen pro Zeile enthalten.

Verwenden Sie das -f Option und fügen Sie den Pfad zur Listendatei zu file hinzu Befehl:

file -f list.txt

Spezielle Dateien testen

Die file Der Befehl ist nicht immer in der Lage, spezielle Dateien wie Systemdateien zu lesen:

file /dev/sda5

Im obigen Beispiel zeigt die Ausgabe des Dateibefehls, dass /dev/sda5 ist eine spezielle Blockdatei, bietet aber keine zusätzlichen Details. Mit dem -s Mit dieser Option können Sie spezielle Dateien vollständig testen:

sudo file -s /dev/sda5

Komprimierte Dateien testen

Verwenden Sie das -z Option, um komprimierte Dateien vollständig zu testen und zu versuchen, ihren Inhalt zu erkennen:

file -z install.tar.gz

Geparste Version der Datei testen

Mit -c Option zeigt den Prüfausdruck für die geparste Version der Datei an:

file -c example.txt

Diese Option wird normalerweise mit -m verwendet Option zum Debuggen und Installieren einer neuen magischen Datei.

Kurze Ausgabe anzeigen

Mit -b Option zeigt die Kurzversion der Ausgabe an. Diese Version der Ausgabe zeigt nur Dateitypen und lässt Dateinamen weg.

file -b Example example.txt sample.png index.html

Trennzeichen zur Ausgabe hinzufügen

Mit -F Mit der Option können Sie ein Zeichen definieren, das als Trennzeichen zwischen den Abschnitten Dateiname und Dateityp der Ausgabe dient. Fügen Sie beispielsweise ein Pluszeichen hinzu (+ ) als Trennzeichen mit:

file -F + Example example.txt sample.png index.html

Dateinamen-Padding aus der Ausgabe entfernen

Verwenden Sie das -N Option, um die Auffüllung zwischen den Abschnitten Dateiname und Dateityp der Ausgabe zu entfernen:

file -N Example example.txt sample.png index.html

Die resultierende Ausgabe ist nicht mehr vertikal ausgerichtet:


Linux
  1. So entfernen (löschen) Sie eine Datei oder ein Verzeichnis in Linux

  2. So verwenden Sie den md5sum-Befehl unter Linux

  3. So speichern Sie die Befehlsausgabe in einer Datei unter Linux

  4. So verwenden Sie den Tar-Befehl unter Linux

  5. Wie kann ich den Dateisystemtyp unter Linux zuverlässig bestimmen?

So verwenden Sie einen Dateibefehl unter Linux

So öffnen Sie eine Datei unter Linux

So mischen Sie Zeilen in einer Datei unter Linux

So bestimmen Sie den MIME-Typ einer Datei in Linux

So verwenden Sie den Befehl lsof unter Linux

So verwenden Sie den Linux-Befehl shred