18. december

file

Dagens kommando er 'file', et fikst lille værktøjer der kan hjælpe dig med at finde ud af hvad en given fil er. Hvis man f.eks. falder over en fil der hedder 'test.pl' kan man prøve at køre:

file test.pl
og så får man måske følgende svar:
test.pl: perl script text
hvoraf man kan læse at indholdet af 'test.pl' er et Perl-script. Det kunne man måske godt have gættet udfra navnet, men 'file' kigger ikke på navnet, men på indholdet. Det betyder at 'file' også kan identificere filer der har fået mærkelige navne.

Derudover kan 'file' genkende flere formater end de fleste ville kunne huske, og så kan den i en del tilfælde give nogle flere oplysninger end man kan læse ud af filnavnet, f.eks. kan vi køre 'file' på 'linuxsangen.mp3', så får vi:

linuxsangen.mp3: MPEG 1.0 layer 3 audio stream data,
128 kBit/s, 44.1 kHz, jstereo

Når man kun giver en enkelt fil som argument fil 'file', er man måske ligeglad med at få filnavnet skrevet ud en gang til, så kan man tilføje et '-b', f.eks. giver:

file -b linuxsangen.mp3
kun:
MPEG 1.0 layer 3 audio stream data, 128 kBit/s, 44.1 
kHz, jstereo

Hvis man kører 'file' på en gzippet fil, får man bare at vide at det er en gzippet fil, hvis man gerne ville have at vide hvad det er der er blevet gzippet, skal man tilføje et '-z'. Hvis vi f.eks. kører 'file' på den fil der indeholder manualsiden til 'file' (den kan ligge andre steder):

file -b /usr/share/man/man1/file.1.gz
får man blot svaret:
gzip compressed data, deflated, original filename,
last modified: Tue Dec 28 04:59:23 1999, max 
compression, os: Unix
mens man med:
file -bz /usr/share/man/man1/file.1.gz
får svaret:
troff or preprocessor input text (gzip compressed 
data, deflated, original filename, last modified: 
Tue Dec 28 04:59:23 1999, max compression, os: Unix) 
hvilket siger en lille smule mere. Man kan også se at 'file' ikke kan udrette mirakler, her er den faktisk lidt i tvivl, men den har trods alt en idé, når 'file' absolut ikke kan finde ud af noget, plejer den blot at svare:
data

Endelig en lille ting til. Når et program gør tilpas grimme ting, afbryder kernen det, og laver en fil der hedder 'core'. Hvis man falder over en sådan på sit system og ikke ved hvilket program der har lavet den, kan 'file' fortælle det.