[OT] File type on UNIX

Jonathan M Davis jmdavisProg at gmx.com
Fri Sep 17 13:58:42 PDT 2010


On Friday 17 September 2010 13:24:36 Jérôme M. Berger wrote:
> KennyTM~ wrote:
> > On Sep 17, 10 02:26, "Jérôme M. Berger" wrote:
> >> Jérôme M. Berger wrote:
> >>> KennyTM~ wrote:
> >>>> On Sep 16, 10 04:35, "Jérôme M. Berger" wrote:
> >>>>> Nick Sabalausky wrote:
> >>>>>> I didn't think unix file systems had a concept of mime type.
> >>>>>> 
> >>>>>      It doesn't, but Unix tools use the file contents to determine
> >>>>>      the
> >>>>> 
> >>>>> mime type and then choose the app associated to the mime type.
> >>>>> 
> >>>>>          Jerome
> >>>> 
> >>>> Please don't confuse Unix with a distro.
> >>>> 
> >>>     Which distro? I used the terms "Unix tools" because it transcends
> >>> 
> >>> distributions and Unices. It is as true on Ubuntu as on *BSD or
> >>> Solaris...
> >>> 
> >>>         Jerome
> >> 
> >> BTW: http://www.darwinsys.com/file/
> >> <quote>
> >> Unlike most GUI systems, command-line UNIX systems - with this
> >> program leading the charge - don't rely on filename extentions to
> >> tell you the type of a file, but look at the file's actual contents.
> >> </quote>
> >> 
> >>     They say "UNIX systems", they don't say "Ubuntu" (which I don't use
> >> 
> >> anyway).
> >> 
> >>         Jerome
> > 
> > This describes the file(1) command, which the job is to inspect the file
> > content and conclude what kind of file it actually is.
> 
> 	I suggest you re-read the paragraph I posted. Although it was taken
> from the "file" web site, it states clearly that other apps look at
> the file contents instead of the extension. Of course, some apps
> don't care about the file type but some do. And most of those that
> do care don't use the extension.
> 
> > But this is just one particular UNIX command. The command line interface
> > in general does not care about the type of a regular file. This is
> > needed in the GUI, but it is outside of the common parts of UNIX. There
> > is no rule saying that a file manager must use file(1) or MIME type or
> > extensions to determine the file type.
> 
> 	True, but then, there is no rule that says that on windows a file
> manager must use the extension. However, on Windows, all the file
> managers I've tried have used the extension (actually, most of the
> time they don't use the extension themselves, they simply ask
> Windows to open the file and Windows uses the extension), whereas on
> UNIX most file managers use the file contents (usually, they don't
> use the file command, but instead rely on libmagic directly) and
> most applications will ignore the extension when asked to open a
> file (OK, some Windows applications do that too but on *NIX most of
> them do).
> 
> 		Jerome

It's so ingrained in Unix  that extension isn't what matters that it totally 
threw me of at one point when I couldn't get my flac files to play in audacious. 
The file browser clearly indicated that they were flac files, but audacious 
wouldn't put them in its playlist. It turns out that audacious _does_ use the 
extension, and I had screwed up with the settings on my CD ripper such that 
there was no extension on the files, so audacious didn't think that it could read 
them. That's the only time that I've ever seen that sort of problem in Linux. 
Pretty much everything uses mime type.

- Jonathan M Davis


More information about the Digitalmars-d mailing list