GNU/Linux >> Linux Esercitazione >  >> Ubuntu

La relazione tra i tipi di Mime e le estensioni di file?

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.


Ubuntu
  1. La differenza tra l'approvvigionamento ("." O "sorgente") ed eseguire un file in Bash?

  2. La differenza tra [[ $a ==Z* ]] e [ $a ==Z* ]?

  3. La differenza tra .exrc e .vimrc?

  4. Qual è la differenza tra Ddrescue, Gddrescue e Dd_rescue?

  5. La differenza tra Sudo e Gksu è uguale alla differenza tra Sudo -i e Sudo -s?

La differenza tra sudo e su spiegata

Differenza tra SAN e NAS

La differenza tra più, meno e la maggior parte dei comandi

Qual è la differenza tra Rsync e BTRFS in Linux?

Qual è la differenza tra Cat e Touch Command

Qual è la differenza tra fsync e syncfs?