أمر cp في سطر أوامر لينكس
من أهم ما يميز لينكس هو سطر أوامره فهو يسمح بإدارة النظام بشكل كامل منه من دون فتح أي واجهة, وستجد أن أغلب مستخدمين لينكس يعشقون إستخدامه, حيث أنه يختصر الوقت ويعطي اداء مثالي وصدقني إن قلت لك بأن هناك حالات كثيرة يكون فيها سطر الأوامر أسرع و أفضل من الواجهة الرسومية, وسطر الأوامر أمر ممتع وفي غاية السهولة وسيشعرك بأنك تخاطب حاسوبك بشكل مباشر.
أو يمكن التمرير على مربع الكود لترى بقية الكود وشكرا لكم .
ملاحظة :من الأفضل عند مشاهدة هذه التدوينة أن تكون عبر جهاز الكمبيوتر لتطبيق ما تراه و إن شاهدتها عبر الهاتف يفضل تفعيل وضع مشاهدة سطح المكتب لكي تظهر لك الاكواد بشكل كامل .
أو يمكن التمرير على مربع الكود لترى بقية الكود وشكرا لكم .
الأمر cp :
يستخدم في نسخ كل من الملفات و المجلدات .
يتكون الأمر cp من الشكل التالي :
cp item1 item2
حيث cp هو أمر النسخ , item1 هو العنصر المراد نسخه , أما item2 فهو يمثل الملف المنسوخ.
كمثال :
cp phone.png pr
سنجد الأن أنه تم عمل نسخة من الصورة المسماة photo وتم تسمية هذه النسخة باسم pr .
مثال أخر عن نسخ مجلد :
cp -r file1 file2
الأن سنجد أنه تم نسخ المجلد file1 وإنشاء نسخة منه باسم file2 بالنسبة ل r- سنشرحها لاحقاً.
الامر الماضي عن مجلد موجود في مجلد ال home حيث أن الترمنال إفتراضيا ستبحث عن المجلد file1 في هذا المسار.
لذلك لنعتبر إن المجلد file1 كان في المسار التالي :
/home/esmael/download/free/file
عندها سيكون الأمر كالتالي :
cp -r /home/esmael/download/free/file1 file2
طبعا بالنسبة للمجلد file2 الذي هو نسخة عن file1 ستجده في ال home لأننا كما قلنا هي المسار الإفتراضي للترمنال فإن أردت وضعه في مكان أخر يجب تحديد المسار كامل .
مثال عن ذلك :
cp -r /home/esmael/download/free/file1 /mnt/mydata/file2
ملاحظة : في حال حددت مسار الملف المنسوخ بمسار مختلف عن مسار الملف الأصلي فيمكن تركه من دون تسميه فعندها سيأخذ نفس الاسم الأصلي :
cp -r /home/esmael/download/free/file1 /mnt/mydata "لم نضع اسم"
أما لو كان نفس المسار عندها سيلزمك وضع اسم
cp -r /home/esmael/download/free/file1 /home/esmael/download/free/file2
في حال لم تضع الإسم فستحصل على الخطأ التالي :
cp: cannot copy a directory,'/home/esmael/download/free/file1',
into itself,'/home/esmael/download/free/file1/file1'
بعض الخيارات(option) المهمة عند استخدام cp :
الخيار | الإختصار | فائدته |
---|---|---|
archive-- | a- | هذا الأمر إضافته يعني نسخ المجلد مع ملفاته بشكل كامل مما يشمل الأذونات ببساطة يأخذ نسخة طبق الأصل عن الملف الأصلي. |
recursive-- | r- | نسخ المجلد مع كامل محتوياته. |
interactive-- | i- | في حال كانت الاسم الذي اخترته للملف الجديد موجود سابقا فالأمر cp إفتراضيا سيستبدل الملف القديم بالجديد, لذلك هذا الامر لطلب الموافقة على الإستبدال. |
update-- | u- | في حال كنت تملك مجلدين كل من المجلدين لديه نفس الملفات (مجلد1 و مجلد2) لكن المجلد1 إحتوى ملفات جديدة وأنت تريد نسخ الملفات الجديدة فقط إلى المجلد2 , هذا الأمر ينسخ الملفات الغير موجودة أو التي تحتوي تاريخ تعديل أحدث من المجلدات و الملفات الموجودة داخل المجلد الهدف |
verbose-- | v- | يظهر لك معلومات عن تقدم عملية النسخ. |
ملاحظة : لا بد من إستخدام الأمر الأول أو الثاني عند نسخ مجلد.
المحارف البديلة :
ستساعدك على تحديد مجموعة من الملفات بسرعة كبيرة وإنتقائها إنظر إلى الجدول التالي قبل طرح الأمثلة :المحرف | يطابق |
---|---|
* | أي محرف |
? | أي محرف واحد |
[characters] | characters محرف ينتمي إلى المجموعة |
[characters!] | characters محرف لا ينتمي إلى المجموعة |
[[:class:]] | أي محرف ينتمي إلى فئة معينة |
يعرض الجدول الآتي أكثر فئات الحروف شهرة :
الفئة | يطابق |
---|---|
[[:alnum:]] | أي حرف أبجدي أو رقم |
[[:alpha:]] | أي حرف أبجدي |
[[:digit:]] | أي رقم |
[[:lower:]] | abc أي حرف أبجدي صغير |
[[:upper:]] | ABC أي حرف أبجدي كبير |
يعرض الجدول الآتي أمثلة عن المحارف :
النمط | يطابق |
---|---|
* | جميع الملفات |
t* | جميع الملفات التي تبدأ ب t |
r*.png | جميع الملفات التي تبدأ ب r وتنتهي بلاحقة png |
???data | أي ملف يبدأ ب data ويأتي بعده ثلاث محارف |
*[abc] | أي ملف يبدأ ب abc |
[BACKUP[0-9][0-9][0-9 | أي ملف يبدأ ب BACKUP |
*[[:digit:]!] | أي ملف لا يبدأ برقم |
*[[:upper:]] | أي ملف يبدأ بحرف كبير |
[173[:lower:]]* | أي ملف ينتهي بالأحرف الصغيرة أو الأرقام "3" "7" "1" |
طبعاً كما رأيت فتلك المحارف مفيدة جداً حيث تساعدك على تحديد المف المراد بكل دقة وسهولة.
ما الذي يجعلني أستخدم cp بدلاً من مدير الملفات عندي :
طبعاً لا انكر أن استخدام المدير أسهل في بعض الأحيان ولكن لنفترض أنك تريد التعامل مع مجلد كبير يحتوى العديد من الملفات وتريد نسخ فقط الملفات التي تكون بصيغة html طبعا لن تبحث بين 1000 ملف لذلك إستعمال هذا الأمر أسهل بكثير :
cp -u *.html /mnt/file/html
وأيضا لنفترض انه مجلد لا تملك أذوناته سيكون الأحر الأسرع نسخه عبر أمر cp فقط مع إضافة sudo
الحالات كثيرة و لا تستطيع إنكار فائدة الأوامر.
إلى هنا إنتهى شرحنا ولكم جزيل الشكر .
تابعونا عبر الإيميل و مواقع التواصل الإجتماعي للحصول على كل جديدنا.
تابعونا عبر الإيميل و مواقع التواصل الإجتماعي للحصول على كل جديدنا.
إرسال تعليق