De meeste mensen kijken naar de extensie van een bestand en raden vervolgens het type bestand van die extensie. Als je bijvoorbeeld een bestand ziet met de extensie gif, jpg, bmp of png, dan denk je aan een afbeeldingsbestand, en als je een bestand ziet met de extensie zip, ga je ervan uit dat het bestand is gecomprimeerd met een zip-compressie nut. Een bestand kan één extensie gebruiken, maar iets heel anders zijn. Linux gebruikt geen bestandsextensies; in plaats daarvan maakt het bestandstype deel uit van de bestandsnaam. Gebruik de . om het ware bestandstype te achterhalen het dossier opdracht.
Hoe het ‘bestand’-commando werkt
De opdracht file voert drie sets tests uit op een bestand:
- Bestandssysteemtests
- Magische testen
- Taaltesten
De eerste reeks tests die een geldig antwoord opleveren, vraagt om het bestandstype dat moet worden afgedrukt. Bestandssysteemtests onderzoeken de terugkeer van een stat-systeemaanroep. Het programma controleert of het bestand leeg is en of het een speciaal bestand is. Als het bestandstype wordt gevonden in het systeemkopbestand, wordt het geretourneerd als het geldige bestandstype. De magische tests controleren de inhoud van een bestand en in het bijzonder een paar bytes aan het begin die helpen bij het bepalen van het bestandstype. Er worden verschillende bestanden gebruikt om een bestand te matchen met het bestandstype, en deze worden opgeslagen in:
- /etc/magie
- /usr/share/misc/magic.mgc
- /usr/share/misc/magic
Overschrijf deze bestanden door een bestand in uw thuismap te plaatsen met de naam $HOME/.magic.mgc of $HOME/.magie. De eindtoetsen zijn taaltoetsen. Het bestand wordt gecontroleerd om te zien of het een tekstbestand is. Door de eerste paar bytes van een bestand te testen, leidt de test af of het bestand een ASCII, UTF-8, UTF-16 of een ander formaat is dat het bestand identificeert als een tekstbestand. Wanneer de tekenset is afgeleid, wordt het bestand getest in verschillende talen.
Hoe het ‘bestand’-commando te gebruiken
De het dossier opdracht heeft de volgende vorm: bestand bestandsnaam
type=”code”> Bijvoorbeeld om het type van een bestandstitel te controleren touch.svg, voer het volgende commando uit: bestand touch.svg
type=”code”> De uitvoer is ongeveer als volgt:
- touch.svg: SVG Scalable Vector Graphics-afbeelding
Verschillende bestandstypen leveren verschillende resultaten op, bijvoorbeeld:
- ODS-bestandstype: OpenDocument-spreadsheet
- PDF-bestandstype: PDF-document, versie 1.4
- CSV-bestandstype: ASCII-tekst, met zeer lange regels, met CRLF-lijnindicatoren
Meerdere bestanden verwerken
Standaard werkt de bestandsopdracht met een enkel bestand. U kunt echter een bestandsnaam specificeren die een lijst van bestanden bevat die door de het dossier opdracht. Open bijvoorbeeld een bestand met de naam testbestanden gebruik de nano-editor en voeg deze regels eraan toe:
- /etc/passwd
- /etc/pam.conf
- /etc/opt
Sla het bestand op en voer de volgende bestandsopdracht uit: file -f testfiles
type=”code”> De uitvoer ziet er ongeveer zo uit:
- /etc/passwd: ASCII-tekst
- /etc/pam.conf: ASCII-tekst
- /etc/opt: map
Een andere methode is om de het dossier commando eenmaal, maar met meerdere doelen. Bijvoorbeeld: bestand /etc/passwd /etc/pam.conf /etc/opt
De uitvoer zal ongeveer als volgt zijn:
- /etc/passwd: ASCII-tekst
- /etc/pam.conf: ASCII-tekst
- /etc/opt: map
Standaard wildcards werken ook. Om bijvoorbeeld alle bestanden in de huidige werkdirectory te testen, gebruikt u: file *
Probeer dit om te testen op mappen die beginnen met de letter D (hoofdlettergevoelig): bestand D*
De resultaten kunnen bijvoorbeeld Desktop, Documenten en Downloads zijn.
Gecomprimeerde bestanden
Wanneer u de het dossier commando tegen een gecomprimeerd bestand ziet u de uitvoer zoiets als dit:
- file.zip: ZIP-archiefgegevens, minimaal V2.0 om uit te pakken
Hoewel dit resultaat u vertelt dat het bestand een archiefbestand is, kent u de inhoud van het bestand niet. Kijk in het zipbestand om de bestandstypen van de bestanden in het gecomprimeerde bestand te zien. De volgende opdracht voert de bestandsopdracht uit op de bestanden in een ZIP-bestand: file -z bestandsnaam
type=”code”> De uitvoer toont nu de bestandstypen van bestanden in het archief.