| FALLOCATE(1) | أوامر المستخدم | FALLOCATE(1) |
الاسم
fallocate - يخصص مسبقاً أو يلغي تخصيص مساحة لملف
موجز
fallocate [-c|-p|-z|-w] [-o إزاحة] -l طول [-n] اسم_الملف
fallocate -d [-o إزاحة] [-l طول] اسم_ملف
fallocate -r [-o إزاحة] اسم_الملف
fallocate -x [-o إزاحة] -l طول اسم الملف
الوصف
يُستخدم fallocate للتلاعب بمساحة القرص المخصصة لملف، إما لإلغاء تخصيصها أو تخصيصها مسبقاً. بالنسبة لأنظمة الملفات التي تدعم استدعاء النظام fallocate(2)، يُجرى التخصيص المسبق بسرعة عن طريق تخصيص كتل ووسمها كغير مهيأة، مما لا يتطلب عمليات إدخال/إخراج لكتل البيانات. وهذا أسرع بكثير من إنشاء ملف عن طريق ملئه بالأصفار.
حالة الخروج التي يرجعها fallocate هي 0 عند النجاح و 1 عند الفشل.
الخيارات
قد تتبع معاملات طول و إزاحة لواحق مضاعفة مثل KiB (=1024) و MiB (=1024*1024) وهكذا لـ GiB و TiB و PiB و EiB و ZiB و YiB (اللاحقة "iB" اختيارية، مثلاً "K" لها نفس معنى "KiB") أو اللواحق KB (=1000) و MB (=1000*1000) وهكذا لـ GB و TB و PB و EB و ZB و YB.
الخيارات --collapse-range و --dig-holes و --report-holes و --punch-hole و --zero-range و --write-zeroes و --posix مانعة لبعضها تبادلياً.
-c، --collapse-range
متاح منذ لينكس 3.15 لـ ext4 (فقط للملفات القائمة على المدى extent-based) و XFS.
قد يضع نظام الملفات قيودًا على دقة العملية، لضمان التنفيذ الفعال. عادةً، يجب أن يكون إزاحة و طول مضاعفين لحجم الكتلة المنطقية لنظام الملفات، والذي يختلف وفقًا لنوع نظام الملفات وضبطه. إذا كان لنظام الملفات مثل هذا المتطلب، فستفشل العملية مع الخطأ EINVAL إذا خُرق هذا المتطلب.
-d، --dig-holes
يمكنك التفكير في هذا الخيار كأنه ينفذ "cp --sparse" ثم يعيد تسمية الملف الوجهة إلى الملف الأصلي، دون الحاجة لمساحة قرص إضافية.
انظر --punch-hole لقائمة بأنظمة الملفات المتاحة.
-r، --report-holes
لكل فجوة، تُطبع الإزاحة والنهاية والحجم بالبايت في النمط المسهب، يليه ملخص يعطي الحجم الإجمالي والنسبة المئوية للملف التي يمثلها كل نوع من الفجوات مبدئياً. إذا لم تُحدد إزاحة باستخدام --offset، فسيُفحص الملف بالكامل.
هذا الخيار للقراءة فقط ويمكن استخدامه على أي ملف لتقدير مقدار المساحة التي يمكن استعادتها بواسطة --dig-holes.
انظر --punch-hole لقائمة بأنظمة الملفات المتاحة.
-i، --insert-range
Supported for XFS (since Linux 4.1) and ext4 (since Linux 4.2).
-l، --length الطول
-n، --keep-size
-o، --offset الإزاحة
-p، --punch-hole
متاح في XFS (منذ لينكس 2.6.38)، و ext4 (منذ لينكس 3.0)، و Btrfs (منذ لينكس 3.7)، و tmpfs (منذ لينكس 3.5) و gfs2 (منذ لينكس 4.16).
-v، --verbose
-w، --write-zeroes
يتم التصفير داخل نظام الملفات. قد يستخدم نظام الملفات أمراً تصفيرياً مسرعاً بالعتاد أو قد يرسل كتابات عادية. يعتمد السلوك على تصميم نظام الملفات والعتاد المتاح.
لا يمكن تحديد الخيار --keep-size لعملية كتابة الأصفار (write-zeroes) لأن تخصيص كتل مكتوبة تتجاوز حجم العقدة المفهرسة (inode) غير مسموح به.
-x، --posix
-z، --zero-range
يتم التصفير داخل نظام الملفات ويفضل أن يكون ذلك عن طريق تحويل النطاق إلى مديات (extents) غير مكتوبة. يعني هذا النهج أن النطاق المحدد لن يُصفر فيزيائياً على الجهاز (باستثناء الكتل الجزئية عند أي من طرفي النطاق)، وستكون عمليات الإدخال/الإخراج مطلوبة فقط لتحديث البيانات الوصفية.
يمكن تحديد الخيار --keep-size لمنع تعديل طول الملف.
متاح منذ لينكس 3.14 لـ ext4 (فقط للملفات القائمة على الامتدادات/extent-based) و XFS.
-h، --help
-V، --version
المؤلفين
Eric Sandeen <sandeen@redhat.com>، Karel Zak <kzak@redhat.com>
انظر أيضاً
التبليغ عن الأخطاء
لتقارير العِلل، استخدم مُتتبع المشكلات https://github.com/util-linux/util-linux/issues.
التوفر
الأمر fallocate جزء من حزمة util-linux التي يمكن تنزيلها من أرشيف نواة لينكس https://www.kernel.org/pub/linux/utils/util-linux/.
| 2026-05-18 | util-linux 2.42.1 |