Startpagina > Bestands- en mapbeheer > file

file: Gids voor bestandstype-identificatie

Identificeert het type en de MIME-informatie van een bestand door de daadwerkelijke byte-inhoud te onderzoeken in plaats van de extensie. Maakt gebruik van de libmagic-database.

Overzicht

De 'file'-opdracht identificeert het type van een bestand door de inhoud te analyseren, zonder afhankelijk te zijn van de bestandsextensie. Het herkent diverse formaten zoals tekst/binair, uitvoerbare bestandsformaten (ELF), gecomprimeerde bestanden, afbeeldingen/audio, en kan ook MIME-types en coderingen uitvoeren.

Belangrijkste kenmerken

  • Identificatie op basis van daadwerkelijke inhoud, onafhankelijk van extensie
  • Kan MIME-types en tekenencoderingen uitvoeren
  • Keuze om symbolische linkdoel of de link zelf te identificeren
  • Poging om gecomprimeerde bestanden intern te controleren (-z)

Voorbeelden van gebruiksscenario's

Situaties waarin de 'file'-opdracht bijzonder nuttig is.

  • Identificatie van het werkelijke formaat van bestanden met verkeerde extensies (bijv. PDF vermomd als .jpg)
  • Vaststellen van het type van bestanden zonder extensie
  • Verwerking splitsen op basis van bestandstype in scripts
  • MIME-type detectie van geüploade bestanden in web-/netwerkservices
  • Identificatie van de symbolische link zelf of het doel
  • Analyse van interne inhoud van gecomprimeerde bestanden
  • Identificatie van uitvoerbare bestandsformaten in beveiligingsanalyse en forensisch onderzoek

Belangrijkste opties

Veelgebruikte opties zijn gegroepeerd per situatie.

1) 기본 동작 & 출력 제어

2) 입력/대상 지정

3) 매직 데이터베이스/제외/디버그

4) 도움말/버전

Gegenereerde opdracht:

Probeer de opdrachtcombinaties.

Uitleg:

`file` Voer het commando uit.

Combineer deze opties en voer de opdracht virtueel uit met de AI.

Gebruiksvoorbeelden

Veelgebruikte patronen zijn samengevat in voorbeelden.

Basisidentificatie

file /bin/ls

Geeft het bestandstype in basisformaat weer

Korte uitvoer zonder bestandsnaam

file -b /bin/ls

Eenvoudige uitvoer, gemakkelijk te verwerken in scripts

MIME-type/Codering

file --mime-type index.html && file --mime-encoding README.md

Handig voor type-identificatie in web/pipelines

Controleer ook gecomprimeerde inhoud

file -z backup.tar.gz

Schat de werkelijke inhoud van gecomprimeerde bestanden

Symbolische link zelf vs. doel

file -h symlink && file -L symlink

Controleert de link zelf (-h) of volgt de link naar het doel (-L)

MIME-types in bulk controleren met find

find . -type f -print0 | xargs -0 file --mime-type

Veilig bestandslijsten doorgeven met behulp van NUL-scheidingsteken

Locatie van de Magic Database

Het pad kan variëren afhankelijk van het systeem en de distributie.

🪄 Standaard gecompileerde Magic DB

/usr/share/file/magic.mgc

Standaardlocatie voor de meeste distributies

📁 Bron Magic Directory

/usr/share/file/magic/

Bronregels vóór compilatie (origineel, niet .mgc)

Exitcodes

Raadpleeg deze bij het afhandelen van vertakkingen in scripts.

Code Betekenis
0 Normaal: Identificatie succesvol (of gevraagde bewerking succesvol)
1 Algemeen probleem: Bestand niet gevonden/ontoegankelijk/identificatie mislukt, etc.
2 Gebruiksfout of systeemfout

Installatie

Meestal standaard geïnstalleerd, anders installeer als volgt:

Debian/Ubuntu

sudo apt update && sudo apt install -y file

RHEL/CentOS/Fedora

sudo dnf install -y file

Arch Linux

sudo pacman -S --needed file

openSUSE

sudo zypper install -y file

Tips & Aandachtspunten

  • Door `--mime-type` en `--mime-encoding` expliciet te gebruiken, kunnen verschillen in gedrag van `-i/--mime` tussen distributies/versies worden vermeden.
  • Afhandeling van symbolische links: Gebruik `-h` om de link zelf te bekijken, en `-L` om het doelbestand te controleren.
  • Bij bulkverwerking zorgt het patroon `find -print0 | xargs -0` ervoor dat bestandsnamen met spaties/nieuwe regels veilig worden verwerkt.
  • Afhankelijk van het compressieformaat kan `-z` mogelijk niet altijd de interne inhoud controleren. Decomprimeer indien nodig eerst om te controleren.

gerelateerde commando's

Functional vergelijkbare of vaak samen gebruikte commando's.


Hétzelfde categoriecommando