GNU/Linux >> Tutoriels Linux >  >> Linux

Comment utiliser les opérateurs de test de fichiers Bash sous Linux

Les opérateurs de test de fichiers sont utilisés sous Linux pour vérifier et vérifier les attributs des fichiers comme la propriété ou s'ils sont un lien symbolique. Chaque opérateur de test a un objectif spécifique. Les opérateurs les plus importants sont -e et -s. Dans cet article, vous apprendrez à tester des fichiers à l'aide de l'instruction if suivie de certains opérateurs de test importants sous Linux.

Dans cet article, nous aborderons les opérateurs de test suivants :

  • Opérateur de test If -e
  • Opérateur de test If -s
  • Si -d teste l'opérateur
  • Si -h teste l'opérateur
  • Si -r opérateur de test
  • Si -O opérateur de test

Utilisation de l'opérateur if -e

L'objectif principal de l'utilisation de l'opérateur de test if-e dans Centos 8 est de vérifier si le fichier spécifique réside dans le répertoire ou non. Ainsi, si vous souhaitez vérifier l'existence d'un fichier à l'aide de if-e, vous devez suivre les étapes ci-dessous :

Créez deux nouveaux fichiers nommés Test.txt et FileTestOperators.sh respectivement. L'extension .sh appartient au fichier bash. Vous pouvez créer les deux directement dans le répertoire personnel ou avec la commande suivante :

$ touch Test.txt
$ touch FileTestOperators.sh

Si vous souhaitez authentifier si le fichier est créé ou non, utilisez la commande suivante :

$ ls -l Test.txt

Vous pouvez voir que les deux fichiers sont créés dans le répertoire de base.

Ouvrez le fichier FileTestOperators.sh et notez le script comme indiqué dans l'image ci-dessous. Nous avons initialisé un fichier variable et lui avons transmis le fichier Test.txt comme valeur. Dans l'instruction If, nous avons l'opérateur -e utilisé pour confirmer l'existence du fichier Test.txt à l'aide de la variable file.

Exécutez la commande ci-dessous pour vérifier l'existence du fichier :

$ bash FileTestOperators.sh

Comme le fichier existe dans le répertoire, la sortie sera True.

Utilisation de l'opérateur if -s

Le but de l'utilisation de l'opérateur de test if-s dans Centos 8 est de vérifier si le fichier spécifié existe et est vide ou non. Donc, si vous voulez le vérifier en utilisant if-e, vous devez suivre les étapes ci-dessous :

Nous utiliserons les mêmes fichiers avec une modification mineure dans le fichier FileTestOperators.sh. Il vous suffit de changer l'opérateur -s au lieu de -e dans l'instruction if.

Exécutez la commande ci-dessous pour vérifier si le fichier est vide ou non :

$ bash FileTestOperators.sh

Comme le fichier est vide, la sortie générée par l'opérateur -s est fausse

Vous devez maintenant ajouter du texte dans le fichier Test.txt pour modifier le résultat, comme indiqué dans l'image ci-dessous.

Exécutez à nouveau la commande ci-dessous :

$ bash FileTestOperators.sh

Comme le fichier n'est pas vide cette fois, la sortie générée par l'opérateur -s sera True comme indiqué dans l'image.

Vous pouvez également utiliser les deux commandes suivantes pour vérifier que le fichier est vide :

$ cat Test.txt
$ file Test.txt

Utilisation de l'opérateur if -d

Le but de l'utilisation de l'opérateur de test if-d dans Centos 8 est de vérifier que le fichier spécifique est lui-même un répertoire ou non. Donc, si vous voulez le vérifier en utilisant if-d, vous devez suivre les étapes ci-dessous :

Ici, encore une fois, nous utilisons les mêmes fichiers avec une légère modification dans le fichier bash FileTestOperators.sh. Nous devons changer l'opérateur -s avec l'opérateur -d dans l'instruction if comme indiqué dans l'image ci-dessous.

Exécutez donc la commande ci-dessous pour vérifier si le fichier est un répertoire ou non :

$ bash FileTestOperators.sh

Comme nous le savons, le fichier Test.txt n'est pas un répertoire, c'est pourquoi l'opérateur -d affiche False Test.txt n'est pas un répertoire, comme indiqué dans l'image ci-dessous.

Utilisation de l'opérateur if -h

L'opérateur de test if-h est utilisé pour vérifier si le fichier est un lien symbolique (soft) ou non. Ainsi, si vous souhaitez vérifier l'existence d'un fichier à l'aide de if-h, vous devez suivre les étapes suivantes :

Créez un nouveau fichier avec le nom SymbolicFile.sh. Vous pouvez le créer directement dans le répertoire personnel ou avec la commande suivante :

$ touch SymbolicFile.sh

Vous pouvez voir le fichier SymbolicFile.sh dans le répertoire de base, comme indiqué dans l'image ci-dessous.

Vous pouvez lister tous les répertoires et fichiers à l'aide de la commande ls. Vous pouvez voir que le fichier SymbolicFile.sh est également répertorié comme indiqué dans l'image.

$ ls –l

Créez un lien symbolique à l'aide d'une simple commande de lien. Dans cette commande, -s fait référence à un lien symbolique, SymbolicFile.sh est un fichier dont le lien sera créé et NewSymbolicFile.sh est un lien symbolique.

$ ln -s SymbolicFile.sh NewSymbolicFile.sh

Listez à nouveau tous les répertoires et fichiers. Vous pouvez voir qu'un lien symbolique a été créé.

Donc, encore une fois, nous utilisons le fichier bash FileTestOperators.sh avec un léger changement. Changez l'opérateur -d avec l'opérateur -h dans l'instruction if. Cette fois, nous devons également changer un nom de fichier. Nous devons utiliser un fichier qui est lui-même un lien symbolique, par ex. NewSymbolicFile.sh.

Vous pouvez voir les deux fichiers dans l'image ci-dessous.

Exécutez maintenant la commande ci-dessous :

$ bash FileTestOperators.sh

Comme nous savons que le fichier NewSymbolicFile.sh est un lien symbolique, c'est pourquoi l'opérateur -h affiche True NewSymbolicFile.sh est un lien symbolique, comme indiqué dans l'image ci-dessous.

Utilisation de l'opérateur if -r

L'opérateur de test if -r est utilisé pour vérifier la lisibilité du fichier, par ex. le fichier est lisible ou non. Donc, si vous voulez le vérifier en utilisant if-r, vous devez suivre ces étapes :

Encore une fois, nous utilisons le fichier bash Test.txt et FileTestOperators.sh avec une légère modification. Remplacez l'opérateur -h par l'opérateur -r dans l'instruction if et affectez le fichier Test.txt en tant que valeur au fichier variable.

Exécutez maintenant la commande ci-dessous :

$ bash FileTestOperators.sh

Comme nous savons que le fichier Test.txt est lisible, l'opérateur -r affiche True ! Test.txt est lisible.

Remarque :Utilisez respectivement les opérateurs -w et -x pour vérifier si le fichier est inscriptible et exécutable ou non.

Utilisation de l'opérateur if -O

Le but de l'opérateur de test if -O est utilisé pour vérifier si le fichier appartient ou non à un utilisateur actuel. Donc, pour le vérifier en utilisant if-O, vous devez suivre ces étapes :

Encore une fois, nous utilisons le fichier bash Test.txt et FileTestOperators.sh avec un petit changement. Remplacez l'opérateur -r par l'opérateur -O dans l'instruction if et affectez le fichier Test.txt en tant que valeur au fichier variable.

Exécutez maintenant la commande ci-dessous :

$ bash FileTestOperators.sh

Comme nous savons que le fichier Test.txt appartient déjà à l'utilisateur actuel, l'opérateur -O affiche que True Test.txt appartient à un utilisateur actuel.

Conclusion

Dans cet article, vous avez découvert les opérateurs de test de fichiers les plus importants et les plus différents et leur fonctionnement dans Centos 8. J'espère que vous êtes maintenant en mesure de créer des fichiers, de vérifier l'existence de fichiers, de vérifier la lisibilité des fichiers, de vérifier la propriété des fichiers, et créer des liens souples. Les utilisateurs peuvent se sentir à l'aise après avoir suivi attentivement cet article.


Linux
  1. Comment vérifier si un fichier ou un répertoire existe dans Bash

  2. Comment utiliser la commande md5sum sous Linux

  3. Comment utiliser la commande touch sous Linux

  4. Comment utiliser la commande Tar sous Linux

  5. Comment vérifier syslog dans Bash sous Linux ?

Comment utiliser la commande echo dans les scripts Bash sous Linux

Comment créer et utiliser un fichier d'échange sous Linux

Comment utiliser AppImage sur Linux (Guide du débutant)

Comment utiliser la commande lsof sous Linux

Comment utiliser gzip sous Linux ?

Comment utiliser la commande shred Linux