Linux chdir Appel système en C

Linux Chdir Appel Systeme En C



Les modifications apportées au répertoire de travail actuel d'un périphérique sont effectuées à l'aide de la méthode 'CHDIR'. Dans diverses circonstances, vous pouvez décider de modifier le dossier de travail actuel de votre appareil. Ou vous souhaitez exécuter un script C à partir d'un dossier au lieu de votre répertoire de travail actuel. Par conséquent, pour exécuter ce code C spécifique, vous devez modifier votre dossier de travail actuel. De plus, la méthode 'getcwd' du langage de codage C peut être utilisée pour déterminer rapidement quand le dossier de travail actuel a changé. Maintenant, nous allons utiliser la fonction chdir() de C dans cet article pour changer de répertoire de travail.

Exemple 01 :

Commençons par le fonctionnement de la fonction chdir() de C dans le système d'exploitation Linux. Pour cela, vous devez vous assurer que le compilateur de C est déjà monté de votre côté. Dans la plupart des cas, nous avons tendance à utiliser le compilateur 'gcc' de C dans notre système d'exploitation Kali Linux. Pour commencer avec cet exemple, nous devons avoir un fichier C avec l'extension 'c'. Nous l'avons nommé p1.c et avons essayé de l'ouvrir avec l'éditeur 'nano' de Linux comme présenté ci-dessous.







Lorsque votre fichier est ouvert dans l'éditeur, vous devez commencer à coder dedans. Nous avons commencé notre programme C en ajoutant les principales bibliothèques d'en-tête de C qui sont indispensables dans tout programme C. Par conséquent, les bibliothèques d'en-tête stdio.h et unistd.h sont utilisées pour s'assurer que l'entrée et la sortie standard peuvent circuler dans le programme. L'en-tête unistd.h a été utilisé pour utiliser certaines fonctions standard de C qui sont requises pour cet exemple en particulier. Maintenant, nous avons démarré la fonction pilote main() de C dans ce code pour qu'elle s'exécute automatiquement à l'exécution. La variable tableau de type caractère 'chemin' a été définie avec une taille de 100 car elle ne stocke que 100 valeurs.



L'instruction de fonction printf() a été utilisée pour imprimer simplement le dossier du répertoire de travail actuel de ce fichier C à l'aide de la fonction 'getcwd()'. Cette fonction utilise la variable de tableau 'path' d'une taille de 100 pour obtenir le répertoire de travail actuel et le transmettre à l'instruction de fonction printf() pour l'affichage. Il est maintenant temps d'utiliser la fonction chdir(). Nous pouvons passer n'importe quel type de caractères pour spécifier si nous voulons avancer dans le répertoire ou reculer dans le même répertoire.



Ainsi, nous avons essayé les caractères '..' dans l'instruction de fonction chdir() pour passer du répertoire de travail actuel vers l'arrière, c'est-à-dire un niveau en dessous du répertoire de travail actuel. Notez qu'en ce moment, nous avons travaillé dans le dossier de projet de notre répertoire de travail principal 'Linux' du système Kali Linux. Maintenant, nous sommes dans le répertoire 'Linux' au lieu du répertoire 'project' après avoir utilisé la fonction 'chdir'. Maintenant, nous avons essayé à nouveau l'instruction de fonction 'printf ()' pour afficher le répertoire de travail actuel en utilisant la fonction 'getcwd' qu'il contient. Notre programme se termine par l'instruction return 0.





Après avoir enregistré ce programme C, nous devons le compiler à l'aide du compilateur 'gcc' que nous avons déjà configuré de notre côté. En utilisant cette instruction gcc, nous avons créé un fichier objet de ce fichier C nommé 'p1.out' en utilisant l'option -o comme indiqué ci-dessous.



Désormais, lorsque vous exécuterez son fichier objet dans votre terminal Linux, vous obtiendrez d'abord le répertoire de travail utilisé par le programme avant l'utilisation de la fonction chdir(). Après l'utilisation de la fonction chdir(), nous nous sommes déplacés vers le répertoire ci-dessous et ce répertoire particulier 'home' est affiché.

Exemple 02 :



En utilisant les mêmes bibliothèques d'en-tête, nous avons démarré ce code de programme. Dans la fonction main() de ce programme, nous avons utilisé l'instruction 'if' en utilisant la fonction chdir() qu'elle contient.

Cette fonction vérifiera si le '/user' existe dans le système ou non en définissant la condition '/user!=0'. Si le répertoire n'existe pas dans le système actuel, l'appel de la fonction perror sera utilisé pour afficher le message d'erreur respectif, c'est-à-dire 'le répertoire utilisateur n'existe pas. Nous avons utilisé une autre instruction 'if' en utilisant la fonction chdir() qu'elle contient. Le but de l'utilisation de la fonction chdir() ici est également le même que dans l'instruction if ci-dessus, qui consiste à vérifier si le répertoire existe ou non en utilisant la condition '/temp'!=0. La seule différence est l'utilisation d'un nouveau nom de répertoire '/temp' au lieu de '/user' comme vous pouvez le voir sur l'image de code ci-dessous.







Si le répertoire /temp n'existe pas dans le système, la fonction perror utilisée dans l'instruction 'if' lancerait un message d'erreur '/ le répertoire temp n'existe pas' comme indiqué dans l'image ci-dessous. Après l'utilisation des deux instructions 'if', nous avons terminé ce code avec l'instruction return 0 du C. Maintenant, le programme est terminé. Nous avons enregistré notre code C en utilisant le raccourci Ctrl+S avant son exécution.





Maintenant que le fichier a été enregistré dans votre système, nous devons compiler le code C avec le compilateur 'gcc' que nous avons déjà monté de notre côté. En utilisant cette instruction, nous avons créé son fichier objet 'p2.out' en utilisant l'option -o dans l'instruction.





Après avoir exécuté le fichier objet créé 'p2.out' avec les caractères './', nous avons appris que les deux répertoires mentionnés dans le chemin de 'chdir' n'existent pas dans le système ou que l'erreur affichée sur le shell a démontré correctement.



Conclusion

Dans cet article d'aujourd'hui, nous avons démontré l'utilisation de la fonction chdir() de C dans le système d'exploitation Kali Linux. Le tout premier exemple illustre comment la fonction chdir() peut être utilisée pour modifier un répertoire de travail, c'est-à-dire passer d'un répertoire à un autre. Le dernier exemple de C montre comment nous pouvons vérifier si le répertoire de travail actuel spécifié dans le chemin de chdir() existe ou non.