📚 بخش ۱۵ – کار با پوشهها در لینوکس (mkdir, rmdir, rm -r)

📖 مقدمه
برای مدیریت فایلها در لینوکس، باید ساختار پوشهها را بشناسیم و بتوانیم:
- پوشه جدید بسازیم
- پوشههای خالی را حذف کنیم
- پوشههای دارای محتوا را پاک کنیم
دستورات mkdir، rmdir و rm -r ابزار استاندارد این کار هستند.
این سه دستور به اندازهای مهماند که در اولین روزهای کار با لینوکس باید کامل یاد بگیریشان، چون در همه کارها از ساخت پروژه تا پاکسازی سرور استفاده میشوند.
🖇 فصل ۱ — مفاهیم پایه پوشهها در لینوکس
۱.۱ دایرکتوری یا پوشه چیست؟
در لینوکس، “پوشه” همان دایرکتوری است؛ یک مکان برای نگهداری و سازماندهی فایلها و زیرپوشهها.
برخلاف ویندوز، لینوکس ساختار پوشهها را به صورت درختی مدیریت میکند که ریشه آن / است.
۱.۲ تفاوت پوشه با فایل
- فایل: داده یا برنامه ذخیره شده.
- پوشه: حاوی فایلها یا پوشههای دیگر.
🏗 فصل ۲ — دستور mkdir (ساخت پوشه)
۲.۱ ساختار کلی
mkdir [گزینهها] نام_پوشه ...
۲.۲ مثال ساده: ساخت یک پوشه در مسیر فعلی
mkdir myfolder
در این حالت پوشه myfolder در دایرکتوری فعلی ساخته میشود.
۲.۳ ساخت چند پوشه همزمان
mkdir folder1 folder2 folder3
۲.۴ ساخت پوشههای تو در تو با -p
بدون -p اگر پوشه والد وجود نداشته باشد، ساخت پوشه شکست میخورد.
mkdir -p /home/user/projects/2025/October/
این دستور همه پوشههای والد را نیز ایجاد میکند.
۲.۵ تعیین مجوز پوشه هنگام ساخت
گزینه -m:
mkdir -m 755 public_folder
مجوزها طبق سیستم chmod تعریف میشوند.
۲.۶ نکات حرفهای
- برای پروژههای بزرگ، استفاده از براکتها برای ساخت همزمان چند پوشه:
mkdir -p project/{src,bin,docs}
🗑 فصل ۳ — دستور rmdir (حذف پوشههای خالی)
۳.۱ ساختار کلی
rmdir [گزینهها] نام_پوشه ...
۳.۲ حذف یک پوشه خالی
rmdir temp_folder
۳.۳ حذف پوشه زنجیرهای با -p
rmdir -p /path/to/empty/folder
این گزینه مسیرهای والد خالی را هم حذف میکند.
۳.4 محدودیتها
rmdir فقط پوشههای خالی را حذف میکند، حتی یک فایل مخفی مثل .gitignore مانع حذف میشود.
🔥 فصل ۴ — دستور rm -r (حذف پوشههای دارای محتوا)
۴.۱ ساختار کلی
rm -r [گزینهها] پوشه ...
۴.۲ مثال پایه
rm -r project_folder
۴.۳ گزینههای مهم
| گزینه | توضیح |
|---|---|
-i | تأیید قبل از حذف |
-f | حذف بدون سؤال |
-v | نمایش مسیرهای حذف شده |
-r | حذف بازگشتی |
۴.۴ حذف پوشه به همراه همه محتوا
rm -rv mydir
۴.۵ هشدار در استفاده از rm -rf
مثال خطرناک:
sudo rm -rf /
این دستور میتواند کل سیستم را نابود کند.
🛡 فصل ۵ — نکات ایمنی
- همیشه مسیر را چک کن
ls مسیر
- استفاده از
-i
alias rm='rm -i'
- تمرین در
/tmp - استفاده از
findبرای حذف هوشمند
🎯 فصل ۶ — تمرینهای عملی
تمرین ۱:
ساخت مسیر پروژه:
mkdir -p ~/dev/app/src ~/dev/app/tests
تمرین ۲:
حذف پوشه خالی:
rmdir ~/dev/app/tests
تمرین ۳:
حذف پوشه دارای محتوا:
rm -rv ~/dev/app
💡 فصل ۷ — سناریوهای واقعی
- آمادهسازی ساختار پروژه نرمافزاری
- پاکسازی پوشههای قدیمی
- بکاپ گیری و حذف نسخههای قبلی
📌 جمعبندی
mkdirبرای ایجاد پوشههاrmdirبرای حذف پوشههای خالیrm -rبرای حذف پوشههای دارای محتوا- رعایت نکات ایمنی برای جلوگیری از حذف تصادفی