الفصل : 15
الجزء : 4
العنوان : العمل مع واجهة سطر الأوامر (Working with the Command-Line Interface)
نشغيل برنامج في ويندوز
لتشغيل برنامج من سطر الأوامر في Windows، قم ببساطة بتغيير تركيز الموجه إلى المجلد الذي يتواجد فيه البرنامج، ثم اكتب اسم البرنامج واضغط على enter. جرب هذا المثال الآمن. انتقل إلى مجلد C:\Windows\System32 - اسم هذا المجلد تقريبًا قياسي على جميع أنظمة Windows، ولكن قد يختلف ذلك. اكتب dir /p لرؤية الملفات بصفحة واحدة في كل مرة. يجب أن ترى ملفًا يُسمى mmc.exe (انظر الشكل1 ).
|
جميع الملفات ذات الامتدادات .exe و .com هي برامج، لذا فإن mmc.exe هو برنامج. هل تتذكر MMC من الفصل السابق؟ لتشغيل برنامج mmc.exe، فقط اكتب اسم الملف، في هذه الحالة mmc، واضغط enter (انظر الشكل2 ). لاحظ أنه لا يلزمك كتابة امتداد .exe، على الرغم من أنه يمكنك ذلك. مبروك! لقد قمت للتو بتشغيل تطبيق آخر من سطر الأوامر.
|
ملحوظة:
تتضمن Windows العديد من أدوات سطر الأوامر للمهام المحددة مثل بدء وإيقاف الخدمات، وعرض الأجهزة على الشبكة، وتحويل أنظمة ملفات القرص الصلب، والمزيد. يناقش هذا المنهج هذه الأدوات المتخصصة في المهام في الفصول التي تعكس مهمتها. على سبيل المثال، يتناول الفصل 19، "الشبكة المحلية"، بالتفصيل الأمر القوي والمتعدد الاستخدامات net command.
تشغيل برنامج في macOS و Linux
على الرغم من أنني أحب أن أخبر الناس بمدى تشابه سطر الأوامر في macOS و Linux و Windows، إلا أنها مختلفة جدًا في بعض المجالات، أحدها هو كيفية تشغيل البرامج التنفيذية من سطر الأوامر. للبداية، لا تعتمد برامج macOS و Linux التنفيذية على أي نوع من الامتدادات مثل .exe في Windows. بدلاً من ذلك، يمكن إعطاء أي ملف، سواء كان من الشفرات المترجمة أو ملف نصي، خاصية التنفيذ، كما هو موضح في الشكل3 .
|
لذا، من المهم حقًا على الشخص الذي يستخدم البرنامج التحقق من أنه حتى يستخدم برنامجًا. لا يمكن ببساطة بدء البرامج بشكل عشوائي في macOS أو Linux. يجب عليك التأكد من إدراك ماهية البرنامج التنفيذي قبل تشغيله.
تساعدك macOS و Linux في سطر الأوامر عندما يتعلق الأمر بالبرامج التنفيذية. أولاً وقبل كل شيء، تأتي macOS ومعظم إصدارات Linux مزودة بأسطر أوامر ملونة، كما هو موضح في الشكل 4 في هذا الإصدار الخاص، يتم تلوين ملفات التنفيذ باللون الأخضر (على الرغم من أن هذا قليلاً صعب رؤيته في الطباعة الأبيض والأسود!). أما أمر su الوحيد فله ترميز لوني فريد يوضح أن أي مستخدم يمكنه تشغيل هذا البرنامج.
|
في macOS و Linux لديهما نوعان مختلفان جدًا من أنواع ملفات البرامج التنفيذية: الbuilt-in (مدمجة) و الexecutables (تنفيذية) . البرامج الbuilt-in مثل تلك التي تراها في الشكل 5 . لقد عملت فقط مع ثلاثة برامج مدمجة: ls و mkdir و rm. لتشغيل برنامج مدمج، فقط اكتبه كما فعلت بالفعل في هذا الفصل كثيرًا.
البرامج الexecutables هي البرامج التي ليست مدمجة. إذا قمت بتنزيل برنامج من مكان ما (ويفعل الناس في Linux هذا كثيرًا)، فيجب عليك أولاً فك ضغط البرنامج ثم تشغيله. ولكن هنا يوجد مشكلة واحدة. إذا حاولت تشغيله، فإن Linux لا يستطيع العثور عليه، على الرغم من أنه في المجلد الدقيق الذي تقوم بتشغيله منه! بشكل مثير للاهتمام، هذا مصمم به. عند تشغيل برنامج من سطر الأوامر في Linux، يبحث Linux أولاً من خلال سلسلة من المجلدات تسمى الPATH (لا يجب الخلط بينها وبين نوع آخر من المسار الذي تم مناقشته سابقًا). يمكنك رؤية المسار عن طريق كتابة الأمر echo $PATH:
ملحوظة:
تنزيل وتشغيل برامج سطر الأوامر ليست شيئًا معتادًا في macOS.
لجعل Linux يشغل البرنامج التنفيذي، تحتاج إلى إضافة نقطة وشرطة مائلة (/، وتسمى عادة "dot-slash") أمام البرنامج التنفيذي لجعله يعمل:
mike@server:~/$ ./runme
العمل مع الملفات
تتناول هذه الجزء عمليات التعامل الأساسية مع الملفات. ستتعلم كيفية النظر إلى الملفات ونسخها ونقلها وإعادة تسميتها وحذفها. تستند الأمثلة في هذا الجزء إلى مجلد الجذر C: مع الملفات والمجلدات التالية:
لأنه من المحتمل أنك لا تملك جهاز كمبيوتر مزود بتلك الملفات والمجلدات، اتبع الأمثلة ولكن استخدم ما هو موجود على محرك الأقراص الخاص بك. بعبارة أخرى، قم بإنشاء مجلداتك الخاصة ونسخ الملفات إليها من مجلدات مختلفة موجودة حاليًا على نظامك.
استخدام الرموز المعيارية لتحديد مواقع الملفات (Using Wildcards to Locate Files)
تخيل أن لديك 273 ملفًا في مجلد واحد. بعض هذه الملفات لديها امتداد .docx، ولكن معظمها ليس لديه امتداد .docx. أنت تبحث فقط عن الملفات ذات الامتداد .docx. لماذا لا يكون من الجميل أن تتمكن من كتابة أمر dir بطريقة تظهر فيها فقط ملفات .docx؟ يمكنك القيام بذلك باستخدام الرموز المعيارية.
الرمز المعياري هو واحد من اثنين من الرموز الخاصة - النجمة (*) والعلامة التعجبية (?) - التي يمكنك استخدامها بدلاً من كل أو جزء من اسم الملف، غالبًا لكي يقوم أمر سطر الأوامر بالعمل على أكثر من ملف في نفس الوقت. تعمل الرموز المعيارية مع جميع أوامر سطر الأوامر التي تأخذ أسماء ملفات. مثال رائع هو أمر dir. عند تنفيذ أمر dir بسيط، يجد ويعرض جميع الملفات والمجلدات في المجلد المحدد؛ ومع ذلك، يمكنك أيضًا تحديد بحثه عن طريق إضافة اسم الملف. على سبيل المثال، إذا كتبت الأمر dir ailog.txt وأنت في مجلد الجذر (C:\)، ستحصل على النتيجة التالية:
إذا كنت ترغب فقط في تأكيد وجود ملف معين في مكان معين، فهذا مريح جدًا. لكن ماذا لو كنت تريد رؤية جميع الملفات بامتداد .txt؟ في هذه الحالة، يمكنك استخدام الرمز المعياري *، مثل هذا: dir *.txt. طريقة جيدة للتفكير في الرمز المعياري * هي "لا يهم". استبدل الجزء من اسم الملف الذي لا تهتم به برمز النجمة (*). نتيجة dir *.txt ستكون كالتالي:
الرموز المعيارية تستبدل أيضًا أجزاء من أسماء الملفات. هذا الأمر dir سيجد كل ملف يبدأ بالحرف a:
الرموز المعيارية في macOS و Linux تعمل أساسًا بنفس الطريقة كما في Windows. انتقل إلى المجلد /bin على نظام Linux النموذجي (إنه مليء بالملفات) وحاول استخدام رمز مع أمر ls. دعنا نجد كل شيء يبدأ بالحرف s باستخدام الأمر ls s* -l:
حذف الملفات
لحذف الملفات، تستخدم أمر del (أو erase) في Windows وأمر rm في macOS و Linux. حذف الملفات بسيط - ربما بسيطًا جدًا. كما ذكرت سابقًا، يمنحك حذف ملف في واجهة المستخدم الرفاهية لاسترداد الملفات المحذوفة من سلة المهملات في تلك المناسبات "آسف، لم أقصد حذف ذلك" التي يواجهها الجميع في وقت ما. ومع ذلك، لا يظهر سطر الأوامر أي رحمة للمستخدم الغافل. ليس لديه وظيفة معادلة لسلة المهملات. بمجرد حذف ملف، يمكنك استعادته فقط باستخدام برامج الاسترداد الخاصة (ربما... لكن لا تراهن عليه). مرة أخرى، القاعدة هنا هي التحقق مرتين وحذف مرة واحدة.
لحذف ملف واحد في Windows، اكتب أمر del تليه اسم الملف الذي تريد حذفه. على سبيل المثال، لحذف الملف reportdraft1.docx، اكتب هذا:
del reportdraft1.docx
في macOS و Linux، قم بالقيام بنفس الشيء ولكن اكتب rm بدلاً من del، مثل هذا:
rm reportdraft1.docx
على الرغم من عدم ظهور أي شيء على الشاشة لتأكيد ذلك، إلا أن الملف قد اختفى الآن. للتحقق من عدم توجد الملف reportdraft1.docx، استخدم أمر dir أو ls.
يمكنك استخدام الرموز المعيارية مع أوامر del و rm لحذف ملفات متعددة. على سبيل المثال، لحذف جميع الملفات بامتداد .txt في مجلد، يمكنك كتابة هذا في macOS/Linux:
rm *.txt
يمكنك وضع الرمز المعياري في أي مكان في الاسم. على سبيل المثال، لحذف جميع الملفات التي تحمل اسم "config" في مجلد Windows، اكتب
del config.*
لحذف جميع الملفات في مجلد، يمكنك استخدام هذا الرمز المعياري *.* الخطير ولكن المفيد:
del *.*
هذا هو أحد قلائل الأوامر في سطر الأوامر التي تثير استجابة - ولكن فقط في Windows. عند تلقي أمر del *.*، يرد Windows بـ "هل أنت متأكد؟ (Y/N)"، وعليك الرد بـ Y أو N. بالضغط على y، يتم مسح كل ملف في المجلد، لذا استخدم *.* بحذر!
في Windows، نستخدم فقط del لحذف الملفات؛ لن يتم حذف المجلدات. استخدم rd لحذف المجلدات. في macOS و Linux، يمكنك استخدام أمر rm لحذف كل من الملفات والمجلدات. إليك مثال على أمر rm باستخدام السويتش -r لحذف المجلد Jedi بالإضافة إلى كل محتوياته:
rm -r Jedi
يأتي أمر rd في Windows مع التبديل /s، الذي يجعله يعمل بنفس طريقة عمل أمر rm -r:
rd /s Jedi
من الواضح أنه يمكن أن يكون استخدام أوامر rm و rd مع هذه السويتشات خطيرًا جدًا. استخدمهم بحذر.
ملحوظة:
إذا قضيت أي وقت في قراءة حول أوامر Terminal في macOS أو Linux عبر الإنترنت، فقد ترى نكات تتضمن أمر
sudo rm -rf /.
هذا الأمر يُخبر النظام بحذف كل ملف ومجلد على قرص الحاسوب! الجزء sudo يعني تشغيل هذا كمستخدم رئيسي، rm يعني حذف، -r يعني الذهاب إلى كل مجلد، f يعني استخدام القوة (force) (بمعنى آخر، حذفه بغض النظر عن كل شيء)، وأخيرًا / يشير إلى الجذر الخاص بالمحرك!
نقل ونسخ الملفات
القدرة على نسخ ونقل الملفات في سطر الأوامر أمر أساسي لجميع التقنيين. بسبب طبيعته الحساسة والعديد من الخيارات، يكون أمر النسخ مؤلمًا أيضًا لتعلمه، خاصة إذا كنت معتادًا على سحب الرموز في Windows أو macOS أو Linux. العملية التالية المجربة والصحيحة من خمس خطوات تجعل الأمر أسهل، لكن السر الحقيقي هو الجلوس أمام سطر الأوامر ونقل الملفات حتى تشعر بالراحة. تذكر أن الفرق الوحيد بين النسخ والنقل هو ما إذا كان الملف الأصلي سيترك (نسخ) أو لا (نقل). بمجرد تعلم أمر النسخ، فقد تعلمت أيضًا أمر النقل! في macOS و Linux، يكون أمر النسخ هو cp وأمر النقل هو mv. وإلا، استخدم نفس الصيغة.
عملية النسخ/النقل في خمس خطوات
لقد قمت بتدريس الناس كيفية نسخ ونقل الملفات لسنوات عن طريق استخدام هذه العملية المفيدة. تذكر أن هناك مئات الاختلافات على هذه العملية. عندما تصبح أكثر ثقة بهذه الأوامر، حاول القيام بـ copy /؟ أو move /؟ في Windows و man cp أو man mv في macOS و Linux في أي سطر مريح لرؤية القوة الحقيقية للأوامر. ولكن أولا، اتبع هذه العملية خطوة بخطوة:
1. حدد سطر الأوامر للمجلد الذي يحتوي على الملفات التي تريد نسخها أو نقلها.
2. اكتب copy أو move (في Windows) أو cp أو mv (في macOS و Linux) وفراغًا.
3. اكتب اسم الملف التي تريد نسخها/نقلها (مع أو بدون رموز معينة) وفراغًا.
4. اكتب المسار الجديد للملف
5. اضغط ENTER.
لنجرب مثالًا باستخدام Windows. المجلد Jedi (في مجلد \Users الخاص بي) يحتوي على الملف notes.txt. قم بنسخ هذا الملف إلى فلاشة USB (E:).
1. اكتب cd Jedi لتحديد سطر الأوامر إلى مجلد Jedi.
2. اكتب copy وفراغًا.
3. اكتب notes.txt وفراغًا.
4. اكتب e:\.
5. اضغط ENTER.
سيكون الأمر والرد كاملين كما يلي:
إذا قمت بتوجيه سطر الأوامر إلى محرك E: واكتب dir، سيكون الملف notes.txt مرئيًا. دعنا نجرب مثالًا آخر، هذه المرة في macOS و Linux. لنفترض أن هناك 100 ملف في المجلد ~/Screenplays/sw2020 ، وأن 30 منها لديها امتداد .odf، ولنفترض أنك تريد نقل تلك الملفات إلى ~/Jedi . اتبع هذه الخطوات:
1. اكتب cd Screenplays/sw2020 للوصول إلى المجلد الصحيح.
mike@server:~$ cd Screenplays/sw2020
2. اكتب mv وفراغًا.
mike@server:~/Screenplays/sw2020$ mv_
3. اكتب *.odf وفراغًا.
mike@server:~/Screenplays/sw2020$ mv_*.odf_
4. اكتب ~/Jedi.
mike@server:~/Screenplays/sw2020$ mv_*.odf_~/Jedi
5. اضغط ENTER.
mike@server:~/Screenplays/sw2020$
في macOS و Linux لا تقدم لك أي ردود فعل إلا إذا استخدمت switch خاصة. يمكنك التحقق مما إذا تم نقلها جميعًا باستخدام ls.
هناك العديد من الحالات التي تجد نفسك فيها ترغب في الحصول على مجلد، مع جميع المجلدات الفرعية وأي ملفات قد تكون في أي مكان في أي من المجلدات، ونسخ أو نقل "الكومة" بأكملها في أمر واحد. نسمي هذه العملية بالتقليم والتطعيم (pruning and grafting) تجاهل الترجمة العربية!!!
وهي واحدة من الأماكن التي يتألق فيها سطر الأوامر بالمقارنة مع تلاعب الملفات في واجهة المستخدم الرسومية. إذا تمت بشكل صحيح، فإن pruning و grafting بالأوامر يكون أسرع ويمنحك تحكمًا أدق في العملية.
في Windows، تعمل أوامر النسخ والنقل القياسية فقط في مجلد واحد في كل مرة، مما يجعلها خيارًا سيئًا لنسخ أو نقل الملفات في مجلدات متعددة. للمساعدة في هذه المهام المتعددة للمجلدات، أضافت Microsoft أمر xcopy. (يرجى ملاحظة أنه لا يوجد xmove، فقط xcopy.) سنلقي أيضًا نظرة على robocopy و cp و mv.
ال xcopy:
يعمل أمر xcopy بشكل مماثل للأمر copy، ولكن xcopy يحتوي على switch إضافية تمنحه القدرة على العمل مع مجلدات متعددة. إليك كيف يفعل ذلك. لنفترض أن لدي مجلدًا يسمى Logs في جذر محرك C: الخاص بي. يحتوي مجلد Logs على ثلاثة مجلدات فرعية: Jan و Feb و Mar. جميع هذه المجلدات، بما في ذلك مجلد Logs، يحتوي على حوالي 50 ملفًا. إذا أردت نسخ كل هذه الملفات إلى محرك الأقراص E: في أمر واحد، فسأستخدم xcopy بالطريقة التالية:
xcopy c:\Logs e:\Logs /s
بما أن xcopy يعمل على المجلدات، فليس عليك استخدام أسماء الملفات كما يجب في copy، على الرغم من أن xcopy بالتأكيد يقبل أسماء الملفات والرموز المميزة. يقول السويتش /s، الذي يستخدم عادة من بين العديد من السويتشات التي تأتي مع xcopy، لـ xcopy بنسخ جميع المجلدات الفرعية باستثناء المجلدات الفارغة. سويتش /e يخبر xcopy بنسخ المجلدات الفرعية الفارغة أيضًا. عندما تحتاج إلى القيام بكثير من النسخ عبر العديد من المجلدات، فإن xcopy هو الأداة المناسبة للاستخدام.
ال robocopy:
قدمت Microsoft أمر robocopy - اختصار لنسخ الملفات القوية (Robust File Copy) - منذ سنوات عديدة كأداة إضافية لخادم Windows لتمكين الفنيين من إدارة الملفات والمجلدات بشكل أسرع وأكثر فعالية من خلال xcopy أو copy. يعد أمر robocopy قويًا حقًا، حيث يتيح لك، على سبيل المثال، نسخ الملفات والمجلدات من جهاز كمبيوتر إلى آخر عبر الشبكة، وتكرار الهيكل بالكامل على النظام الوجهة وحذف أي شيء على ذلك النظام لم يكن جزءًا من النسخة. يمكنه القيام بذلك بأمر بسيط.
لا يشبه بناء جملة robocopy بناء جملة xcopy، لذلك إذا كنت ستستخدم الأداة، فأنت بحاجة إلى نسيان بعض الأمور. إليك بناء الجملة الأساسي:
robocopy [source] [destination] [options]
إليك مثال على الأمر أثناء العمل. سيقوم الأمر التالي بنسخ جميع الملفات والمجلدات الفرعية من مجلد D:\testserver\website على الجهاز المحلي إلى مجلد مشترك على الخادم البعيد \\liveserver\website:
robocopy d:\testserver\website \\liveserver\website /mir
يخبر السويتش /mir، الذي يعني mirrior،لل robocopy بنسخ كل شيء من المصدر وجعل الوجهة تعكسه. هذا يعني أن robocopy سيحذف أيضًا أي شيء في الوجهة لا يتطابق مع مجلدات وملفات المصدر.
لو كان هذا كل شيء، لكان robocopy قويًا، لكن هذا ليس حتى قمة جبل الجليد. يمكن لأمر robocopy نسخ الملفات المشفرة. يتيح للمسؤول نسخ الملفات حتى إذا تم رفض الوصول صراحة إلى تلك الملفات لحساب المسؤول. سيستأنف أيضًا النسخ بعد الانقطاع، ويقوم بذلك عند النقطة التي توقف فيها. للحصول على بناء الجملة الكامل، اكتب الأمر التالي:
robocopy /?
تجعل قوتهم وفائدتهم أوامر del وcopy/move وxcopy وrobocopy لا غنى عنها لفني الكمبيوتر، لكن تلك القوة والفائدة نفسها يمكن أن تسبب كارثة.
لأن المبدأ يبقى: احذر من ضغطة المفتاح السريعة والسهلة، فقد تكون مصدرك للهلاك. فكر مرتين ونفذ الأمر مرة واحدة. البيانات التي تنقذها قد تكون بياناتك!
ال cp و mv (مرة أخرى!)
إذا كنت تريد حقًا رؤية بعض الأوامر القوية، دعنا نتجه إلى Linux. على عكس Windows، يمكنك نقل ونسخ المجلدات ومحتوياتها باستخدام أوامر cp وmv التي رأيناها سابقًا للنسخ والنقل العاديين. لنفترض أن لدينا مجلدًا يسمى /home/mike/Backups. يحتوي مجلد Backups على عشرة مجلدات فرعية ومئات الملفات. أريد حفظ نسخة من هذه الملفات في مجلد يسمى /mnt/storage. للقيام بذلك، أحتاج فقط إلى تشغيل cp مع المفتاح –R (تكراري) (لاحظ أن ~ في الموجه يظهر أنني في المجلد الرئيسي):
mike@server:~$ cp –R Backups /mnt/storage
إذا أردت نقل كل ذلك إلى التخزين بدلاً من النسخ، أستخدم أمر mv. من المثير للاهتمام أن أمر mv لا يحتاج حتى إلى switch خاص - فقط شغل البرنامج، وأشر إلى المجلد المعني وأعطه وجهة:
mike@server:~$ mv Desktop/Backups /mnt/storage
■ النهاية
نكون هنا انتهينا من الجزء 4 الفصل 15 تماما من شهادة A plus المقدمة من CompTIA نتقدم الأن تقدم سريع وواضح ولكن المشوار ما زال النصف بعد ولكن سيكون ممتع جدا جدا لذلك احرص على قرائة كل فصل سريعا
و لا بد وانت تقرا ان تكون مركز جيدا لكل معلومة ومعك ورقة وقلم , لانك بالتاكيد ستحتاجها
واذا واجهتك اي مشكلة في الفهم او ما شابه , يمكنك على الفور الذهاب الى المجتمع الخاص بنا في Telegram للمناقشة والتواصل معنا من هنا
او اذا واجهتك مشكلة في الموقع او تريد اجابة سريعة يمكنك الذهاب الى اخر صفحة في الموقع ستجد صفحة اتصل بنا موجودة يمكنك ارسالة لنا مشكلتك , وسيتم الرد عليها بسرعة جدا ان شاء الله
ويمكنك الأنضمام الى المجتمع Hidden Lock بالكامل مع جميع قنواته للأستفادة في اخر الأخبار في عالم التقنية وايضا الكتب بالمجان والكورسات والمقالات من خلال الرابط التالي لمجموعة القنوات من هنا
يمكنك ايضا متابعتنا في منصات X او Twitter سابقا , لمشاهدة الاخبار والمقالات السريعة والمهمة من
وفقط كان معكم sparrow مقدم هذه الشهادة من فريق Hidden Lock