Comment vérifier si un fichier est vide sous Linux

LinuxLinuxBeginner
Pratiquer maintenant

💡 Ce tutoriel est traduit par l'IA à partir de la version anglaise. Pour voir la version originale, vous pouvez cliquer ici

Introduction

Dans ce laboratoire (lab), vous apprendrez à vérifier si un fichier est vide sous Linux en utilisant différents outils en ligne de commande. Vous explorerez trois méthodes courantes : l'utilisation de la commande test -s pour vérifier la taille du fichier, l'emploi de la commande wc -c pour compter le nombre d'octets dans un fichier, et enfin, l'examen direct du contenu du fichier avec la commande cat. Grâce à des exemples pratiques, vous comprendrez comment chaque méthode fonctionne et comment interpréter leur sortie pour déterminer si un fichier contient des données.


Skills Graph

%%%%{init: {'theme':'neutral'}}%%%% flowchart RL linux(("Linux")) -.-> linux/BasicSystemCommandsGroup(["Basic System Commands"]) linux(("Linux")) -.-> linux/BasicFileOperationsGroup(["Basic File Operations"]) linux/BasicSystemCommandsGroup -.-> linux/echo("Text Display") linux/BasicSystemCommandsGroup -.-> linux/test("Condition Testing") linux/BasicFileOperationsGroup -.-> linux/touch("File Creating/Updating") linux/BasicFileOperationsGroup -.-> linux/cat("File Concatenating") linux/BasicFileOperationsGroup -.-> linux/wc("Text Counting") subgraph Lab Skills linux/echo -.-> lab-558711{{"Comment vérifier si un fichier est vide sous Linux"}} linux/test -.-> lab-558711{{"Comment vérifier si un fichier est vide sous Linux"}} linux/touch -.-> lab-558711{{"Comment vérifier si un fichier est vide sous Linux"}} linux/cat -.-> lab-558711{{"Comment vérifier si un fichier est vide sous Linux"}} linux/wc -.-> lab-558711{{"Comment vérifier si un fichier est vide sous Linux"}} end

Vérifier la taille d'un fichier avec test -s

Dans cette étape, vous apprendrez à vérifier si un fichier existe et n'est pas vide en utilisant la commande test avec l'option -s. La commande test est une commande intégrée au shell utilisée pour évaluer des expressions conditionnelles. Elle est souvent utilisée dans les scripts shell pour prendre des décisions.

L'option -s avec test vérifie si un fichier existe et a une taille supérieure à zéro (c'est-à-dire qu'il n'est pas vide).

Tout d'abord, créons un fichier vide et un fichier non vide dans votre répertoire ~/project.

Ouvrez votre terminal s'il n'est pas déjà ouvert. Vous devriez être dans le répertoire ~/project par défaut.

Créez un fichier vide nommé empty_file.txt :

touch empty_file.txt

Maintenant, créez un fichier nommé non_empty_file.txt et ajoutez-y du texte en utilisant la commande echo et l'opérateur de redirection >. L'opérateur > redirige la sortie d'une commande vers un fichier. Si le fichier n'existe pas, il est créé. S'il existe, son contenu est écrasé.

echo "This file has content." > non_empty_file.txt

Maintenant, utilisons la commande test -s pour vérifier ces fichiers. La commande test ne produit pas de sortie en cas de succès. Elle signale le succès ou l'échec en utilisant son code de sortie (exit status). Un code de sortie de 0 signifie succès (la condition est vraie), et un code de sortie non nul signifie échec (la condition est fausse).

Nous pouvons vérifier le code de sortie de la commande précédente en utilisant la variable spéciale $?.

Vérifiez le fichier vide :

test -s empty_file.txt
echo $?

Vous devriez voir la sortie 1, indiquant que la condition (le fichier existe et n'est pas vide) est fausse pour empty_file.txt.

Maintenant, vérifiez le fichier non vide :

test -s non_empty_file.txt
echo $?

Vous devriez voir la sortie 0, indiquant que la condition est vraie pour non_empty_file.txt.

C'est une méthode fondamentale pour vérifier les propriétés des fichiers dans la programmation shell. Vous pouvez l'utiliser pour vous assurer qu'un fichier contient du contenu avant de tenter de le traiter.

Cliquez sur Continuer pour passer à l'étape suivante.

Compter les octets d'un fichier avec wc -c

Dans cette étape, vous apprendrez à compter le nombre d'octets dans un fichier en utilisant la commande wc avec l'option -c. La commande wc est un utilitaire qui affiche le nombre de lignes, de mots et d'octets pour chaque fichier.

L'option -c indique à wc de ne compter que les octets.

Utilisons les fichiers que nous avons créés à l'étape précédente : empty_file.txt et non_empty_file.txt.

Tout d'abord, comptons les octets dans empty_file.txt. Assurez-vous d'être dans le répertoire ~/project.

wc -c empty_file.txt

Vous devriez voir une sortie similaire à celle-ci :

0 empty_file.txt

Cela montre que empty_file.txt a 0 octet, ce qui est logique car c'est un fichier vide.

Maintenant, comptons les octets dans non_empty_file.txt :

wc -c non_empty_file.txt

Vous devriez voir une sortie similaire à celle-ci :

23 non_empty_file.txt

Le nombre 23 représente le nombre d'octets dans le fichier "This file has content." suivi d'un caractère de nouvelle ligne ajouté par echo. Chaque caractère occupe généralement un octet.

La commande wc est très utile pour obtenir rapidement des informations sur la taille des fichiers. Vous pouvez également utiliser wc sans options pour obtenir le nombre de lignes, de mots et d'octets. Essayez de lancer wc non_empty_file.txt pour voir la différence.

Cliquez sur Continuer pour passer à l'étape suivante.

Afficher le contenu d'un fichier avec la commande cat

Dans cette étape, vous apprendrez à afficher le contenu d'un fichier en utilisant la commande cat. La commande cat est l'abréviation de "concatenate" (concaténer) et est principalement utilisée pour afficher le contenu des fichiers.

Utilisons les fichiers que nous avons créés aux étapes précédentes : empty_file.txt et non_empty_file.txt. Assurez-vous d'être dans le répertoire ~/project.

Tout d'abord, essayons d'afficher le contenu de empty_file.txt :

cat empty_file.txt

Étant donné que empty_file.txt est vide, la commande cat n'affichera aucune sortie.

Maintenant, affichons le contenu de non_empty_file.txt :

cat non_empty_file.txt

Vous devriez voir le contenu que nous avons ajouté à l'étape précédente :

This file has content.

La commande cat est un moyen simple et rapide d'afficher tout le contenu d'un fichier directement dans votre terminal. Soyez prudent lorsque vous utilisez cat sur des fichiers très volumineux, car elle affichera tout sur votre écran, ce qui peut être écrasant. Pour les fichiers volumineux, des commandes comme less ou more sont plus appropriées car elles vous permettent d'afficher le contenu page par page.

Vous pouvez également utiliser cat pour combiner le contenu de plusieurs fichiers et les afficher. Par exemple, si vous aviez file1.txt et file2.txt, cat file1.txt file2.txt afficherait le contenu de file1.txt suivi du contenu de file2.txt.

Cliquez sur Continuer pour terminer ce laboratoire.

Résumé

Dans ce laboratoire, vous avez appris à vérifier si un fichier est vide sous Linux en utilisant la commande test -s. Cette commande vérifie si un fichier existe et a une taille supérieure à zéro, renvoyant un statut de sortie de 0 pour vrai (non vide) et 1 pour faux (vide ou non existant). Vous avez pratiqué la création de fichiers vides et non vides et la vérification de leur statut en utilisant test -s et la vérification du statut de sortie avec $?.