Appel de système de linge dans c

Appel de système de linge dans c

L'appel système est utilisé dans la langue C pour supprimer un titre ou un nom de n'importe quel système de fichiers, E.g., Système Linux. Il élimine l'entrée ou le lien d'un fichier ou d'un répertoire spécifique du système de fichiers, qui montre que le fichier ou le dossier a été supprimé, ce qui n'est pas le cas. Si le fichier ou le dossier ne fonctionne actuellement pas ou ne sont pas ouverts, ce fichier ou ce dossier peut être supprimé lors de l'utilisation dans un appel système unink (). C'est le cas lorsque le nombre de liens de fichier ou de dossier est 0. Jetons un coup d'œil à quelques exemples simples pour l'appel du système Unlink pour bien le comprendre. Connectez-vous à partir de l'Ubuntu 20.04 Système et ouvrez le terminal pour commencer.

Exemple 01:

Prenons une nouvelle illustration pour voir le fonctionnement de l'appel du système "Unlink ()" dans Linux. Créons d'abord un fichier texte dans le répertoire actuel à l'aide de l'instruction «Touch», ajoutons des données et affichez les données ainsi que suit:

$ touchez nouveau.SMS
$ echo "John"> Nouveau.SMS
$ Cat New.SMS

Après avoir créé un fichier, nous avons répertorié le contenu d'un répertoire domestique comme indiqué ci-dessous. Maintenant, la liste contient le nouveau.Fichier TXT également.

$ ls

Ouvrez le «Unlink.Fichier C ”C pour additionner un code de langue C pour dissocier le fichier« Nouveau.SMS".

$ Nano Unlink.c

Le code C pour dissocier le nouveau.Le fichier txt a été affiché dans l'image ci-dessous. Nous avons défini et inclus certaines bibliothèques d'en-tête d'entrée et extensions POSIX également. Ensuite, nous avons initialisé la méthode principale pour déclarer le descripteur de fichiers «FD». Le tableau de type de caractères a été utilisé pour obtenir le contenu d'un fichier «Nouveau.SMS". Une instruction «IF» a été utilisée pour vérifier l'erreur de fichier de création. Si le descripteur de fichier constate que le fichier a un nombre de liens inférieur à 0, il peut afficher un message d'erreur. L'instruction ELSE a été utilisée pour fermer le descripteur de fichier. Si le fichier a le nombre de link non égal à 0, il affichera le message d'erreur. Enregistrer ce code et retourner.

Maintenant, compilez le fichier «Unlink.c ”qui vient d'être mis à jour. La compilation d'un fichier n'a pas d'erreurs indique que le code est bien.

$ gcc unlink.c

Après la compilation, le fichier doit être exécuté dans le shell comme suit:

$ ./un.dehors

Voyons le contenu d'un répertoire de la maison Linux à nouveau en utilisant la commande «LS». La sortie montre que le fichier «Nouveau.txt ”a été entièrement non lié au système de fichiers de Linux.

$ ls

Exemple 02:

Une autre façon d'utiliser un link dans le code C a été affichée dans l'image ci-dessous. Ouvrez le «lien.C ”Fichier et attribuez le nom de fichier comme argument au système appelé" Unlink ". La valeur de liaison serait renvoyée et enregistrée dans la variable «n». La première instruction d'impression montre que 0 liens retournés indique le succès et -1 renvoyé signifie défaillance. La deuxième instruction d'impression imprimera la valeur de liaison renvoyée et montre que le «dissain» d'un fichier a réussi.

Lors de la compilation et de l'exécution d'un fichier, nous avons le message de réussite selon lequel le fichier a été entièrement non lié à 0.

$ lien gcc.c
$ ./un.dehors

Exemple 03:

Enfin, nous verrons un exemple simple pour utiliser l'appel système unlink () sur certains fichiers dans le shell. Énumérez le fichier et les dossiers résidant dans le répertoire domestique actuel de notre Ubuntu 20.04 Système Linux en utilisant la commande «LS». Nous avons trois fichiers dans le répertoire. Débrouillerons le fichier «Umask.C ”du répertoire actuel à l'aide de l'appel système« Unlink »dans le shell comme indiqué ci-dessous.

$ ls
$ Unink umask.c

Après avoir vérifié le contenu d'un répertoire domestique à l'aide de la commande «LS», nous avons constaté que le lien pour le nom «Umask.C ”a été supprimé. Comme le fichier n'a pas été ouvert et que son nombre de liens était de 0, le fichier a été supprimé du répertoire domestique.

Conclusion:

Cet article a démontré le fonctionnement d'un système de système non lié dans le langage C au sein de l'Ubuntu 20.04 Système. Nous espérons que tous les exemples seront faciles à implémenter sur votre système à l'aide de fichiers terminaux et c.