كيفية نسخ الملفات باستخدام أمر "التثبيت" على نظام Linux

نشرت: 2022-01-29
مفهوم فن Bash على سطح مكتب Ubuntu Linux
فاطماواتي أحمد زينوري / Shutterstock.com

install هو أمر متعدد الاستخدامات لنسخ الملفات في Linux و macOS. إنه مثالي للمستخدم القوي الذي يبحث عن الكفاءة. اقرأ هذه المقالة لاكتشاف كيفية العمل بذكاء وليس بجدية أكبر.

انتظر - ليس لتثبيت البرنامج؟

قد يكون لأمر install الاسم الأكثر تضليلًا لأي من أوامر Linux. لا يقوم بالفعل بتثبيت أي برنامج. إذا كنت تحاول تثبيت حزمة برامج من سطر الأوامر في أوبونتو أو توزيع آخر قائم على دبيان ، فاستخدم الأمر apt-get . في توزيعات Linux الأخرى ، استخدم أداة إدارة حزم توزيع Linux الخاصة بك بدلاً من ذلك - على سبيل المثال ، dnf على Fedora أو zypper على openSUSE.

فماذا تفعل التثبيت؟

باختصار ، يجمع install بين عناصر من أوامر cp (نسخة) ، و chown (تغيير المالك) ، و chmod (وضع التغيير) ، و mkdir (إنشاء دليل) ، وأوامر strip (رموز الشريط). يتيح لك استخدام وظائف من كل هؤلاء في إجراء واحد.

يمكن لأمر install :

  • انسخ الملفات مثل الأمر cp .
  • اختر ما إذا كنت تريد الكتابة فوق الملفات الموجودة.
  • أنشئ الدليل الهدف إذا لم يكن موجودًا ، مثل mkdir .
  • قم بتعيين أعلام إذن المستخدم الخاصة بالملفات ، تمامًا مثل الأمر chmod .
  • قم بتعيين مالك الملفات ، تمامًا مثل الأمر chown .
  • قم بإزالة الأمتعة غير الضرورية من الملفات القابلة للتنفيذ ، تمامًا مثل أمر strip .

على الرغم من كل هذه الوظائف ، لا يحتوي أمر install على الكثير من الخيارات لمواجهتها.

تثبيت صفحة الدليل

متى يمكنك استخدامه

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

الإعلانات

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

مثال

يعمل المبرمج على أداة مساعدة جديدة تسمى ana . يتكون من ملف ثنائي قابل للتنفيذ وقاعدة بيانات. بعد الاختبار ، يجب نسخه إلى /usr/local/bin لجميع مستخدمي نظام Linux. ستحتاج إلى استبدال أسماء الملفات ومسارات الدليل في مثالنا بالملفات والمسارات التي تستخدمها على جهاز الكمبيوتر الخاص بك عند استخدام install .

حتى يصبح جاهزًا للإصدار ، سيتم اختباره في دليل يسمى ~/test/ana . سيكون أعضاء مجموعة geek قد قرأوا الأذونات وقاموا بتنفيذها. سيقرأ المستخدمون الآخرون الأذونات وينفذونها أيضًا. يستخدم الأمر install نفس التمثيل الرقمي للأذونات كما يفعل chmod . قرر المبرمج لدينا أنه يجب تعيين الأذونات على:

  • المالك: القراءة والكتابة والتنفيذ.
  • المجموعة: القراءة والتنفيذ.
  • الآخرين: تنفيذ فقط.

كيفية استخدام أمر install

دليل عمل المبرمج الخيالي هو ~/work . لقد كتب البرنامج وجمعه وأنتج ثنائيًا يسمى ana . لقد أنشأ بالفعل ملف قاعدة البيانات الذي تعمل به ana ، Words.db . لذلك كلا الملفين جاهزان للاختبار. دعونا نلقي نظرة عليهم:

 ls -l ana Words.db 

الأداة المساعدة ana التي كتبها للتو تنشئ الجناس الناقصة من عبارة متوفرة في سطر الأوامر. اختبار التحقق واضح ومباشر.

اختبار الأداة المساعدة ana في دليل العمل

استدعى ana بعبارة "بسكويت" ويبدو كل شيء على ما يرام. يريد الآن نسخ هذين الملفين إلى دليل ~/test/ana لمعرفة ما إذا كانت الأداة المساعدة الجديدة تعمل بشكل صحيح بعيدًا عن بيئة التطوير. يصدر الأمر الآتي:

 تثبيت -D -v ana Words.db -t ~ / test / ana 

قم بتثبيت الأمر إلى / test / ana

كانت الخيارات المستخدمة في سطر الأوامر:

  • د : إنشاء الدلائل ، بما في ذلك الدلائل الأصل ، إذا لزم الأمر.
  • v : مطول ، قم بإدراج كل دليل كما تم إنشاؤه وكل نسخة ملف كما يتم إجراؤها.
  • ر : الدليل الهدف.
الإعلانات

يمكننا أن نرى أن install ينشئ الدليل ~/test ، ثم ينشئ الدليل ~/test/ana . يتم سرد الملفات واحدة تلو الأخرى حيث يتم نسخها إلى الدليل الهدف.

يؤكد إدراج الملفات في ~/test/ana أنه تم نسخها بشكل صحيح.

 ls -l 

ls in / test / ana directory

الخطوة التالية هي اختبار الأداة المساعدة ana عن طريق استدعائها في دليل ~/test/ana .

اختبار الأداة المساعدة ana في دليل / test / ana

تعمل الأداة كما هو متوقع ، وهو أمر رائع. ومع ذلك ، الأذونات غير صحيحة. الشرط هو تعيين أعضاء المجموعة geek بقراءة الأذونات وتنفيذها ، وأن يقوم المستخدمون الآخرون بالتنفيذ فقط.

يمكننا معالجة هاتين المسألتين بكل بساطة باستخدام الأمر التالي. لاحظ استخدام sudo لتشغيل الأمر بأذونات الجذر. يتطلب الخياران -o و -g والخيارات هذا. سيُطلب منا كلمة المرور عندما نصدر الأمر.

 sudo install -b -S .bak -o dave -g geek -m 751 ana Words.db -t ~ / test / ana 

install الأمر مع خيارات النسخ الاحتياطي وإعدادات Premissions

  • يقوم الخيار -b (النسخ الاحتياطي) بإنشاء نسخ احتياطية من الملفات قبل الكتابة فوقها.
  • يحدد الخيار -S (اللاحقة) لاحقة ملفات النسخ الاحتياطي. إذا لم تقدم لاحقة ، فسيتم استخدام ~ (علامة التلدة). نطلب install لاستخدام لاحقة .bak .
  • قمنا بتعيين مالك الملف ليكون dave باستخدام الخيار -o (المالك).
  • يتطلب الخيار -g (مجموعة) اسم المجموعة. تصبح هذه المجموعة المالكة للملفات. المجموعة التي سنستخدمها تسمى geek .
  • يضبط الخيار -m (mode) أوضاع الملفات للملفات ، باستخدام صيغة chmod الرقمية القياسية.

لم نعد بحاجة إلى استخدام الخيار -D (إنشاء أدلة) ، لأننا نعلم أن دليل الاختبار موجود بالفعل. لقد حذفنا أيضًا الخيار -v (مطوّل). يوضح لنا سرد الملفات في دليلنا ~/test/ana تفاصيل الملف:

 ls -l 

ls in / test / ana directory

هذا يؤكد أن جميع متطلباتنا قد تم الوفاء بها.

  • تم نسخ الملفات عبر دليل الاختبار.
  • تم تعيين الأذونات بشكل صحيح.
  • dave هو صاحب الملفات.
  • مجموعة geek هي مجموعة المالكين للملفين.
  • تم عمل نسخ احتياطية من كل ملف تسمى ana.bak و Words.db.bak.
الإعلانات

كل هذا تم تحقيقه من خلال استخدام أمر واحد. مرتب.

يقوم المبرمج لدينا بإجراء بعض التغييرات النهائية على الأداة ويعيد التجميع. يجب نسخ الملفات التي تم تغييرها إلى دليل ~/test/ana من دليل ~/work . يمكننا القيام بذلك باستخدام الخيار -C (مقارنة). إذا كان الملف المصدر والملف الهدف متماثلين ، فلن يتم نسخ الملف المصدر.

 sudo install -C -b -S .bak -o dave -g geek -m 751 ana Words.db -t ~ / test / ana 

تثبيت الأمر مع خيار المقارنة C

يوضح لنا سرد الملفات في الدليل الهدف أن حجم ملف ملف ana قد تغير. إنه أكبر من ملف ana.bak . تم تغيير الطابع الزمني على ana أيضًا. هذه التغييرات بسبب نسخ الإصدار الجديد من الملف هنا.

 ls -l 

ls in / test / ana مع اختبار الأداة المساعدة

لم يتم تغيير حجم الملف والطابع الزمني لملف Words.db . لم يتم إجراء أي تغييرات على ملف Words.db ، لذلك لم يتم نسخه. في مشروع يحتوي على العديد من الملفات ، يمكن أن يوفر الخيار -C (مقارنة) الكثير من الوقت وتعطل محرك الأقراص الثابتة ، عن طريق نسخ تلك الملفات التي تم تغييرها فقط.

اختبر المبرمج مرة أخرى أن الأداة المساعدة ana تستمر في العمل.

حان الوقت لاستخدام install لنسخ الملفات إلى الدليل /usr/local/bin . سيؤدي ذلك إلى إتاحة الأداة المساعدة الجديدة لجميع مستخدمي كمبيوتر Linux هذا. نحن نعلم أن /usr/local/bin موجود ، لذلك لا نحتاج إلى إنشاء هذا الدليل. يمكننا استخدام نسخة معدلة من أمرنا الأخير.

الإعلانات

لقد قمنا بتغيير الدليل الهدف ليكون /usr/local/bin . لقد أزلنا الخيار -C (مقارنة) لأنه لا توجد نسخ من هذه الملفات في الدليل الهدف حتى الآن ، لذلك لا يوجد ما يمكن مقارنته. وبالمثل ، لا يوجد شيء لنسخه احتياطيًا ، لذلك يمكننا إزالة الخيار -b (النسخ الاحتياطي) وخيار -S (اللاحقة).

 sudo install -o dave -g geek -m 751 ana Words.db -t / usr / local / bin 

تثبيت نسخ الملفات إلى / usr / local / bin

يمكننا سرد الملفات التي وصلت في /usr/local/bin :

 ls -l 

ls من / usr / local / bin

وكاختبار نهائي ، دعنا نغير الدليل إلى الدليل الرئيسي الخاص بنا ونرى ما إذا كان بإمكاننا استدعاء الأداة المساعدة الجديدة من هناك.

اختبار فائدة آنا

لاحظ أننا لم نكن بحاجة إلى تمهيد الأمر ana باستخدام ./ مما يعني أنه يعمل من /usr/local/bin . تمت المهمة.

ذكرنا أن التثبيت يمكن أن يزيل جداول الرموز الزائدة والأمتعة الأخرى من داخل الملف الثنائي ، لتقليل حجمه. لنفعل ذلك الآن. لاحظ أن الأمر أدناه لا يتضمن Words.db. هذا لأن Words.db هو ملف قاعدة بيانات ، وليس ملف ثنائي قابل للتنفيذ. لنسخ وتقليص الملف الثنائي ana يمكننا استخدام الأمر التالي. لقد أضفنا الخيار -s (تقليص) بحرف "s" صغير. لقد أضفنا مرة أخرى الخيار -b (النسخ الاحتياطي) والخيار -S (اللاحقة) ، بحرف كبير "S."

 sudo install -s -b -S .bak -o dave -g geek -m 751 ana -t / usr / local / bin 

خيار التثبيت مع خيار الشريط- s

الإعلانات

يتيح لنا سرد الملفات في /usr/local/bin مقارنة حجم ملف ana بنسخته الاحتياطية. تم تصغير ملف ana إلى ما يقرب من 60٪ من حجمه السابق.

 ls -l / usr / local / bin 

ls في دليل العمل

باختصار

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

ذات صلة: أفضل أجهزة كمبيوتر Linux المحمولة للمطورين والمتحمسين