| FALLOCATE(1) | دستورهای کاربری | FALLOCATE(1) |
نام (NAME)
fallocate - پیشتخصیص یا آزادسازی فضای دیسک برای یک فایل
خلاصه دستور (SYNOPSIS)
fallocate [-c|-p|-z|-w] [-o offset] -l length [-n] filename
fallocate -d [-o offset] [-l length] filename
fallocate -r [-o offset] filename
fallocate -x [-o offset] -l length filename
توضیحات (DESCRIPTION)
دستور fallocate برای دستکاری فضای دیسک تخصیصیافته به یک فایل، خواه برای آزادسازی یا پیشتخصیص آن، استفاده میشود. برای سیستمفایلهایی که از فراخوان سیستمی fallocate(2) پشتیبانی میکنند، پیشتخصیص با تخصیص بلوکها و علامتگذاری آنها بهعنوان مقداردهینشده (uninitialized) بهسرعت انجام میشود و نیازی به ورودی/خروجی (I/O) روی بلوکهای داده ندارد. این روش بسیار سریعتر از ایجاد یک فایل با پر کردن آن با صفر است.
وضعیت خروج بازگرداندهشده توسط fallocate در صورت موفقیت 0 و در صورت شکست 1 است.
گزینهها (OPTIONS)
آرگومانهای length و offset میتوانند با پسوندهای ضربی مانند 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) و XFS در دسترس است.
یک سیستمفایل ممکن است برای اطمینان از اجرای کارآمد، محدودیتهایی در دانهبندی عملیات اعمال کند. معمولاً offset و length باید مضربی از اندازهٔ بلوک منطقی سیستمفایل باشند که بر اساس نوع و پیکربندی سیستمفایل متفاوت است. اگر یک سیستمفایل چنین الزامی داشته باشد، در صورت عدم رعایت آن، عملیات با خطای EINVAL شکست خواهد خورد.
-d, --dig-holes
میتوانید این گزینه را مانند اجرای «cp --sparse» و سپس تغییر نام فایل مقصد به نام اصلی، بدون نیاز به فضای دیسک اضافه در نظر بگیرید.
برای فهرستی از سیستمفایلهای پشتیبانیشده به --punch-hole مراجعه کنید.
-r, --report-holes
برای هر حفره، آفست، پایان و اندازه بر حسب بایت در حالت پرگو (verbose) چاپ میشود و پس از آن خلاصهای ارائه میگردد که بهطور پیشفرض اندازهٔ کل و درصد فایل را که هر نوع حفره تشکیل میدهد نشان میدهد. اگر هیچ آفستی با --offset مشخص نشود، کل فایل پویش میشود.
این گزینه فقطخواندنی (read-only) است و میتوان آن را روی هر فایلی برای تخمین میزان فضایی که میتواند توسط --dig-holes بازپسگیری شود، استفاده کرد.
برای فهرستی از سیستمفایلهای پشتیبانیشده به --punch-hole مراجعه کنید.
-i, --insert-range
برای XFS (از لینوکس 4.1) و ext4 (از لینوکس 4.2) پشتیبانی میشود.
-l, --length length
-n, --keep-size
-o, --offset 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
صفر کردن در درون سیستمفایل ترجیحاً با تبدیل محدوده به extentهای نوشتهنشده انجام میشود. این رویکرد به این معنی است که محدودهٔ مشخصشده بهصورت فیزیکی روی دستگاه با صفر پر نمیشود (بهجز بلوکهای جزئی در دو انتهای محدوده) و ورودی/خروجی (I/O) تنها برای بهروزرسانی متاداده نیاز است.
گزینهٔ --keep-size میتواند برای جلوگیری از تغییر طول فایل مشخص شود.
از لینوکس 3.14 برای ext4 (تنها برای فایلهای مبتنی بر extent) و XFS در دسترس است.
-h, --help
-V, --version
نویسندگان (AUTHORS)
Eric Sandeen <sandeen@redhat.com>, Karel Zak <kzak@redhat.com>
همچنین ببینید (SEE ALSO)
گزارش باگها (REPORTING BUGS)
برای گزارش باگها از ردیاب مشکلات https://github.com/util-linux/util-linux/issues.
دسترسی (AVAILABILITY)
دستور fallocate بخشی از بستهٔ util-linux است که میتوان آن را از بایگانی هسته لینوکس https://www.kernel.org/pub/linux/utils/util-linux.
| 2026-09-02 | util-linux 2.42.3 |