📚 بخش ۱۴ – کار با cp، mv، rm در لینوکس

""

مقدمه

بعد از یادگیری ساخت و دیدن فایل‌ها با touch, cat, more, less، گام بعدی توانایی مدیریت مکان و وضعیت فایل‌ها است:

  • کپی (cp) → ایجاد یک نسخه جدید از فایل یا پوشه در جای دیگر
  • جابجایی (mv) → تغییر مکان یا تغییر نام فایل/پوشه
  • حذف (rm) → پاک‌کردن فایل یا پوشه (بدون بازگشت)

این سه ابزار، ستون اصلی مدیریت فایل در ترمینال‌اند و تقریبا در تمام فعالیت‌های کاربری و مدیریت سرور استفاده می‌شوند.


📂 فصل ۱: دستور cp – کپی کردن فایل‌ها و پوشه‌ها

۱.۱ دستور پایه cp

ساختار کلی:

cp [گزینه‌ها] مبدا مقصد

مثال ساده:

cp file.txt backup.txt

نتیجه: backup.txt یک کپی از محتوای file.txt است.


۱.2 کپی در پوشه دیگر

cp myfile.txt /home/user/backup/

۱.3 گزینه‌های پرکاربرد

گزینهتوضیح
-iقبل از جایگزینی فایل سؤال می‌پرسد
-uفقط فایل‌های جدیدتر را کپی می‌کند
-vنمایش عملیات کپی
-r یا -Rکپی پوشه‌ها (Recursive)
-pحفظ مجوزها و تایم‌استمپ

مثال ترکیبی:

cp -rvp Documents /mnt/usb/

۱.۴ کپی چند فایل همزمان

cp file1.txt file2.txt /tmp/

📂 فصل ۲: دستور mv – جابجایی یا تغییر نام

۲.۱ ساختار کلی

mv [گزینه‌ها] مبدا مقصد

۲.۲ جابجایی به پوشه دیگر

mv myfile.txt /home/user/oldfiles/

۲.۳ تغییر نام فایل

mv oldname.txt newname.txt

۲.۴ جابجایی چند فایل

mv file1.txt file2.txt /tmp/

۲.۵ گزینه‌های پرکاربرد

گزینهتوضیح
-iقبل از بازنویسی سؤال می‌پرسد
-uفقط فایل‌های جدیدتر را جابه‌جا می‌کند
-vنمایش عملیات در حال اجرا

مثال:

mv -iv report.txt /backup/

📂 فصل ۳: دستور rm – حذف فایل‌ها و پوشه‌ها

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


۳.۱ حذف فایل

rm file.txt

۳.۲ حذف چند فایل

rm file1.txt file2.txt

۳.۳ گزینه‌های مهم

گزینهتوضیح
-iقبل از حذف سؤال می‌پرسد
-vنمایش نام فایل‌های حذف شده
-rحذف بازگشتی پوشه‌ها
-fحذف بدون هشدار

مثال حذف پوشه:

rm -r old_directory/

۳.۴ حذف اجباری (خطرناک)

sudo rm -rf /path/to/data

⚠ این دستور می‌تواند تمام سیستم را نابود کند؛ حتماً قبلش مسیر را چک کن.


📂 فصل ۴: نکات حرفه‌ای و ترفندها

  • برای جلوگیری از اشتباه‌های مرگبار، همیشه alias ایمن‌سازی تعریف کن:
alias rm='rm -i'
  • استفاده از cp -i یا mv -i برای محافظت در برابر بازنویسی.
  • ترکیب با find برای حذف یا جابجایی گروهی:
find /tmp -name "*.log" -type f -delete

📂 فصل ۵: تمرین‌های عملی

تمرین ۱ – کپی پوشه داده‌ها

cp -rvp /var/www/html /backup/

تمرین ۲ – تغییر نام فایل‌های گزارش

mv report1.txt old_report1.txt

تمرین ۳ – حذف لاگ‌های موقتی

rm -v /tmp/*.log

تمرین ۴ – جابجایی و جایگزینی مشروط

mv -u new_config.conf /etc/myapp/config.conf

📂 فصل ۶: سناریوی واقعی – بکاپ و آرشیو روزانه

فرض کن باید هر روز نسخه پشتیبان از پوشه پروژه بگیری:

cp -rp /home/user/project /backup/project_$(date +%F)

بعد پوشه پروژه را از پوشه اصلی به بخش آرشیو جابجا کنی:

mv /home/user/project /home/user/archive/

و نهایتاً لاگ‌های قدیمی‌تر از ۷ روز را حذف کنی:

find /var/log -type f -mtime +7 -exec rm -v {} \;

جمع‌بندی

  • cp → نسخه برداری از فایل‌ها و پوشه‌ها
  • mv → جابجایی یا تغییر نام
  • rm → حذف کامل
  • نکات ایمنی مثل استفاده از -i، بررسی مسیر، و استفاده از alias می‌تواند از فاجعه جلوگیری کند.
محمد وب‌سایت

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *