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

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

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

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

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

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

يمكن لأمر التثبيت:

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

على الرغم من كل هذه الوظائف ، إلا أن أمر التثبيت ليس به أيضًا العديد من الخيارات لمواجهتها.

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

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

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

  كيفية تثبيت AppImages على Linux بالطريقة السهلة

مثال

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

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

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

كيفية استخدام أمر التثبيت

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

ls -l ana Words.db

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

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

install -D -v ana Words.db -t ~/test/ana

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

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

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

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

ls -l

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

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

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

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

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

  كيفية تقسيم القرص الصلب يدويًا من سطر الأوامر على نظام Linux

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

ls -l

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

تم نسخ الملفات عبر دليل الاختبار.
تم تعيين الأذونات بشكل صحيح.
ديف هو صاحب الملفات.
مجموعة المهوسين هي مجموعة المالكين للملفين.
تم عمل نسخ احتياطية من كل ملف تسمى 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

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

ls -l

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

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

  كيفية تسجيل مكالمات Skype على Linux باستخدام OpenBroadcaster

حان الوقت لاستخدام التثبيت لنسخ الملفات إلى الدليل / 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:

ls -l

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

لاحظ أننا لم نكن بحاجة إلى تمهيد الأمر 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

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

ls -l /usr/local/bin

باختصار

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