Der Dateibefehl kommt mit vielen Unix-Systemen und verfügt über eine Datenbank mit Signaturen, die er verwendet, um die Struktur einer unbekannten Datei zu identifizieren. Der Befehl kann auch für ein Verzeichnis verwendet werden, um es als Verzeichnis zu bestimmen. Die Syntax des Dateibefehls ist sehr einfach:
# file [file or directory]
Beispiel:
# file /tmp /tmp: sticky, directory # file /tmp/adobegc.log /tmp/adobegc.log: ASCII text
Es kann auch ausgegeben werden, wenn die Datei leer ist, was manchmal auch praktisch sein kann, um leere Dateien zu finden. Es nimmt auch Regex-Ausdrücke an, während es die Datei- oder Verzeichnisnamen bereitstellt.
Datei testet jedes Argument, um es zu klassifizieren. Es gibt drei Testreihen, die in dieser Reihenfolge durchgeführt werden:Dateisystemtests, magische Tests und Sprachtests. Der erste erfolgreiche Test bewirkt, dass der Dateityp gedruckt wird.
Der gedruckte Typ enthält normalerweise eines der Wörter text (die Datei enthält nur Druckzeichen und einige gängige Steuerzeichen und kann wahrscheinlich auf einem ASCII-Terminal sicher gelesen werden), ausführbar (die Datei enthält das Ergebnis der Kompilierung eines Programms in einer Form verständlich für den einen oder anderen UNIX-Kernel) oder Daten, die irgendetwas anderes bedeuten (Daten sind normalerweise 'binär' oder nicht druckbar).
Beispiele für Dateibefehle
1. So erhalten Sie den Dateityp:
# file file.txt
2. Um den Dateityp in Kürze zu erhalten:
# file -b file.txt # file --brief file.txt
3. So kompilieren Sie eine C-Code-Datei:
# file -C file.c # file --compile file.c
4. So veranlassen Sie einen Prüfausdruck der geparsten Form der magischen Datei:
# file -c file.txt # file --checking-printout file.txt
5. So schließen Sie den in testname genannten Test aus:
# file -e text file.txt # file --exclude text file.txt
Testname | Beschreibung |
---|---|
Anwendungstyp | EMX-Anwendungstyp (nur auf EMX). |
Text | Verschiedene Arten von Textdateien (dieser Test wird versuchen, die Textcodierung unabhängig davon zu erraten |
Codierung | Unterschiedliche Textcodierungen für weiche Magietests. |
Token | Sucht nach bekannten Tokens in Textdateien. |
cdf | Druckt Details von zusammengesetzten Dokumentdateien. |
komprimieren | Sucht nach komprimierten Dateien und sieht darin nach. |
Elf | Druckt ELF-Dateidetails. |
weich | Konsultiert magische Dateien. |
tar | Untersucht tar-Dateien. |
6. Verwenden Sie die angegebene Zeichenfolge als Trennzeichen zwischen dem Dateinamen und dem zurückgegebenen Dateiergebnis:
# file -F " " file.txt # file --separator " " file.txt
7. Lesen der Namen der zu untersuchenden Dateien aus namefile:
# file -f file.txt # file --files-from file.txt
8. Um zu bewirken, dass symbolischen Links nicht gefolgt wird:
# file -h file.txt # file --no-dereference file.txt
9. To bewirkt, dass der Dateibefehl Mime-Type-Strings ausgibt:
# file -i file.txt # file -mime file.txt
10. Wie -i, aber nur das angegebene Element ausgeben:
# file --mime-type file.txt # file --mime-encoding file.txt
11. Um beim ersten Spiel nicht aufzuhören, machen Sie weiter:
# file -k file.txt # file --keep-going file.txt
12. Die To-Option bewirkt, dass symbolischen Links gefolgt wird:
# file -L file.txt # file --dereference file.txt
13. Um eine alternative Liste von Dateien und Verzeichnissen anzugeben, die Magic enthalten:
# file -m magicfile file.txt # file --magic-file magicfile file.txt
14. So füllen Sie Dateinamen nicht auf, sodass sie in der Ausgabe ausgerichtet sind:
# file -N file.txt # file --no-pad file.txt
15. So erzwingen Sie, dass stdout nach dem Überprüfen jeder Datei geleert wird:
# file -n file.txt # file --no-buffer file.txt
16. Um die Zugriffszeit von Dateien beizubehalten:
# file -p file.txt # file --preserve-date file.txt
17. Übersetzen Sie nicht druckbare Zeichen nicht in \ooo:
# file -r file.txt # file --raw file.txt
18. Um spezielle Dateien zu lesen:
# file -s file.txt # file --special-files file.txt
19. Um die Version des Programms zu drucken und zu beenden:
# file -v
20. Um zu versuchen, in komprimierte Dateien zu schauen:
# file -z file.gz # file --uncompress file.gz
21. Um ein Nullzeichen 0 nach dem Ende des Dateinamens auszugeben:
# file -0 file.txt # file --print0 file.txt
22. So rufen Sie die Hilfe für die Datei auf:
# file --help