Come determinare il tipo di file e la codifica dalla riga di comando in Mac OS X.

In genere se stai cercando di determinare il tipo di file e la codifica di un elemento, puoi semplicemente guardare il file nel Finder di Mac, controllare l'estensione del nome del file, ottenere informazioni sul file o persino aprirlo per scoprire rapidamente il file è. Naturalmente, questo è limitato al file system user-friendly di OS X, e ci sono occasioni in cui potrebbe essere necessario rilevare come un file è codificato o quale tipo di file proviene dalla riga di comando, spesso con indizi meno ovvi (o no indizi) di un'estensione di file visibile.


Se ti trovi in ​​una situazione in cui devi capire che cos'è un particolare file e come è codificato, puoi usare il comando 'file' con il flag i maiuscolo per vedere rapidamente qual è il file e il suo set di caratteri. Per provare da soli, avviare l'applicazione Terminale ed emettere la sintassi corretta.

La sintassi per determinare il tipo di file e il tipo di file in Mac OS X (e anche dalla riga di comando di Linux) è simile alla seguente:

file -I filename

Prendi nota che la bandiera è una 'i' maiuscola e non una l minuscola. L'output del comando eseguito correttamente verrà letto come segue:

/Path/To/Filename: fileformat/filetype; charset=encoding

Diamo un'occhiata ad alcuni esempi, in primo luogo sta controllando un file che si rivela essere un'immagine:

file -I ~/Desktop/iphone-plus
/Users/Paul/Desktop/iphone-plus: image/jpeg; charset=binary

Il tipo di file è chiaramente mostrato come è il set di caratteri.

Di nuovo, con un altro file, che mostra come xml codificato come us-ascii:

file -I osxdaily.com.webloc
osxdaily.com.webloc: application/xml; charset=us-ascii

Un altro esempio che si rivela essere un semplice file di testo vecchio:

file -I ~/Documents/diywatch
~/Documents/diywatch: text/plain; charset=us-ascii

E un altro esempio che si rivela essere un'applicazione binaria eseguibile:

file -I /usr/sbin/streamy
/usr/sbin/streamy: application/octet-stream; charset=binary

Questo approccio della riga di comando per determinare il tipo di file e la codifica può essere utile per molte ragioni, sia per l'utilizzo in uno script, per la risoluzione dei problemi o la manutenzione remota con ssh, per trovare tipi di file e formati di file specifici con le funzioni di ricerca integrate in OS X, o anche per i tuoi scopi di determinare che cos'è un file misterioso, quale app per aprirlo e forse quale tipo di estensione dovrebbe avere se ne manca uno.