.\" -*- coding: UTF-8 -*- .\" Copyright 1992, Drew Eckhardt .\" Copyright 1993, Ian Jackson .\" Copyright 2006-2014, Michael Kerrisk .\" Copyright, the authors of the Linux man-pages project .\" .\" SPDX-License-Identifier: Linux-man-pages-copyleft .\" .\"******************************************************************* .\" .\" This file was generated with po4a. Translate the source file. .\" .\"******************************************************************* .TH unlink 2 "8 فبراير 2026" "صفحات دليل لينكس 6.18" .SH الاسم unlink, unlinkat \- حذف اسم وربما الملف الذي يشير إليه .SH المكتبة مكتبة سي المعيارية (\fIlibc\fP،\ \fI\-lc\fP) .SH موجز .nf \fB#include \fP .P \fBint unlink(const char *\fP\fIpath\fP\fB);\fP .P \fB#include \fP/* تعريف ثوابت \fBAT_*\fP */ \fB#include \fP .P \fBint unlinkat(int \fP\fIdirfd\fP\fB, const char *\fP\fIpath\fP\fB, int \fP\fIflags\fP\fB);\fP .fi .P .RS -4 متطلبات ماكروات اختبار الميزات لـ glibc (انظر \fBfeature_test_macros\fP(7)): .RE .P \fBunlinkat\fP(): .nf منذ glibc 2.10: _POSIX_C_SOURCE >= 200809L قبل glibc 2.10: _ATFILE_SOURCE .fi .SH الوصف \fBunlink\fP() يحذف اسمًا من نظام الملفات. إذا كان هذا الاسم هو آخر رابط لملف ولا توجد أي عمليات تفتح الملف، يُحذف الملف وتُتاح المساحة التي كان يستخدمها لإعادة الاستخدام. .P إذا كان الاسم هو آخر رابط لملف ولكن لا تزال بعض العمليات تفتح الملف، سيبقى الملف موجودًا حتى يُغلق آخر واصف ملف يشير إليه. .P إذا كان الاسم يشير إلى رابط رمزي، فسَيُزَالُ الرابط. .P إذا كان الاسم يشير إلى مقبس أو FIFO أو جهاز، يُزال اسمه ولكن العمليات التي تفتح الكائن قد تستمر في استخدامه. .SS unlinkat() يعمل استدعاء النظام \fBunlinkat\fP() بنفس الطريقة تمامًا مثل \fBunlink\fP() أو \fBrmdir\fP(2) (اعتمادًا على ما إذا كانت \fIflags\fP تتضمن العلم \fBAT_REMOVEDIR\fP أم لا) باستثناء الاختلافات الموصوفة هنا. .P إذا كان \fIpath\fP نسبيًا، يُفسر بالنسبة إلى الدليل الذي يشير إليه واصف الملف \fIdirfd\fP (بدلاً من دليل العمل الحالي للعملية المستدعية، كما تفعل \fBunlink\fP() و \fBrmdir\fP(2) لمسار نسبي). .P إذا كان \fIpath\fP نسبيًا و \fIdirfd\fP هو القيمة الخاصة \fBAT_FDCWD\fP، يُفسر \fIpath\fP بالنسبة إلى دليل العمل الحالي للعملية المستدعية (مثل \fBunlink\fP() و \fBrmdir\fP(2)). .P إذا كان المسار \fIpath\fP مطلقاً، فُيتجاهل \fIdirfd\fP. .P \fIflags\fP هو قناع بت يمكن تحديده إما كـ 0، أو عن طريق ORing لقيم الأعلام التي تتحكم في عملية \fBunlinkat\fP(). حاليًا، يُعرف علم واحد فقط: .TP \fBAT_REMOVEDIR\fP افتراضيًا، ينفذ \fBunlinkat\fP() ما يعادل \fBunlink\fP() على \fIpath\fP. إذا تم تحديد العلم \fBAT_REMOVEDIR\fP، ينفذ ما يعادل \fBrmdir\fP(2) على \fIpath\fP. .P انظر \fBopenat\fP(2) لشرح الحاجة إلى \fBunlinkat\fP(). .SH "قيمة الإرجاع" عند النجاح، يُعاد الصفر. وعند حدوث خطأ، يُعاد الرقم \-1، ويُضبط \fIerrno\fP للإشارة إلى الخطأ. .SH الأخطاء .TP \fBEACCES\fP لا يُسمح بوصول الكتابة إلى الدليل الذي يحتوي على \fIpath\fP لـ UID الفعال للعملية، أو أن أحد الدلائل في \fIpath\fP لم يسمح بإذن البحث. (انظر أيضًا \fBpath_resolution\fP(7).) .TP \fBEBUSY\fP لا يمكن حذف \fIpath\fP لأنه قيد الاستخدام من قبل النظام أو عملية أخرى؛ على سبيل المثال، هو نقطة وصل أو أن برنامج عميل NFS أنشأه لتمثيل inode نشط ولكن بدون اسم ("NFS silly renamed"). .TP \fBEFAULT\fP المسار \fIpath\fP يشير إلى خارج مساحة العناوين التي يمكن الوصول إليها. .TP \fBEIO\fP حدث خطأ إدخال/إخراج. .TP \fBEISDIR\fP \fIpath\fP يشير إلى دليل. (هذه هي القيمة غير POSIX التي تُرجع منذ Linux 2.1.132.) .TP \fBELOOP\fP تمت مواجهة عدد كبير جدًا من الروابط الرمزية في ترجمة \fIpath\fP. .TP \fBENAMETOOLONG\fP المسار \fIpath\fP كان طويلاً جداً. .TP \fBENOENT\fP مكون في \fIpath\fP غير موجود أو هو رابط رمزي معلق، أو \fIpath\fP فارغ. .TP \fBENOMEM\fP ذاكرة النواة المتوفرة غير كافية. .TP \fBENOTDIR\fP المكون المستخدم كدليل في \fIpath\fP ليس دليلاً في الواقع. .TP \fBEPERM\fP النظام لا يسمح بحذف الدلائل، أو حذف الدلائل يتطلب صلاحيات لا تملكها العملية المستدعية. (هذا هو خطأ العودة الموصوف من POSIX؛ كما ذكر أعلاه، يعيد Linux \fBEISDIR\fP لهذه الحالة.) .TP \fBEPERM\fP (Linux فقط) نظام الملفات لا يسمح بحذف الملفات. .TP \fBEPERM\fP أو \fBEACCES\fP الدليل الذي يحتوي على \fIpath\fP لديه البت اللاصق (\fBS_ISVTX\fP) مضبوطًا و UID الفعال للعملية ليس UID الملف المراد حذفه ولا UID الدليل الذي يحتويه، والعملية ليست مميزة (Linux: لا تملك القدرة \fBCAP_FOWNER\fP). .TP \fBEPERM\fP الملف المراد حذفه مُعلّم على أنه غير قابل للتغيير أو للإلحاق فقط. (انظر \fBFS_IOC_SETFLAGS\fP(2const).) .TP \fBEROFS\fP يشير \fIpath\fP إلى ملف في نظام ملفات للقراءة فقط. .P نفس الأخطاء التي تحدث لـ \fBunlink\fP() و \fBrmdir\fP(2) يمكن أن تحدث أيضًا لـ \fBunlinkat\fP(). يمكن أن تحدث الأخطاء الإضافية التالية لـ \fBunlinkat\fP(): .TP \fBEBADF\fP المسار \fIpath\fP نسبي ولكن \fIdirfd\fP ليس \fBAT_FDCWD\fP ولا واصف ملف صالح. .TP \fBEINVAL\fP عُيّنت قيمة علم (flag) غير صالحة في \fIflags\fP. .TP \fBEISDIR\fP \fIpath\fP يشير إلى دليل، ولم يتم تحديد \fBAT_REMOVEDIR\fP في \fIflags\fP. .TP \fBENOTDIR\fP المسار \fIpath\fP نسبي و \fIdirfd\fP هو واصف ملف يشير إلى ملف غير الدليل. .SH المعايير POSIX.1\-2024. .SH التاريخ .TP \fBunlink\fP() .\" SVr4 documents additional error .\" conditions EINTR, EMULTIHOP, ETXTBSY, ENOLINK. SVr4، 4.3BSD، POSIX.1\-2001. .TP \fBunlinkat\fP() POSIX.1\-2008. لينكس 2.6.16،‏ glibc 2.4. .SS glibc على النوى القديمة حيث \fBunlinkat\fP() غير متاح، تعود دالة الغلاف glibc إلى استخدام \fBunlink\fP() أو \fBrmdir\fP(2). عندما يكون \fIpath\fP نسبيًا، تبني glibc اسم مسار بناءً على الرابط الرمزي في \fI/proc/self/fd\fP الذي يتوافق مع وسيطة \fIdirfd\fP. .SH العلل يمكن أن تتسبب عيوب في البروتوكول الذي يعتمد عليه NFS في اختفاء غير متوقع للملفات التي لا تزال قيد الاستخدام. .SH "انظر أيضًا" \fBrm\fP(1)، \fBunlink\fP(1)، \fBchmod\fP(2)، \fBlink\fP(2)، \fBmknod\fP(2)، \fBopen\fP(2)، \fBrename\fP(2)، \fBrmdir\fP(2)، \fBmkfifo\fP(3)، \fBremove\fP(3)، \fBpath_resolution\fP(7)، \fBsymlink\fP(7) .PP .SH ترجمة تُرجمت هذه الصفحة من الدليل بواسطة زايد السعيدي . .PP هذه الترجمة هي وثيقة مجانية؛ راجع .UR https://www.gnu.org/licenses/gpl-3.0.html رخصة جنو العامة الإصدار 3 .UE أو ما بعده للاطلاع على شروط حقوق النشر. لا توجد أي ضمانات. .PP إذا وجدت أي أخطاء في ترجمة صفحة الدليل هذه، يرجى إرسال بريد إلكتروني إلى قائمة بريد المترجمين: .MT kde-l10n-ar@kde.org .ME .