Potrei avere un'idea sbagliata qui, ma ho pensato che:
Tipi MIME sono codici identificativi, incorporati all'interno un file.
File .extensions sono codici identificativi, con suffisso al nome del file .
Ho pensato, da qualcosa che ho sentito negli oscuri secoli bui, che Linux fosse .extension agnostic... (forse lo era nei primi giorni, e le cose sono cambiate da allora...?)
Di recente vengo dal mondo Windows, dove, a livello di sistema operativo , un file .extension è l'unico modo (per quanto ne so) per associarlo al relativo programma applicativo.
Perché non so perché , trovo un po' sconcertante che un file chiamato "fred" e un file chiamato "fred.txt" si apre entrambi in un editor di testo.
C'è una chiara gerarchia al lavoro qui?
Migliore risposta
I tipi MIME sono solo un modo per nominare i tipi. Non hanno nulla a che fare con il modo in cui viene determinato il tipo di file.
Ci sono due modi per determinare il tipo di un file:a) guardare la sua estensione e sperare che sia accurato oppure b) guardare il suo contenuto e poi indovinare in base a quello. Se un file non ha estensione b è l'unica opzione.
Molti formati di file (binari) hanno un'intestazione specifica che puoi guardare per determinarne il tipo. Ciò rende l'opzione b abbastanza affidabile per quei tipi.
I formati di file di testo normale possono spesso essere determinati dalla loro struttura (se un file contiene molti tag html, è probabilmente un file html).
Sui sistemi unix e linux puoi usare il file
utilità della riga di comando per scoprire il tipo di file in base al suo contenuto.
Il file manager usa spesso una combinazione di opzioni aeb (ad esempio, guarda prima l'estensione del file, se non è nota (o il file non ha un'estensione), guarda il contenuto).
Il tipo di file non viene archiviato come metadati sui comuni file system Linux.