chdir(2)

الاسم
chdir, fchdir - تغيير دليل العمل

المكتبة
مكتبة سي المعيارية (libc، -lc)

موجز
#include <unistd.h>

int chdir(const char *path);
int fchdir(int fd);

    متطلبات ماكروات اختبار الميزات لـ glibc (انظر feature_test_macros(7)):

fchdir():
    _XOPEN_SOURCE >= 500
        || /* منذ glibc 2.12: */ _POSIX_C_SOURCE >= 200809L
        || /* glibc حتى 2.19: */ _BSD_SOURCE

الوصف
يغير chdir() دليل العمل الحالي للعملية المستدعية إلى الدليل المحدد في path.

fchdir() مطابق لـ chdir()؛ الفرق الوحيد هو أن الدليل يُعطى كوصف ملف مفتوح.

قيمة الإرجاع
عند النجاح، يُعاد الصفر. وعند حدوث خطأ، يُعاد الرقم -1، ويُضبط errno للإشارة إلى الخطأ.

الأخطاء
اعتمادًا على نظام الملفات، يمكن إرجاع أخطاء أخرى. الأخطاء الأكثر عمومية لـ chdir() مدرجة أدناه:

EACCES
    تم رفض إذن البحث لأحد مكونات path. (انظر أيضًا path_resolution(7).)

EFAULT
    المسار path يشير إلى خارج مساحة العناوين التي يمكن الوصول إليها.

EIO حدث خطأ إدخال/إخراج.

ELOOP
    وُجد عدد كبير جدًا من الوصلات الرمزية أثناء تحليل path.

ENAMETOOLONG
    المسار path طويل جداً.

ENOENT
    الدليل المحدد في path غير موجود.

ENOMEM
    ذاكرة النواة المتوفرة غير كافية.

ENOTDIR
    أحد مكونات المسار path ليس دليلاً.

الأخطاء العامة لـ fchdir() مدرجة أدناه:

EACCES
    تم رفض إذن البحث على الدليل المفتوح على fd.

EBADF
    fd ليس واصف ملف صالح.

ENOTDIR
    fd لا يشير إلى دليل.

المعايير
POSIX.1-2024.

التاريخ

chdir()
    SVr4, POSIX.1-1988, 4.4BSD.

fchdir()
    SVr4, 4.4BSD, SUSv1, POSIX.1-2001 XSI, POSIX.1-2008.

ملاحظات
دليل العمل الحالي هو نقطة البداية لتفسير أسماء المسارات النسبية (تلك التي لا تبدأ بـ '/').

عملية فرعية تم إنشاؤها عبر fork(2) ترث دليل العمل الحالي لأبويها. يبقى دليل العمل الحالي دون تغيير بواسطة execve(2).

انظر أيضًا
chroot(2), getcwd(3), path_resolution(7)

ترجمة
تُرجمت هذه الصفحة من الدليل بواسطة زايد السعيدي <zayed.alsaidi@gmail.com>

هذه الترجمة هي وثيقة مجانية؛ راجع رخصة جنو العامة الإصدار 3 (https://www.gnu.org/licenses/gpl-3.0.html) أو ما بعده للاطلاع على شروط حقوق النشر. لا توجد أي ضمانات.

إذا وجدت أي أخطاء في ترجمة صفحة الدليل هذه، يرجى إرسال بريد إلكتروني إلى قائمة بريد المترجمين: kde-l10n-ar@kde.org.