WIPEFS(8) دستورات مدیریت سیستم WIPEFS(8)

wipefs - پاکسازی امضای سیستم فایل از روی دستگاه

wipefs [گزینه‌ها] دستگاه...

wipefs [--backup] -o آفست دستگاه...

wipefs [--backup] -a دستگاه...

دستور wipefs می‌تواند امضاهای سیستم‌فایل، RAID یا جدول پارتیشن (رشته‌های جادویی یا magic strings) را از روی دستگاه مشخص‌شده پاک کند تا امضاها برای libblkid نامرئی شوند. دستور wipefs خود سیستم‌فایل یا داده‌های دیگر را از روی دستگاه پاک نمی‌کند.

هنگامی که بدون هیچ گزینه‌ای استفاده شود، wipefs تمام سیستم‌های فایل قابل‌مشاهده و آفست‌های امضاهای اصلی آن‌ها را فهرست می‌کند. خروجی پیش‌فرض ممکن است تغییر کند؛ بنابراین تا جای ممکن، باید از خروجی‌های پیش‌فرض در اسکریپت‌های خود خودداری کنید. همیشه ستون‌های مورد انتظار را با استفاده از --output فهرست-ستون‌ها در محیط‌هایی که خروجی پایدار مورد نیاز است به‌صورت صریح مشخص نمایید.

دستور wipefs پس از پاکسازی امضای جدول پارتیشن، فراخوانی ioctl با نام BLKRRPART را اجرا می‌کند تا هسته را از این تغییر مطلع سازد. این ioctl به‌عنوان آخرین گام و پس از پاکسازی کامل تمام امضاهای مشخص‌شده از تمام دستگاه‌های مشخص‌شده فراخوانی می‌شود. از این قابلیت می‌توان برای پاکسازی محتوا روی دستگاه‌های پارتیشن و همچنین جدول پارتیشن روی یک دستگاه دیسک استفاده کرد؛ برای نمونه با wipefs -a /dev/sdc1 /dev/sdc2 /dev/sdc.

توجه داشته باشید که برخی سیستم‌های فایل و برخی جدول‌های پارتیشن، رشته‌های جادویی بیشتری را روی دستگاه ذخیره می‌کنند (مانند FAT، ZFS، GPT). دستور wipefs (از نسخه v2.31) تمام آفست‌هایی را که در آن‌ها رشته‌های جادویی شناسایی شده‌اند فهرست می‌کند.

هنگامی که از گزینه -a استفاده شود، تمام رشته‌های جادویی که برای libblkid(3) قابل‌مشاهده هستند پاک می‌شوند. در این حالت، wipefs پس از هر بار تغییر (پاکسازی)، دستگاه را دوباره پویش (scan) می‌کند تا زمانی که هیچ رشته جادویی دیگری یافت نشود.

توجه داشته باشید که به‌طور پیش‌فرض، wipefs جدول‌های پارتیشن تودرتو را روی دستگاه‌هایی که کل دیسک نیستند پاک نمی‌کند. برای این منظور، گزینه --force مورد نیاز است.

-a, --all

تمام امضاهای موجود را پاک می‌کند. مجموعه امضاهای پاک‌شده را می‌توان با استفاده از گزینه -t محدود کرد. هنگامی که روی یک دستگاه کامل دیسکِ پارتیشن‌بندی‌شده مانند /dev/sdX اجرا شود، تنها جدول‌های پارتیشن پاک می‌شوند، نه محتوای پارتیشن‌ها.

-b, --backup[=پوشه]

یک نسخه پشتیبان از امضا در پرونده wipefs-<devname>-<offset>.bak در $HOME یا پوشه مشخص‌شده به‌عنوان آرگومان اختیاری ایجاد می‌کند. برای جزئیات بیشتر به بخش مثال‌ها مراجعه کنید.

-f, --force

پاکسازی اجباری، حتی اگر سیستم‌فایل متصل (mounted) باشد. این کار برای پاکسازی امضای جدول پارتیشن روی یک دستگاه بلوکی لازم است.

-J, --json

استفاده از قالب خروجی JSON.

--lock[=حالت]

استفاده از قفل انحصاری BSD برای دستگاه یا پرونده‌ای که روی آن کار می‌کند. آرگومان اختیاری حالت می‌تواند yes، no (یا 1 و 0) یا nonblock باشد. اگر آرگومان حالت حذف شود، مقدار پیش‌فرض "yes" خواهد بود. این گزینه متغیر محیطی $LOCK_BLOCK_DEVICE را بازنویسی می‌کند. حالت پیش‌فرض استفاده نکردن از هیچ قفلی است، اما برای جلوگیری از تداخل با udevd یا ابزارهای دیگر توصیه می‌شود.

-i, --noheadings

سربرگ ستون‌ها را چاپ نمی‌کند.

-O, --output فهرست

مشخص کردن ستون‌های خروجی برای نمایش. از --help برای دریافت فهرستی از تمام ستون‌های پشتیبانی‌شده استفاده کنید.

-n, --no-act

باعث می‌شود همه‌چیز به جز فراخوانی write(2) انجام شود (بدون اعمال تغییرات واقعی).

-o, --offset آفست

موقعیت (به بایت) امضایی که باید از دستگاه پاک شود را مشخص می‌کند. مقدار آفست می‌تواند شامل پیشوند "0x" باشد که در این صورت عدد به‌عنوان مقدار هگزادسیمال تفسیر می‌شود. امکان مشخص کردن چند گزینه -o وجود دارد.

آرگومان آفست می‌تواند با پسوندهای ضربی 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.

-p, --parsable

چاپ خروجی در قالبی قابل تجزیه (parsable) به‌جای قالب قابل خواندن برای انسان. تمام نویسه‌های بالقوه ناامن یک رشته را به مقدار هگز متناظر با پیشوند '\x' تبدیل می‌کند.

-q, --quiet

عدم نمایش هرگونه پیام پس از پاکسازی موفقیت‌آمیز امضا.

-t, --types فهرست

مجموعه امضاهای چاپ‌شده یا پاک‌شده را محدود می‌کند. بیش از یک نوع را می‌توان در یک فهرست جداشده با کاما مشخص کرد. فهرست یا انواع جداگانه را می‌توان با 'no' پیشوندگذاری کرد تا انواعی که نباید اقدامی روی آن‌ها انجام شود مشخص گردند. برای جزئیات بیشتر به mount(8) مراجعه کنید.

-h, --help

نمایش متن راهنما و خروج.

-V, --version

نمایش اطلاعات نسخه و خروج.

LIBBLKID_DEBUG=all

خروجی دیباگ libblkid(3) را فعال می‌کند.

LOCK_BLOCK_DEVICE=<mode>

استفاده از قفل انحصاری BSD. مقدار حالت "1" یا "0" است. برای جزئیات بیشتر --lock را ببینید.

wipefs /dev/sda*

چاپ اطلاعات درباره sda و تمام پارتیشن‌های روی sda.

wipefs --all --backup /dev/sdb

تمام امضاها را از دستگاه /dev/sdb پاک می‌کند و یک پرونده پشتیبان امضا به‌صورت ~/wipefs-sdb-<offset>.bak برای هر امضا ایجاد می‌کند.

dd if=~/wipefs-sdb-0x00000438.bak of=/dev/sdb seek=$((0x00000438)) bs=1 conv=notrunc

یک امضای ext2 را از پرونده پشتیبان ~/wipefs-sdb-0x00000438.bak بازیابی می‌کند.

Karel Zak <kzak@redhat.com>

blkid(8), findfs(8)

برای گزارش باگ‌ها از سامانه پیگیری مشکلات استفاده کنید: issue tracker https://github.com/util-linux/util-linux/issues.

دستور wipefs بخشی از بسته util-linux است که می‌توان آن را از آرشیو هسته لینوکس دریافت کرد: Linux Kernel Archive https://www.kernel.org/pub/linux/utils/util-linux.

2026-06-16 util-linux 2.41.5