Comment faire pour déterminer le type de fichier et l'encodage à partir de la ligne de commande dans Mac OS X

Généralement, si vous cherchez à déterminer le type de fichier et l'encodage d'un élément, vous pouvez simplement regarder le fichier dans le Finder Mac, vérifier l'extension du nom de fichier, Obtenir des informations sur le fichier ou même l'ouvrir rapidement. le fichier est. Bien sûr, cela est limité au système de fichiers convivial d'OS X, et il peut arriver qu'il soit nécessaire de détecter le codage d'un fichier ou le type de fichier depuis la ligne de commande, souvent avec des indices moins évidents (ou non indices du tout) qu'une extension de fichier visible.


Si vous devez déterminer ce qu'est un fichier particulier et comment il est codé, vous pouvez utiliser la commande 'fichier' avec l'indicateur majuscule i pour voir rapidement le fichier et son jeu de caractères. Pour essayer vous-même, lancez l'application Terminal et entrez la syntaxe appropriée.

La syntaxe permettant de déterminer le type d'encodage et le type de fichier dans Mac OS X (ainsi que sur la ligne de commande Linux) ressemble à ceci:

file -I filename

Notez que le drapeau est un «i» majuscule et non un minuscule. La sortie de la commande correctement exécutée se lira comme suit:

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

Regardons quelques exemples, d'abord vérifie un fichier qui s'avère être une image:

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

Le type de fichier est clairement affiché, tout comme le jeu de caractères.

Encore une fois, avec un autre fichier, qui montre comme un xml encodé en us-ascii:

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

Un autre exemple qui s'avère être un simple fichier texte:

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

Et un autre exemple qui s'avère être une application binaire exécutable:

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

Cette approche en ligne de commande pour déterminer le type et le codage des fichiers peut être utile pour de nombreuses raisons, comme l'utilisation d'un script, le dépannage ou la maintenance à distance avec ssh, la recherche de types de fichiers et de formats de fichiers spécifiques avec OS X, ou même à vos propres fins de déterminer ce qu'est un fichier mystère, quelle application l'ouvrir, et peut-être quel type d'extension il devrait avoir s'il en manque un.