cp (Unix)

cpهو أمر برمجي لنسخ الملفات والمجلدات .

إذا كان لدى المستخدم صلاحية الكتابة إلى ملف الهدف، يقوم الأمر بنسخ المحتوى عن طريق فتحه في وضع التحديث. وهذا يحافظ على رقم تعريف الملف (inode) بدلاً من إنشاء ملف جديد بأذونات افتراضية.

كان هذا الأمر جزءًا من نظام يونكس الإصدار الأول ، [ 1 ] وهو مُحدد في معيار POSIX . يحتوي تطبيق GNU على العديد من الخيارات الإضافية التي تتجاوز مواصفات POSIX. [ 2 ] يُضمّن هذا الأمر في حزمة أدوات GNU الأساسية [ 3 ] وهو مُتاح في واجهة EFI . [ 4 ]

خيارات

  • -f(فرض) - يحدد هذا الخيار إزالة كل ملف مستهدف إذا تعذر فتحه لعمليات الكتابة؛ وتسبق الإزالة أي عملية نسخ.
  • -H(إلغاء المرجعية) يتبع الروابط الرمزية بحيث يحتوي الوجهة على الملف الهدف بدلاً من رابط إلى الهدف
  • -i(تفاعلي) يطلب من المستخدم استبدال كل ملف مستهدف يتعارض مع ملف المصدر
  • -n(لا استبدال الملفات ) - يمنع الكتابة فوق الملفات
  • -p(حفظ) يحفظ البيانات الوصفية لكل ملف مصدر في الوجهة، بما في ذلك وقت آخر تعديل وآخر وصول، والملكية، وأذونات الملف.
  • -Rأو -r(بشكل متكرر) نسخ الدلائل بشكل متكرر

الأوضاع

يحتوي الأمر على ثلاثة أوضاع تشغيل رئيسية كما هو مستنتج من وسائط سطر الأوامر. [ 5 ]

انسخ الملف

بالنسبة لمسار إلى ملف موجود متبوعًا بمسار لا يشير إلى دليل موجود، يتم نسخ الملف الموجود في المسار الأول إلى المسار الثاني.

cp [-fHip][--] ملف المصدر ملف الهدف

انسخ الملفات إلى الدليل

بالنسبة لمسار واحد أو أكثر إلى ملفات موجودة متبوعًا بمسار إلى دليل موجود، يتم نسخ الملفات إلى الدليل.

cp [-fHip] [--] sourcefile... targetdirectory

نسخ الدليل

باستخدام خيار سطر الأوامر recurse، عادةً ما -rيتم تحديد مسار إلى دليل موجود ومسار ثانٍ، حيث تُنسخ ملفات الدليل إلى المسار الثاني. إذا كان المسار الثاني لا يشير إلى أي شيء، يُنسخ الدليل المصدر إلى ذلك المسار. أما إذا كان المسار الثاني يشير إلى دليل موجود، فيُنسخ الدليل المصدر إلى الدليل الوجهة كدليل فرعي.

cp -r|-R [-fHip] [--] دليل المصدر... دليل الهدف

أمثلة

ينسخ هذا الأمر الملف prog.c إلى الملف prog.bak . إذا لم يكن الملف prog.bak موجودًا بالفعل، فسيتم إنشاؤه. أما إذا كان موجودًا، فسيتم استبدال محتواه.

cp prog.c prog.bak

هذا ينسخ الملفات jones و smith إلى الدليل الموجود مسبقًا clients .

عملاء سي بي جونز سميث

ينسخ هذا الأمر الملف smith إلى ملف باسم smith.jr . وبدلاً من إنشاء ملف يحمل التاريخ والوقت الحاليين، ينسخ الأمر التاريخ والوقت من الملف الأصلي. كما يستقبل الملف المنسوخ بيانات وصفية أخرى من الملف الأصلي، بما في ذلك بيانات التحكم في الوصول.

cp -p smith smith.jr

يقوم هذا بنسخ دليل العملاء بشكل متكرر ، بما في ذلك ملفاته، والأدلة الفرعية، والملفات الموجودة في تلك الأدلة الفرعية، إلى دليل جديد باسم customers/clients .

cp -R clients customers

تختلف بعض التطبيقات في سلوكها في الوضع التكراري، وذلك تبعًا لنهاية مسار الدليل. cp -R clients/ customersفي تطبيق GNU، يكون السلوك كما هو موضح أعلاه. أما في تطبيق BSD، فيتم نسخ محتويات دليل العملاء ، بدلًا من دليل العملاء نفسه. ويحدث الأمر نفسه في كلٍ من تطبيقي GNU وBSD إذا انتهى مسار دليل المصدر بنقطة (.) أو (..) (مع أو بدون شرطة مائلة في النهاية).

انظر أيضاً

  • أمر النسخ – أمر سطر الأوامر لنسخ الملفات 
  • cpio – برنامج أرشفة الملفات وتنسيق الملفات المرتبط به 
  • مجموعة أدوات GNU الأساسية – مجموعة من الأدوات القياسية القائمة على نظام يونكس من GNU 
  • قائمة أوامر POSIX
  • mv – أمر سطر الأوامر لنقل الملفات 
  • rm – أمر shell لحذف الملفات 
  • progress أداة لينكس لعرض التقدم في عمليات النسخ والنسخ والتوزيع [ 6 ] [ 7 ]
  • rsync – بروتوكول وبرنامج مزامنة الملفات 
  • بروتوكول scp – بروتوكول شبكي لنسخ الملفات بين أجهزة الكمبيوتر. صفحات تعرض وصفًا موجزًا ​​لوجهات إعادة التوجيه. 
  • tar – تنسيق الملفات وبرنامج أرشفة الملفات 
  • uucp – مجموعة من برامج وبروتوكولات الحاسوب 

مراجع

  1. ماكيلروي، دكتور في الطب (1987). قارئ أبحاث يونكس: مقتطفات مشروحة من دليل المبرمج، 1971-1986 (ملف PDF) (تقرير فني). مختبرات بيل. 139.
  2. "GNU Coreutils: استدعاء cp" . GNU . مؤرشف من الأصل بتاريخ 26-01-2022 . تم الاسترجاع بتاريخ 17-03-2015 .
  3. "Cp(1): نسخ الملفات/المجلدات - صفحة دليل لينكس" . مؤرشف من الأصل بتاريخ 30 يناير 2022. تم الاطلاع عليه بتاريخ 19 يناير 2019 .
  4. "واجهات برمجة تطبيقات EFI والبرمجة النصية" . إنتل . مؤرشف من الأصل بتاريخ 27-09-2013 . تم الاطلاع عليه بتاريخ 25-09-2013 .
  5. "Cp(1) - صفحة دليل لينكس" . مؤرشفة من الأصل بتاريخ 29-01-2022 . تم الاطلاع عليها بتاريخ 13-02-2022 .
  6. "Progress(1) - صفحة دليل لينكس" . مؤرشفة من الأصل بتاريخ 2019-11-06 . تم الاطلاع عليها بتاريخ 2019-11-06 .
  7. "Progress - Coreutils Progress Viewer" . GitHub – منصة تعاون لتطوير البرمجيات . 14 نوفمبر 2021.