Skip to content

Filsystem og filnavn.

Int9.net skriv om filnamn, og filetternamn. Han stiller konkret spørsmål om kvifor ein nyttar seg av filetternavn:

En fil heter “README.TXT”. Dette er jo litt forvirrende – navnet på filen burde jo vært “README”. Slutten på filnavnet angir hvilken type fil dette er. “.TXT” forteller oss at dette er en tekstfil. Men vi kaller altså hele navnet (“README.TXT) for filnavnet. Er ikke det rart?


Etter mi meining er dette god oppsummering av poenget has. Int9 blander sammen semantikk og tekniske løsninger. Problemet med å referere til fila som README vil vere at ein ofte har det i forskjellige format, gjerne README.html og README.txt. Korleis skal ein skilje mellom desse filene? Og kva med programvaredistribusjoner der ein har eit program for windows, og eit for Unix? Tradisjonelt har løysinga vore filendinger. Windows er avhengig av det – unix er ikkje. På program har ikkje Unix filetternavn stortsett, fordi den går etter magic numbers…

Men like fullt er filetternamn/extensions eit nyttig verkty om ein vil ha filer med ulike namn, men som er relaterte. Eit kjapt eksempel er README.html vs. README.txt vs. README.doc. Eit anna eksempel er programkode. Gitt at ein har FooBar.c vil det kanskje kompilere til FooBar.o, og kreve headerfila FooBar.h. Om brukaren då skal redigere headerfila, istadenfor C-fila, er jo filetternavn ein enkel måte å gjer det på. Den er enkel, den fungerer, og er velkjent.

Kva oppnår ein ved å flytte dette ut i metainfoen? At eg må kjøre emacs FooBar header? Då er faktisk filetternamn enklare IMHO, og det er eit innarbeidd system. Ein annan faktor er at det er mange ulike løysinger for metadata, og så vidt eg har fått med meg er det få av desse som er støtta av arkivsystem som zip eller tar, så då ender ein opp med at metainfoen forsvinner ved kopiering mellom systemer. Om ein i tillegg skal kopiere mellom ulike plattformer har ein endå større utfordring… Filetternamn er derimot støtta av så og sei alle filsystem…

Og kva oppnår ein ved å flytte info frå filending til eige metadatafelt (filending er vel forøvrig metadata – data om data)? At det vert vanskelegare å få tilgang til denne infoen, at ein må ha eit eige API for å handtere dette, og at ein må ta omsyn til å få med metadata når ein transporterer filer mellom system. Ellers risikerer ein usynleg datatap, fordi metadata ikkje kjem med, og usynleg datatap er ekstremt synd, ettersom det kan føre til at ein tilsynelatande OK backup blir rimelig nær ubrukelig t.d.

Så mi meining er klar – behold filetternavn, men det hadde vore nyttig å oppbevare mime-type i metadata, slik at ein enkelt hadde tilgang til mime-type.

[Digg] [Reddit] [Google] [StumbleUpon]

{ 2 } Comments

  1. Vegard | 20080502 at 08:41 | Permalink

    Summerer ganske godt opp det som gikk gjennom hodet mitt da jeg leste om saken på diverse IT-fora/-sider.

  2. laborat | 20081017 at 19:57 | Permalink

    Næh, tull. Du ser vel også at det du kaller “filetternavn” opprinnelig var nettopp metadata om en fil. DOS og tidligere OS skiller mellom navn og type, og filtypen hadde en funksjon. Slik er det i mindre grad i dag og filtypen har av en eller annen grunn blitt en del av filnavnet og det er tvetydighet knyttet til hvilken type en fil egentlig har.

Post a Comment

Your email is never published nor shared. Required fields are marked *