منشور

شرح الأمر cp في لينكس مع الأمثلة

شرح كيفية نسخ الملفات والمجلدات باستخدام سطر الأوامر على اللينكس مع الأمثلة

هذا المقال جزء من سلسلة أساسيات أوامر لينكس

يُستخدم الأمر cp (وهو اختصار لـ copy) لنسخ الملفات والمجلدات.

صيغة الأمر

نسخ من المصدر “source” للوجهة “dest”:

1
    $ cp [options] source dest

نسخ عدة ملفات إلى مجلد

1
    cp [options] Source-1 Source-2 Source-3 Source-n Directory

ومع استبدال [options] بالخيار المطلوب، والخيارات اختيارية وليست إجبارية لتنفيذ الأمر.

خيارات الأمر cp

الخيارات الرئيسية للأمر cp هي:

الخيار الوصف
cp -i نسخ تفاعلي (السؤال قبل استبدال ملف موجود مسبقا)
cp -f اختصار لـ force أي إجبار النسخ حتى لو اضطر لحذف الملف الوجهة والكتابة فوقه
cp -l أي link وهي مثل إنشاء اختصار بدل من النسخ
cp -R نسخ تكراري، ويستخدم لنسخ المجلدات بمحتوياتها بما في ذلك الملفات المخفية
cp -u أي update وبالتالي انسخ في حالة المصدر كان أحدث من الوجهة
cp -v أي verbose وهو نسخ مع عرض معلومات عن العملية

أمثلة على الأمر cp

نسخ ملف واحد “main.c” إلى المجلد الهدف “bak”

1
    $ cp main.c bak

نسخ ملفين “main.c” و “def.h” إلى المجلد rapid باستخدام المسار المطلق (والذي يبدأ من المجلد الجذر)

1
    $ cp main.c def.h /home/usr/rapid/

نسخ كل الملفات ذات اللاحقة “c.” إلى المجلد الفرعي bak

1
    $ cp *.c bak

نسخ المجلد src الموجود في المسار الحالي إلى المجلد rapid ذو المسار المطلق: (المسار المطلق يبدأ من المجلد الجذر ويُستخدم عمومًا في حال عدم وجود المجلد أو الملف في مسار العمل الحالي)

1
    $ cp src /home/usr/rapid/

نسخ جميع الملفات والمجلدات في المجلد dev إلى المجلد الفرعي bak (بدون الخيار R- سيعطي خطأ)

1
    $ cp -R dev bak

نسخ تفاعلي للسؤال قبل النسخ فوق ملفات موجودة:

1
2
    $ cp -i test.c bak
    cp: overwrite 'bak/test.c'? y

تحديث جميع الملفات في المجلد bak، أي نسخ الملفات الأحدث فقط من المجلد الحالي للمجلد bak

1
    $ cp -u * bak

المراجع

التالي: الأمر gcc

هذا المنشور تحت ترخيص CC BY 4.0 بواسطة المؤلف.