برای دیلیت کردن فولدرها در لینوکس، می‌توان از دستور rmdir استفاده کرد. دستور rmdir در سیستم عامل‌هایی مثل macOS اپل نیز برای همین منظور به کار می‌رود چرا که این سیستم عامل نیز شبیه به UNIX است.

در ادامه به روش استفاده از ترمینال و دستور rmdir برای حذف فولدر در توزیعات مختلف Linux می‌پردازیم.

استفاده از اپلیکیشن مدیریت فایل در توزیعات مختلف لینوکس ساده‌تر از کار با دستورات در محیط Terminal است اما گاهی به دلایل مختلف، نیاز است که کاری توسط ترمینال انجام شود. دستور rmdir مشابه دستور rm عمل می‌کند اما کاربرد آن حذف کردن فولدرها است. برای آشنایی با شیوه‌ی استفاده از دستور rm و حذف کردن فایل یا گروهی از فایل‌ها با این دستور جالب، به مقاله‌ی زیر مراجعه فرمایید:

قبل از هر چیز دقت کنید که دستورات rm و rmdir فایل و فولدر را کاملاً حذف می‌کنند و در واقع به سطل زباله فرستاده نمی‌شود. لذا قبل از تست و بررسی دستورات، از فایل یا فولدرهای مهم بکاپ تهیه کنید.

آموزش حذف کردن فولدرها در لینوکس با دستور rmdir

دستور rmdir از نظر شیوه‌ی کاربری درست شبیه به دستور rm است. به عبارت دیگر می‌بایست پس از این فرمان، آدرس فولدر یا فولدرها را قرار بدهید. اما یک تفاوت مهم بین rmdir با rm وجود دارد:

اگر از rm برای حذف کردن فولدرها استفاده کنید، فولدرهای دارای فایل نیز حذف می‌شوند اما فرمان rmdir صرفاً فولدر خالی را حذف می‌کند و نه فایل‌های درون فولدرها را و در واقع نمی‌تواند فولدرهای پر را حذف کند.

برای حذف کردن یک فولدر، نام آن را پس از rmdir وارد کنید و Enter را فشار دهید:

اگر فولدرها متعدد است، می‌توانید نام چند فولدر را پس از فرمان rmdir وارد کنید و بین هر مورد و مورد بعدی، یک فاصله بزنید:

اما در هر دو حالت قبلی، فولدرها در فولدری کاری فعلی قرار داشتند. در صورتی که فولدر دیگری خارج از فولدر فعلی مدنظر باشد، می‌بایست از دستور cd برای تغییر فولدر استفاده کنید یا روش دیگر این است که نام فولدر و آدرس کامل فولدر را پس از rmdir تایپ کنید.

همان‌طور که اشاره کردیم این فرمان نمی‌تواند فولدر غیرخالی را حذف کند و اروری نمایش می‌دهد. پیام خطای failed to remove و به دنبال آن آدرس فولدر و Directory not empty که در تصویر زیر مشاهده می‌کنید، به چنین حالتی مربوط می‌شود:

اگر حین حذف کردن تعدادی فولدر با ارور Directory not empty روبرو شده‌اید و فرآیند متوقف شده، می‌توانید از آپشن --ignore-fail-on-non-empty استفاده کنید. با اضافه کردن این آپشن پس از دستور rmdir، اگر فولدری حاوی فایل باشد و حذف نشود، فرآیند متوقف نمی‌شود و در واقع فولدرهای خالی بعدی حذف می‌شوند.

به عنوان مثال اگر فرمان زیر را اجرا کنید و فولدر اول یعنی The work/reports پر باشد و حذف نشود، کار متوقف نمی‌شود و فولدر دوم که work/quotes است، در صورت خالی بودن حذف می‌شود.

نتیجه را بررسی کنید:

نحوه حذف فولدر با دستور rmdir در لینوکس

آپشن -p یا parents هم بسیار مفید است چرا که به شما اجازه می‌دهد که فولدری خالی را حذف کنید و فولدر یا فولدرهای بالادستی آن را نیز حذف کنید. در واقع حذف کردن فولدرهای بالادستی در مسیر مشخص شده ادامه پیدا می‌کند تا به فولدری غیرخالی برسید.

نتیجه را بررسی کنید:

نحوه حذف فولدر با دستور rmdir در لینوکس

همان‌طور که می‌بینید هر دو فولدر work و invoices خالی بوده و حذف شده است.