انتقل إلى المحتوى

إم في

من ويكيبيديا، الموسوعة الحرة

الأمر mv (بالإنجليزية: mv اختصار لـ move)‏ هو أمر يونكس يقوم بنقل واحد أو أكثر من الملفات أو الدلائل من مكان إلى آخر. إذا كانت كل من أسماء الملفات على نفس نظام الملفات، فإن هذا يؤدي إلى إعادة تسمية بسيطة للملف؛ وإلا يتم نسخ محتوى الملف إلى الموقع الجديد وتتم إزالة الملف القديم. عن طريق ام يتطلب من المستخدم لديك إذن الكتابة عن الدلائل وملف تنقل بين. هذا لأن mv يغير محتوى كل من الدلائل (أي المصدر والهدف) المتضمن في هذه الخطوة. عند استخدام الأمر mv في الملفات الموجودة على نفس نظام الملفات، لا يتم تحديث الطابع الزمني للملف.

في تطبيقات UNIX المشتقة من إيه تي آند تي UNIX، يتم تنفيذ cp وLn وإم في كبرنامج واحد مع ثنائيات متصلة. يتم تحديد السلوك من اسم مكون المسار الأخير في argv. هذه تقنية شائعة تسمح عن طريقها الأوامر الوثيقة الصلة التي تم تجميعها كوحدة تسمح للمستخدم بتحديد المسار المحدد للعمل المقصود.

التاريخ

[عدل]

أُدرجَ أمرُ النقلِ الذي ينقلُ مجلد إلى مجلد جديدٍ لأولِ مرةٍ في نظامِ مولتكس. ويمكن اختصارهُ إلى mv.[1] لاحقًا، ظهرَ الأمرُ mv في الإصدارِ الأولِ من نظامِ يونكس[2] وأصبحَ جزءًا من الإصدارِ الثاني من دليلِ X/Open Portability Guide عامَ ١٩٨٧م.[3] كُتِبَتْ نسخةُ الأمرِ mv المُضمَّنةِ في حزمةِ أدوات جنو الأساسية بواسطةِ كلٍ من مايك باركر، وديفيد ماكنزي، وجيم مايرينج.[4] يتوفرُ الأمرُ كحزمةٍ منفصلةٍ لنظامِ مايكروسوفت ويندوز كجزءٍ من مجموعةِ UnxUtils التي تحتوي على منافذ Win32 أصلية للأدواتِ الشائعةِ المشابهةِ لنظامِ GNU Unix.[5] نُقِلَ الأمرُ mv أيضًا إلى نظامِ التشغيلِ IBM i.[6]

تضارب الملف الموجود

[عدل]

عندما يتم نقل اسم ملف إلى اسم ملف موجود، يتم حذف الملف الموجود. إذا كان الملف الموجود غير قابل للكتابة ولكن في دليل قابل للكتابة، يطلب الأمر mv تأكيدًا (في حالة تشغيله من مطراف) قبل المتابعة، ما لم يتم استخدام الخيار -f (force).

أمثلة

[عدل]
mv myfile mynewfilename # renames      'myfile' to 'mynewfilename'. 
 mv myfile ~ / myfile #
                              move           'myfile' من الدليل الحالي إلى الدليل الرئيسي للمستخدم. # يشير الترميز "~" إلى دليل المستخدم "home" (login) 
 mv myfile subdir / myfile      # moves 'myfile' to 'subdir / myfile' بالنسبة إلى الدليل الحالي. 
 mv myfile subdir             # same as the previous command، is filename is into to the same. 
 mf myfile subdir / myfile2 # move     'myfile' to 'subdir' named 'myfile2'. 
 mv be.03 / mnt / bkup / bes       # copies 'be.03' to the volume volume 'bkup' the 'bes' directory،
                             
 mv afile another / home / yourdir / yourfile mydir 
                             # ينقل ملفات متعددة إلى دليل 'mydir'. 
 mv / var / log / * z ~ / logs        # يستغرق وقتًا أطول من المتوقع إذا كان '/ var' في نظام ملفات مختلف ، 
                             # كما هو بشكل متكرر ، نظرًا لأن الملفات سيتم نسخها وحذفها 
                             # كن حذرًا عند استخدام أنماط اسم ملف globbable تحتوي على 
                             # من الأحرف؟ * [للتأكد من أن الوسيطات التي تم تمريرها إلى 'mv' 
                             # تتضمن قائمة من غير الدلائل ودليل الإنهاء
 يعرض 
 man mv                       # صفحة دليل UNIX الكاملة للأمر 'mv'.

لاحظ أنه، في المثال أعلاه، / mnt أشار إلى الدليل («نقطة التحميل») التي يتم تركيب نظام ملفات معين عليها. تسمية مثل هذه الدلائل / mnt هي اتفاقية شائعة ولكنها ليست ضرورية على الإطلاق. يمكن اعتبار «نظام الملفات» كشجرة مستقلة تعتبر منطقية كوحدة واحدة؛ جذرها هو «شنت» فوق دليل اختيار المسؤول. أي محتويات سابقة من هذا الدليل تكون غير مرئية، ولكن يتم «استعادتها» عندما يتم إلغاء تحميل وحدة التخزين الجديدة.

مراجع

[عدل]
  1. ^ Multics Commands نسخة محفوظة 2024-10-03 على موقع واي باك مشين.
  2. ^ mv(1) – FreeBSD General Commands Manual
  3. ^ mv: move files – Shell and Utilities المرجع، مُوَاصَفَة يونكس الموحدة، الإصدارة 4 من المجموعة المفتوحة (بالإنجليزية: The Single UNIX Specification, Version 4 from The Open Group)‏
  4. ^ mv(1) – Linux General Commands Manual
  5. ^ "Native Win32 ports of some GNU utilities". unxutils.sourceforge.net. مؤرشف من الأصل في 2024-12-14.
  6. ^ IBM. "IBM System i Version 7.2 Programming Qshell" (PDF). آي بي إم (بالإنجليزية). Archived from the original (PDF) on 2020-09-18. Retrieved 2020-09-05.