Vérifier la présence d'un fichier grâce à la sortie de la commande ls
Dans cette étape, vous apprendrez une autre méthode courante pour vérifier la présence de fichiers et de répertoires : en utilisant la sortie de la commande ls
. La commande ls
liste le contenu d'un répertoire. En combinant ls
avec d'autres commandes, vous pouvez efficacement vérifier si un fichier spécifique existe.
Tout d'abord, listons le contenu de votre répertoire actuel (~/project
) en utilisant la commande ls
.
Tapez la commande suivante et appuyez sur Entrée :
ls
Vous devriez voir my_file.txt
figurant dans la sortie, car vous l'avez créé à l'étape précédente.
my_file.txt
Maintenant, essayons de vérifier spécifiquement la présence de my_file.txt
en utilisant ls
et la commande grep
. grep
est un outil puissant pour rechercher des motifs de texte. Nous pouvons rediriger la sortie de ls
vers grep
pour voir si le nom de fichier apparaît dans la liste.
Le symbole de pipe |
prend la sortie de la commande de gauche et l'envoie en tant qu'entrée à la commande de droite.
Tapez la commande suivante et appuyez sur Entrée :
ls | grep my_file.txt
Si my_file.txt
existe, grep
le trouvera dans la sortie de ls
et affichera la ligne contenant le nom de fichier.
my_file.txt
Si le fichier n'existait pas, grep
ne trouverait pas le motif et ne produirait aucune sortie.
De même que pour la commande test
, vous pouvez vérifier le code de sortie de la commande grep
pour déterminer si le fichier a été trouvé. grep
renvoie 0
s'il trouve une correspondance et 1
s'il ne la trouve pas.
Tapez la commande suivante et appuyez sur Entrée :
echo $?
Vous devriez voir 0
, indiquant que grep
a trouvé my_file.txt
.
Maintenant, essayons de vérifier à nouveau la présence du fichier qui n'existe pas en utilisant ls
et grep
.
Tapez la commande suivante et appuyez sur Entrée :
ls | grep non_existent_file.txt
Cette commande ne produira aucune sortie car non_existent_file.txt
n'est pas dans la liste du répertoire.
Vérifiez le code de sortie :
echo $?
Vous devriez voir 1
, indiquant que grep
n'a pas trouvé non_existent_file.txt
.
L'utilisation de ls
et de grep
est un modèle très courant en scripting shell pour vérifier l'existence de fichiers et de répertoires, surtout lorsque vous avez besoin de traiter davantage la sortie.
Cliquez sur Continue pour passer à l'étape suivante.