GNU/Linux >> Tutoriels Linux >  >> Linux

Commande de fichier Linux :comment déterminer le type de fichier sous Linux

Présentation

Le file Linux La commande aide à déterminer le type d'un fichier et ses données. La commande ne tient pas compte de l'extension du fichier et exécute à la place une série de tests pour découvrir le type de données du fichier.

Dans ce didacticiel, nous allons vous montrer comment le file commande fonctionne et comment l'utiliser.

Prérequis

  • Un système exécutant Linux.
  • Accès à la fenêtre du terminal.

Syntaxe de commande de fichier

Le file La commande utilise la syntaxe de base suivante :

file [option] [file name]

Dans la syntaxe ci-dessus, file name représente le nom du fichier que vous souhaitez tester. Le file La commande effectue trois séries de tests en essayant de déterminer le type de fichier, dans cet ordre :

  • Tests du système de fichiers effectuez un appel système stat(2) et vérifiez le résultat par rapport au fichier d'en-tête système. De cette façon, le file La commande détermine si le fichier est d'un type courant pour votre système (tel qu'un fichier texte, une image, un répertoire, etc.).
  • Épreuves magiques utilisez une courte chaîne de nombres stockée près du début du fichier (« nombre magique ») pour tester si le fichier est un exécutable binaire et, si c'est le cas, déterminer son type. Les informations nécessaires pour effectuer ces tests sont stockées dans /etc/magic ou /usr/share/misc/magic à partir d'un fichier magique compilé.
  • Tests de langue utilisez une balise spéciale pour déterminer dans quel langage de programmation un fichier exécutable binaire est écrit.

La sortie de la commande fournit une brève description du fichier et du type de données. Par exemple, en utilisant le file commande pour tester un fichier texte :

file example.txt

Options de commande de fichier

Le file commande utilise les options suivantes :

Option Description
--apple Change la sortie de la commande en celle utilisée par les anciennes versions de MacOS.
-b, --brief Passe la sortie de la commande en mode bref.
-C, --compile Crée un fichier de sortie contenant une version pré-parsée du fichier ou du répertoire magique.
-c, --checking-printout Vérifie l'impression pour la version analysée du fichier magique.
-d Imprime les informations de débogage interne dans le format d'erreur standard.
-E En cas d'erreur du système de fichiers, émet un message d'erreur et quitte.
-e, --exclude Exclut un test de la liste des tests effectués sur un fichier.
--exclude-quiet Exclut les tests que le file la commande n'en sait rien.
--extension Imprime une liste des extensions valides pour le type de fichier.
-F, --separator Utilise la chaîne fournie comme séparateur entre le nom de fichier et le type de fichier.
-f, --files-from Utilise un fichier texte fourni comme liste de fichiers à tester. La liste ne doit contenir qu'un seul nom de fichier par ligne.
-h, --no-deference Désactive les liens symboliques suivants.
-i, --mime Change la sortie de la commande en une chaîne de type MIME.
--mime-type, --mime-encoding Change la sortie de la commande en une chaîne de type MIME et n'affiche que l'élément spécifié (type ou encodage).
-k, --keep-going Maintient le test après la première correspondance des résultats.
-l, --list Affiche une liste des modèles correspondants par ordre décroissant de force.
-L, --deference Active les liens symboliques suivants.
-m, --magic-file Utilise un fichier magique alternatif fourni par l'utilisateur.
-N, --no-pad Ne remplit pas les noms de fichiers pour les aligner sur la sortie.
-n, --no-buffer Vide la sortie après avoir vérifié chaque fichier.
-p, --preserve-date Tente de conserver la dernière fois que le fichier a été accédé pour le faire ressembler au file la commande ne l'a pas testé.
-P, --parameter Définit divers paramètres, tels que le nombre maximal d'octets ou la récursivité, le nombre et la limite de longueur.
-r, --raw Désactive la traduction des caractères non imprimables.
-s, --special-files Permet de lire des fichiers spéciaux.
-S, --no-sandbox Désactive le sandboxing sur les systèmes qui le prennent en charge.
-v, --version Affiche la version du file commande.
-z, --uncompress Vérifie les fichiers compressés.
-Z, --uncompress-noreport Vérifie les fichiers compressés et affiche uniquement le type de fichier sans la compression.
-0, --print0 Affiche un caractère nul après la fin du nom de fichier.
--help Affiche le message d'aide.

Exemples de commandes de fichiers

Vous trouverez ci-dessous des exemples de cas d'utilisation courants pour le file commande.

Tester plusieurs fichiers

Pour tester plusieurs fichiers simultanément, ajoutez les noms de fichiers à la fin du file commande :

file [file name 1] [file name 2] … [file name n]

Par exemple, tester un répertoire, un fichier texte, une image et une page Web :

file Example example.txt sample.png index.html

Tester tous les fichiers d'un répertoire

Ajoutez un caractère générique (* ) au file commande pour tester tous les fichiers et répertoires du répertoire de travail courant :

file *

Ajoutez le chemin d'accès à un répertoire au caractère générique pour tester le contenu de ce répertoire :

file [path to directory]/*

Par exemple, pour tester le contenu de l'exemple répertoire, utilisez :

file Example/*

Tester les fichiers dans une plage

Le file La commande vous permet de tester un sous-ensemble de fichiers dans un répertoire à l'aide de plages de style Regex. Sélectionnez une plage en plaçant les valeurs entre parenthèses. Par exemple, tester des fichiers et des répertoires avec des noms dans la plage a-l :

file [a-l]*

Étant donné que les plages de style Regex sont sensibles à la casse, la sortie dans l'exemple ci-dessus affiche uniquement les types de fichiers pour les fichiers commençant par a-l minuscule. L'ajout d'une autre plage vous permet également d'inclure des caractères majuscules :

file [a-l]* [A-L]*

Tester les fichiers d'une liste

Le file La commande vous permet d'utiliser un fichier texte comme liste de fichiers à tester. Le fichier texte ne doit contenir qu'un seul nom de fichier par ligne.

Utilisez le -f option et ajoutez le chemin du fichier de liste à file commande :

file -f list.txt

Tester les fichiers spéciaux

Le file la commande n'est pas toujours capable de lire des fichiers spéciaux, tels que les fichiers système :

file /dev/sda5

Dans l'exemple ci-dessus, la sortie de la commande file montre que /dev/sda5 est un fichier spécial de bloc mais n'offre pas de détails supplémentaires. Utilisation du -s L'option vous permet de tester entièrement les fichiers spéciaux :

sudo file -s /dev/sda5

Tester les fichiers compressés

Utilisez le -z option pour tester entièrement les fichiers compressés, en essayant de détecter leur contenu :

file -z install.tar.gz

Tester la version analysée du fichier

Utilisation de -c affiche l'impression de vérification pour la version analysée du fichier :

file -c example.txt

Cette option est généralement utilisée avec le -m option pour déboguer et installer un nouveau fichier magique.

Afficher la brève sortie

Utilisation du -b L'option affiche la version abrégée de la sortie. Cette version de la sortie affiche uniquement les types de fichiers et omet les noms de fichiers.

file -b Example example.txt sample.png index.html

Ajouter des séparateurs à la sortie

Utilisation du -F L'option vous permet de définir un caractère qui agit comme un séparateur entre les sections de nom de fichier et de type de fichier de la sortie. Par exemple, ajoutez un signe plus (+ ) comme séparateur avec :

file -F + Example example.txt sample.png index.html

Supprimer le rembourrage du nom de fichier de la sortie

Utilisez le -N option pour supprimer le rembourrage entre les sections de nom de fichier et de type de fichier de la sortie :

file -N Example example.txt sample.png index.html

La sortie résultante n'est plus alignée verticalement :


Linux
  1. Comment supprimer (supprimer) un fichier ou un répertoire sous Linux

  2. Comment utiliser la commande md5sum sous Linux

  3. Comment enregistrer la sortie de la commande dans un fichier sous Linux

  4. Comment utiliser la commande Tar sous Linux

  5. Comment déterminer de manière fiable le type de système de fichiers sous Linux ?

Comment utiliser une commande de fichier sous Linux

Comment ouvrir un fichier sous Linux

Comment mélanger les lignes dans un fichier sous Linux

Comment déterminer le type MIME d'un fichier sous Linux

Comment utiliser la commande lsof sous Linux

Comment utiliser la commande shred Linux