1) ما هو أمر mv ولماذا نستخدمه؟
أمر mv اختصار لـ Move، ووظيفته:
- نقل الملفات/المجلدات من مكان إلى مكان
- إعادة تسمية الملفات/المجلدات
ملاحظة مهمة:
mvلا “ينسخ” مثلcp، بل ينقل (يعني الأصل يختفي من مكانه القديم) — إلا إذا كان النقل بين أنظمة ملفات مختلفة، حينها قد يتصرف كـ “نسخ ثم حذف” لكن النتيجة بالنسبة لك: الملف ينتقل.
2) الصيغة العامة (Syntax)
نقل/إعادة تسمية عنصر واحد
mv [OPTIONS] SOURCE DESTBashنقل عدة عناصر إلى مجلد
mv [OPTIONS] SOURCE1 SOURCE2 ... DIRECTORY/Bash3) إعادة تسمية ملف (Rename)
إعادة التسمية تتم عندما يكون المصدر والوجهة في نفس المكان ولكن باسم مختلف.
مثال بسيط
cd ~/project
touch original_file.txt
mv original_file.txt renamed_file.txtBashتحقق:
ls -lBashغالبًا
mvلا يطبع شيء عند النجاح.
4) نقل ملف إلى مجلد (Move)
نقل ملف إلى مجلد موجود
cd ~/project
mkdir -p new_dir
touch file1.txt
mv file1.txt new_dir/Bashتحقق:
ls -l new_dirBashوللتأكد أن الملف لم يعد في مكانه القديم:
ls -l file1.txtBashقد يظهر:
ls: cannot access 'file1.txt': No such file or directoryBash5) نقل عدة ملفات دفعة واحدة
نقل ملفات متعددة إلى مجلد
cd ~/project
mkdir -p new_dir
touch file1.txt file2.txt file3.txt
mv file1.txt file2.txt file3.txt new_dir/Bashتحقق:
ls -l new_dirBash6) نقل/إعادة تسمية مجلد
أ) إعادة تسمية مجلد
cd ~/project
mkdir -p old_folder
mv old_folder new_folderBashب) نقل مجلد لمكان آخر
mkdir -p destination
mv new_folder destination/Bash7) خيارات مهمة جدًا للمبتدئين (تحميك)
أ) -i يسألك قبل الاستبدال (Interactive) ✅
مفيد جدًا حتى لا تستبدل ملف بالغلط:
mv -i source.txt destination.txtBashإذا كان destination.txt موجودًا سيظهر سؤال مثل:
mv: overwrite 'destination.txt'?Bashب) -f يجبر الاستبدال بدون سؤال (Force) ⚠️
mv -f source.txt destination.txtBashللمبتدئ: استخدمه بحذر.
ج) -v يعرض ما يحدث (Verbose) ✅
ممتاز للتعلم والمتابعة:
mv -v file1.txt new_dir/Bash8) حالات مهمة لازم تعرفها
أ) إذا الوجهة مجلد موجود
mv file.txt folder/Bashالملف يدخل داخل folder بنفس الاسم.
ب) إذا الوجهة “اسم ملف”
mv file.txt file_new.txtBashهذا Rename.
ج) نقل وRename في نفس الوقت
mv ~/project/file.txt ~/project/new_dir/file_renamed.txtBash9) التعامل مع المسافات في أسماء الملفات
لازم تستخدم اقتباس:
mv "My Notes.txt" "Notes 2025.txt"Bash10) نقل باستخدام Patterns (مثل *.txt) مع انتباه
مثال نقل كل ملفات txt إلى مجلد:
mkdir -p texts
mv *.txt texts/Bashانتبه: هذا ينقل كل txt من المجلد الحالي فقط.
11) أخطاء شائعة وحلولها
أ) الوجهة ليست مجلد عند نقل عدة ملفات
إذا كتبت:
mv file1.txt file2.txt renamed.txtBashقد يعطي خطأ لأن عند نقل أكثر من ملف لازم الوجهة تكون مجلد.
✅ الحل:
mkdir -p dest
mv file1.txt file2.txt dest/Bashب) “No such file or directory”
يعني المسار غلط أو الملف غير موجود.
✅ تحقق بـ:
ls
pwdBashج) استبدال ملف بالغلط
✅ لتتجنب هذا استخدم:
mv -i file.txt dest/Bash12) تدريب سريع (Practice)
نفّذ هذا التدريب لتثبت الفهم:
cd ~/project
mkdir -p mv_practice/from mv_practice/to
touch mv_practice/from/a.txt mv_practice/from/b.txt mv_practice/from/c.txt
# 1) نقل ملف واحد
mv -v mv_practice/from/a.txt mv_practice/to/
# 2) نقل عدة ملفات
mv -v mv_practice/from/b.txt mv_practice/from/c.txt mv_practice/to/
# 3) إعادة تسمية داخل نفس المجلد
mv -v mv_practice/to/a.txt mv_practice/to/a_renamed.txt
# 4) عرض النتائج
ls -l mv_practice/to
ls -l mv_practice/fromBashهل الشرح الأصلي كافي؟
نعم كبداية، لكنه يحتاج توسعة للمبتدئ في:
- الفرق بين (Rename) و (Move)
- نقل/إعادة تسمية مجلدات
- التعامل مع الاستبدال وتجنب الأخطاء (
-i) - المسارات + Rename مع النقل
- Patterns مثل
*.txt