logo

أمر cp في Linux/Unix | ملف نسخ لينكس

'CP' يعني نسخة. يُستخدم الأمر 'cp' لنسخ ملف أو دليل.

مقدمة إلى أمر cp

يتم استخدام الأمر cp لنسخ الدلائل والملفات. يحتوي الأمر على ثلاثة أوضاع تشغيل أساسية، ممثلة بأنواع الوسائط المعروضة للبرنامج لنسخ ملف إلى ملفات أخرى، أو ملفات متعددة إلى أي دليل، أو لنسخ الدلائل بأكملها إلى أدلة أخرى.

علاوة على ذلك، تقبل الأداة العديد من علامات خيارات سطر الأوامر لتوضيح العمليات التي تم تنفيذها. المواصفات الأساسية هما GNU cp وPOSIX cp. يحتوي GNU cp على خيارات إضافية متنوعة في إصدار POSIX. يتوفر الأمر أيضًا داخل غلاف EFI.

أوضاع تشغيل الأمر cp

يحتوي الأمر cp على ثلاثة أوضاع تشغيل أساسية. تكتمل هذه الأوضاع من عدد ونوع الوسائط المعروضة للبرنامج قيد الاستدعاء.

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

خيارات أمر cp

خيار وصف
--ارشيف، -أ وهو يعادل -dR --preserve=all.
--السمات فقط لا يقوم بنسخ بيانات الملف، بل السمات فقط.
إنه مثل النسخ الاحتياطي ولكنه لا يقبل أي وسيطة.
--النسخ الاحتياطي[=التحكم] يقوم بعمل نسخة احتياطية لجميع الملفات الوجهة الموجودة.
--نسخ المحتويات عندما يكون متكررًا، فإنه ينسخ محتويات ملف خاص.
إنه يعادل --no-dereference --preserve=links.
--القوة، -ف إذا تعذر فتح أي ملف وجهة موجود، فاحذفه وحاول مرة أخرى (يتم تجنب هذا الخيار إذا تم استخدام العلامة -n أيضًا).
--تفاعلية، -i يطلب التأكيد قبل الكتابة (يتجاوز العلامة -n السابقة).
في SOURCE، يتبع الروابط الرمزية لسطر الأوامر.
--رابط، -ل وهو يحدد ملفات الارتباط الثابت بدلاً من النسخ.
--الاحترام، -L في SOURCE، يتبع دائمًا الروابط الرمزية.
--no-clobber، -n ولا يقوم بالكتابة فوق أي ملف موجود (يتجاوز العلامة -i).
--لا يوجد احترام، -P في SOURCE، لا يتبع الروابط الرمزية أبدًا.
إنه يعادل --preserve=mode، والطوابع الزمنية، والملكية.
--الحفظ[=ATTR_LIST] ويحافظ على السمات الموصوفة. إذا أمكن سمات إضافية: الكل، xattr، الروابط، السياق.
--no-preserve=ATTR_LIST لا يحافظ على السمات الموصوفة.
--آباء ضمن الدليل، يستخدم اسم الملف المصدر الكامل.
--العودي، -r، -R يقوم بنسخ الدلائل بشكل متكرر.
--reflink[=متى] يتحكم في نسخ البقرة/الاستنساخ.
--إزالة الوجهة يقوم بإزالة جميع ملفات الوجهة الموجودة قبل محاولة فتحها (مقابل --force).
--متفرق=متى يتحكم في إنشاء الملفات المتفرقة.
--سلسلة مائلة زائدة فهو يزيل الخطوط المائلة الزائدة من كافة وسيطات SOURCE.
--رابط رمزي، -s فهو يصنع روابط رمزية بدلاً من النسخ.
--suffix=SUFFIX, -S إنه يتجاوز لاحقة النسخ الاحتياطي الشائعة.
--target-directory=DIRECTORY, -t يقوم بنسخ كل وسيطة SOURCE إلى الدليل.
--no-target-directory، -T يعتبر DEST كملف عام.
--تحديث، -u يتم نسخه إذا كان الملف SOURCE أحدث مقارنةً بالملف الوجهة أو إذا لم يتم تحديد الملف الوجهة.
--مطول، -v ويحدد ما يجري القيام به.
--نظام ملفات واحد، -x يبقى على نظام الملفات.
-مع يقوم بتعيين سياق أمان SELinux للملف الوجهة على النوع الافتراضي.
--السياق[=CTX] إنه نفس -Z، أو إذا تم ذكر CTX، فإنه يضبط سياق أمان SMACK أو SELinux على CTX.
--يساعد تظهر قائمة المساعدة وتخرج.
--إصدار ويقدم تفاصيل الإصدار والمخارج.

تم العثور على ملفات SOURCE المتفرقة من خلال اختبار تجريبي رخيص، ويتم إنشاء ملف DESR ذي الصلة بشكل متفرق افتراضيًا. إنه السلوك الذي اختاره --sparse=auto . يمكننا وصف --متفرق=دائما لإنشاء ملف DEST متفرق إذا كان الملف SOURCE يتضمن ترتيبًا طويلًا بدرجة كافية يبلغ صفر بايت. يمكننا أيضا أن نطبق --متفرق=أبدًا لتقييد إنشاء ملفات متفرقة.

لو --reflink[=دائما] كما هو مذكور، قم بتنفيذ نسخة خفيفة الوزن، حيث يتم نسخ كتل البيانات فقط في حالة تغييرها. إذا لم يكن من الممكن أو --reflink=auto المذكورة، تفشل النسخة وتعود إلى النسخة القياسية. يمكننا أيضا أن نطبق --reflink=never لضمان تنفيذ نسخة قياسية.

لنسخ ملف إلى نفس بناء جملة الدليل سيكون،

كم عدد الفواكه هناك
 cp 

ملف لينكس cp

في اللقطة أعلاه، قمنا بإنشاء نسخة من 'وثيقة' وأطلق عليها اسم 'جديد' . إذا في حالة، (في حالتنا هو 'newdocu') موجود بالفعل، ثم سيقوم ببساطة بكتابة الملف السابق.

لنسخ ملف في دليل مختلف

علينا أن نذكر مسار الدليل الوجهة.

في اللقطة أدناه، في وقت سابق لم يكن هناك ملف 'نص'. بعد إعطاء الأمر، 'نص' تم نسخ الملف إلى الدليل الوجهة 'سطح المكتب' .

ملف لينكس cp

لينكس سي بي -r

خيار 'ص' يمكن استخدام أمر النسخ لنسخ دليل بما في ذلك جميع محتوياته من الدليل المصدر إلى الدليل الوجهة.

بناء الجملة:

 cp -r 

مثال:

 cp -r library /home/sssit/Documents 

لينكس سي بي -r

في المثال أعلاه، قمنا بنسخ الدليل 'مكتبة' إلى الدليل الوجهة /home/sssit/Documents . هنا، تم نسخ جميع محتويات دليل 'المكتبة' بما في ذلك محتوياته إلى الدليل الوجهة.

Linux يقوم بنسخ ملفات أو أدلة متعددة

يمكن نسخ ملفات أو أدلة متعددة إلى الدليل الوجهة مرة واحدة. في هذه الحالة، يجب أن يكون الهدف دليلاً. لنسخ ملفات متعددة يمكنك استخدامها أحرف البدل (cp *.extension) له نفس النمط.

بناء الجملة:

 cp *. 

مثال:

 cp *.txt /home/sssit/Documents 

يقوم Linux بنسخ ملفات متعددة

في المثال أعلاه، قمنا بنسخ الملفات (file1، file2، file3) التي لها نفس الامتداد '.رسالة قصيرة' إلى دليل المستندات.

لينكس cp - النسخ الاحتياطي

إذا كان الملف الذي تريد نسخه موجودًا بالفعل في الدليل الوجهة، فيمكنك إجراء نسخة احتياطية لملفك الموجود باستخدام هذا الأمر.

بناء الجملة:

 cp --backup 

مثال:

 cp --backup file2.txt /home/sssit/Downloads 

النسخ الاحتياطي لملفات Linux cp

كما ترون أعلاه، 'ملف2.txt' موجود بالفعل في الدليل الوجهة. ومن ثم، قمنا بإنشاء نسخة احتياطية من هذا الملف ونسخه في نفس الدليل (بنفس الاسم).

الآن يحتوي دليل الوجهة الخاص بنا وهو 'التنزيلات' على ملفين بنفس الاسم (أي 'file2.txt').

لينكس سي بي -i

يتيح لك خيار cp '-i' التأكيد مرة واحدة قبل الكتابة فوق ملفك.

بناء الجملة:

 cp -i 

مثال:

 cp -i file3.txt /home/sssit/Desktop 

لينكس سي بي -i

كما ترى، فإنه يطلب الإذن بالكتابة فوق الملف 'ملف3.txt' لأن هذا الملف موجود بالفعل في الدليل الوجهة. الآن يمكنك الضغط و للكتابة فوق الملف و ن عدم الكتابة فوق الملف.

لينكس سي بي -l

إذا كنت تريد إنشاء رابط ثابت لملف بدلاً من نسخ هذا الملف، فيمكنك استخدام الخيار 'l'.

ملحوظة: عند إنشاء رابط ثابت للملف، سيظل رقم inode للملفين كما هو. بينما في حالة النسخ يتغير رقم inode.

بناء الجملة:

 cp -l 

مثال:

 cp -l file1.txt usr/ 

ملف لينكس cp -l

لاحظ هنا أننا أنشأنا رابطًا ثابتًا للملف 'ملف1.txt' في 'usr' . رقم Inode لكلا الملفين هو نفسه.

لينكس cp -p

يتم استخدام خيار cp '-p' للحفاظ على خصائص وسمات الملف. يمكنك أيضًا الحفاظ على الخصائص المحددة التي تريدها.

بناء الجملة:

 cp -p 

مثال:

 cp -p file2.txt usr/ 

لينكس cp -p

الآن، يمكنك مطابقة الملفين (الأصلي والمنسوخ) في الصورة أعلاه، وكلاهما لهما نفس الخصائص.

لينكس cp -u -v

يتم استخدام الأمر cp -u -v عندما تريد التأكد من أن الملف الوجهة مفقود أو غير موجود.

بناء الجملة:

2 إلى 1 معدد
 cp -u -v 

مثال:

 cp -u -v docc file1.txt /home/sssit/Downloads/ 

لينكس cp -u -v

في الصورة أعلاه، يمكنك أن ترى أن هناك ملفين 'دش' و 'ملف1.txt' . نريد الآن نسخ هذين الملفين في دليل 'التنزيل'. لكننا لا نعلم أن الملف 'file1.txt' موجود بالفعل في دليل 'التنزيلات'.

إعطاء الأمر 'حزب المحافظين -u -v' سوف يعتني تلقائيًا بالملف الموجود بالفعل (file1.txt) ولن يبالغ في كتابته.

هذا الأمر مفيد في نسخ الملفات الكبيرة.