.\" -*- coding: UTF-8 -*- .\" Copyright 1980-1991, Regents of the University of California. .\" Copyright 2011, Michael Kerrisk .\" Copyright, the authors of the Linux man-pages project .\" .\" SPDX-License-Identifier: BSD-4-Clause-UC .\" .\"******************************************************************* .\" .\" This file was generated with po4a. Translate the source file. .\" .\"******************************************************************* .TH lseek 2 "11 فبراير 2026" "صفحات دليل لينكس 6.18" .SH الاسم lseek \- إعادة وضع إزاحة ملف القراءة/الكتابة .SH المكتبة مكتبة سي المعيارية (\fIlibc\fP،\ \fI\-lc\fP) .SH موجز .nf \fB#include \fP .P \fBoff_t lseek(int \fP\fIfd\fP\fB, off_t \fP\fIoffset\fP\fB, int \fP\fIwhence\fP\fB);\fP .fi .SH الوصف \fBlseek\fP() تعيد وضع إزاحة الملف لوصف الملف المفتوح المرتبط بوصف الملف \fIfd\fP إلى الوسيطة \fIoffset\fP وفقًا للتوجيه \fIwhence\fP كما يلي: .TP \fBSEEK_SET\fP تُضبط إزاحة الملف إلى \fIoffset\fP بايت. .TP \fBSEEK_CUR\fP تُضبط إزاحة الملف إلى موقعها الحالي زائد \fIoffset\fP بايت. .TP \fBSEEK_END\fP تُضبط إزاحة الملف إلى حجم الملف زائد \fIoffset\fP بايت. .P \fBlseek\fP() تسمح بضبط إزاحة الملف إلى ما بعد نهاية الملف (لكن هذا لا يغير حجم الملف). إذا كُتبت بيانات لاحقًا عند هذه النقطة، فإن القراءات اللاحقة للبيانات في الفجوة ("ثقب") تُرجع بايتات فارغة (\[aq]\[rs]0\[aq]) حتى تُكتب البيانات فعليًا في الفجوة. .SS "البحث عن بيانات الملف والثقوب" منذ لينكس 3.1، يدعم لينكس القيم الإضافية التالية لـ \fIwhence\fP: .TP \fBSEEK_DATA\fP اضبط إزاحة الملف إلى الموقع التالي في الملف الأكبر من أو المساوي لـ \fIoffset\fP الذي يحتوي على بيانات. إذا أشار \fIoffset\fP إلى بيانات، فتُضبط إزاحة الملف إلى \fIoffset\fP. .TP \fBSEEK_HOLE\fP اضبط إزاحة الملف إلى الثقب التالي في الملف الأكبر من أو المساوي لـ \fIoffset\fP. إذا أشار \fIoffset\fP إلى منتصف ثقب، فتُضبط إزاحة الملف إلى \fIoffset\fP. إذا لم يكن هناك ثقب بعد \fIoffset\fP، فتُضبط إزاحة الملف إلى نهاية الملف (أي يوجد ثقب ضمني في نهاية أي ملف). .P في كلتا الحالتين أعلاه، تفشل \fBlseek\fP() إذا أشار \fIoffset\fP إلى ما بعد نهاية الملف. .P تسمح هذه العمليات للتطبيقات بتعيين الثقوب في ملف مخصص بشكل متناثر. يمكن أن يكون هذا مفيدًا للتطبيقات مثل أدوات النسخ الاحتياطي للملفات، التي يمكنها توفير المساحة عند إنشاء النسخ الاحتياطية والحفاظ على الثقوب، إذا كان لديها آلية لاكتشاف الثقوب. .P .\" https://lkml.org/lkml/2011/4/22/79 .\" http://lwn.net/Articles/440255/ .\" http://blogs.oracle.com/bonwick/entry/seek_hole_and_seek_data لأغراض هذه العمليات، الثقب هو سلسلة من الأصفار التي (عادة) لم تُخصص في تخزين الملف الأساسي. ومع ذلك، ليس من الإلزامي على نظام الملفات الإبلاغ عن الثقوب، لذا فإن هذه العمليات ليست آلية مضمونة لتعيين مساحة التخزين المخصصة فعليًا لملف. (علاوة على ذلك، قد لا تُبلغ سلسلة من الأصفار التي كُتبت فعليًا إلى التخزين الأساسي كثقب.) في أبسط تطبيق، يمكن لنظام الملفات دعم العمليات بجعل \fBSEEK_HOLE\fP تُرجع دائمًا إزاحة نهاية الملف، وجعل \fBSEEK_DATA\fP تُرجع دائمًا \fIoffset\fP (أي حتى لو كان الموقع المشار إليه بـ \fIoffset\fP ثقبًا، يمكن اعتباره مكونًا من بيانات هي سلسلة من الأصفار). .P يجب تعريف ماكرو اختبار الميزة \fB_GNU_SOURCE\fP للحصول على تعريفات \fBSEEK_DATA\fP و \fBSEEK_HOLE\fP من \fI\fP. .P تُدعم عمليات \fBSEEK_HOLE\fP و \fBSEEK_DATA\fP لأنظمة الملفات التالية: .IP \[bu] 3 Btrfs (منذ لينكس 3.1) .IP \[bu] .\" commit 93862d5e1ab875664c6cc95254fc365028a48bb1 OCFS (منذ لينكس 3.2) .IP \[bu] XFS (منذ لينكس 3.5) .IP \[bu] ext4 (منذ لينكس 3.8) .IP \[bu] \fBtmpfs\fP(5) (منذ لينكس 3.8) .IP \[bu] .\" commit 1c6dcbe5ceff81c2cf8d929646af675cd59fe7c0 .\" commit 24bab491220faa446d945624086d838af41d616c NFS (منذ لينكس 3.18) .IP \[bu] .\" commit 0b5da8db145bfd44266ac964a2636a0cf8d7c286 FUSE (منذ لينكس 4.5) .IP \[bu] .\" commit 3a27411cb4bc3ce31db228e3569ad01b462a4310 GFS2 (منذ لينكس 4.15) .SH "قيمة الإرجاع" عند الإكمال بنجاح، تُرجع \fBlseek\fP() موقع الإزاحة الناتج مقاسًا بالبايتات من بداية الملف. عند الخطأ، تُرجع القيمة \fI(off_t)\ \-1\fP ويُضبط \fIerrno\fP للإشارة إلى الخطأ. .SH الأخطاء .TP \fBEBADF\fP \fIfd\fP ليس واصف ملف مفتوح. .TP \fBEINVAL\fP .\" Some systems may allow negative offsets for character devices .\" and/or for remote filesystems. \fIwhence\fP غير صالح. أو: ستكون إزاحة الملف الناتجة سالبة، أو تتجاوز نهاية جهاز قابل للبحث. .TP \fBENXIO\fP \fIwhence\fP هو \fBSEEK_DATA\fP أو \fBSEEK_HOLE\fP، و \fIoffset\fP يتجاوز نهاية الملف، أو \fIwhence\fP هو \fBSEEK_DATA\fP و \fIoffset\fP داخل ثقب في نهاية الملف. .TP \fBEOVERFLOW\fP .\" HP-UX 11 says EINVAL for this case (but POSIX.1 says EOVERFLOW) لا يمكن تمثيل إزاحة الملف الناتجة في \fIoff_t\fP. .TP \fBESPIPE\fP \fIfd\fP مرتبط بأنبوب أو مقبس أو FIFO. .SH الإصدارات .\" Other systems return the number of written characters, .\" using SEEK_SET to set the counter. (Of written characters.) في لينكس، استخدام \fBlseek\fP() على جهاز طرفية يفشل مع الخطأ \fBESPIPE\fP. .SH المعايير POSIX.1\-2024. .SH التاريخ 4.3BSD، SVr4، POSIX.1\-1988. .TP \fBSEEK_DATA\fP .TQ \fBSEEK_HOLE\fP Solaris 10, FreeBSD 7.0, DragonFly BSD 2.3.1, POSIX.1\-2024. .SH ملاحظات انظر \fBopen\fP(2) لمناقشة العلاقة بين واصفات الملفات، أوصاف الملفات المفتوحة، والملفات. .P إذا تم تعيين علم حالة الملف \fBO_APPEND\fP على وصف الملف المفتوح، فإن \fBwrite\fP(2) \fIدائمًا\fP ينقل إزاحة الملف إلى نهاية الملف، بغض النظر عن استخدام \fBlseek\fP(). .P بعض الأجهزة غير قادرة على البحث وPOSIX لا يحدد الأجهزة التي يجب أن تدعم \fBlseek\fP(). .SH "انظر أيضًا" \fBdup\fP(2), \fBfallocate\fP(2), \fBfork\fP(2), \fBopen\fP(2), \fBfseek\fP(3), \fBlseek64\fP(3), \fBposix_fallocate\fP(3) .PP .SH ترجمة تُرجمت هذه الصفحة من الدليل بواسطة زايد السعيدي . .PP هذه الترجمة هي وثيقة مجانية؛ راجع .UR https://www.gnu.org/licenses/gpl-3.0.html رخصة جنو العامة الإصدار 3 .UE أو ما بعده للاطلاع على شروط حقوق النشر. لا توجد أي ضمانات. .PP إذا وجدت أي أخطاء في ترجمة صفحة الدليل هذه، يرجى إرسال بريد إلكتروني إلى قائمة بريد المترجمين: .MT kde-l10n-ar@kde.org .ME .