أوامر مهمة لكل مطور ويب

 تعتبر  الطرفية  او الطارفة (terminal) امر حيوي ومهم لكل مطور  ويب  فهي تختصر  الكثير من العمل  في  كود  معين  يكفيك  ان تضغط على زر  enter وتنتهي من الامر  الذي قد ياخذ منك ساعات  ، في هذه  التدوينة  بعض  الادوات  مدمجة مع النظام  والبعض منها يمكنك  تحميله  في اقل من دقائق لكي تتمتع بعمل سريع  ومتقن  .


عني  استخدم 12 امر  يعد  اعتيادي  في عملي كمطور مواقع :

curl

الموقع :https://curl.se/

هي عبارة  عن اداة لسطر  اوامر تقوم بجلب معلومات head يمكنك التنزيل والوصول  الى المعلومات البعيدة والتحقق من البروتوكولات بكل  سهولة  هذه مجموعة من البروتوكولات التي تدعمها  



غالبًا ما يستخدم curl في تطوير الويب لاختبار الاتصالات والعمل مع واجهات برمجة تطبيقات  rest full  api


# Fetch the headers of a URL.

curl -I http://google.com

HTTP/1.1 302 Found

Cache-Control: private

Content-Type: text/html; charset=UTF-8

Referrer-Policy: no-referrer

Location: http://www.google.com/?gfe_rd=cr&ei=0fCKWe6HCZTd8AfCoIWYBQ

Content-Length: 258

Date: Wed, 25 Des 2020 11:24:01 GMT

# Make a GET request to a remote API.

curl http://numbersapi.com/random/trivia

29 is the number of days it takes Saturn to orbit the Sun.


يمكن أن تصبح أوامر curl أكثر تعقيدًا من ذلك. هناك الكثير من الخيارات للتحكم في head وملفات تعريف الارتباط  coockies والمصادقة  عليها والمزيد. يمكنك قراءة المزيد عن curl في الموقع  الخاص بها  ا "Everything curl".


Tree 

الموقع يشرح  من unix : https://www.computerhope.com/unix/tree.htm

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



هناك أيضًا خيار لتصفية النتائج باستخدام نمط بسيط يشبه regEx:

tree -P '*.min.*'
.
├── css
│   ├── bootstrap.min.css
├── fonts └── js
└── bootstrap.min.js


Tmux 

الموقع الخاص به: https://github.com/tmux/tmux/wiki

إن عبارة عن مُضاعِف طرفي ،  يعني أنه أداة لتوصيل محطات طرفية متعددة بجلسة طرفية واحدة.



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

Disk usage - du

الموقع الخاص به للشرح: https://www.computerhope.com/unix/udu.htm

يستخدم هذا  الامر du  لاعطائك  تقارير حول مساحة التخزين لديك  في احد البارتيشن  او القرص 

مثلا لديك مساحة قرص صلب ممتلء ولا تعرف من اين  هذه   المساحة التي تملاْ  هذا القرص   فالامر du  افضل خيار لديك  لتعريف عن كل ملف وكمية المساحة المستهلكة قد يكون فيروس يقوم بتضخيم الملفات او برنامج يقوم بالتضخيم الاضافي او الملفات الزائدة والغير الهامة  

du -sh *

1.2G    Desktop

4.0K    Documents

40G     Downloads

4.0K    Music

4.9M    Pictures

844K    Public

4.0K    Templates

6.9M    Videos


يوجد أيضًا أمر مشابه يسمى( df (Disk Free والذي يعرض معلومات مختلفة حول مساحة القرص المتوفرة (عكس du).

git 

الموقع الرسمي :https://git-scm.com/

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

هناك الكثير من تطبيقات وأدوات الطرفية   المتاحة ولكن معظم الناس يفضلون الوصول أصلاً من خلال الجهاز. يعتبر git CLI قويًا حقًا ويمكنه التعامل مع سجل المشروع الأكثر تشعبا وتشابكا وتتيح لك الوصول  الى  المتجر  البعيد  او المخزن البعيد .

إذا كنت ترغب في معرفة المزيد عن git ، نوصي بالاطلاع على برنامجها   التعليمي Documentation

Tar 

الشرح المفصل في  الموقع التالي: https://www.computerhope.com/unix/utar.htm

Tar هو أداة Unix الافتراضية للعمل مع أرشيفات الملفات. يتيح لك تجميع ملفات متعددة بسرعة في حزمة واحدة ، مما يسهل تخزينها ونقلها لاحقًا.

tar -cf archive.tar file1 file2 file3

باستخدام الخيار -x ، يمكنه أيضًا استخراج أرشيفات .tar الموجودة.

tar -xf archive.tar

لاحظ أن معظم التنسيقات الأخرى مثل .zip و .rar لا يمكن فتحها بواسطة tar وتتطلب أدوات مساعدة أخرى مثل unzip.

تشغل العديد من أنظمة Unix الحديثة إصدارًا موسعًا من tar (GNU tar) يمكنه أيضًا ضغط حجم الملف:

# Create compressed gzip archive.
tar -czf file.tar.gz inputfile1 inputfile2
# Extract .gz archive.
tar -xzf file.tar.gz

إذا لم يكن نظام التشغيل لديك يحتوي على هذا الإصدار من tar ، فيمكنك استخدام gzip أو zcat أو الضغط لتقليل حجم أرشيفات الملفات.

md5sum

الشرح من ويكي :  https://en.wikipedia.org/wiki/Md5sum

يحتوي Unix على العديد من أوامر التجزئة المضمنة بما في ذلك md5sum و sha1sum وغيرها. أدوات سطر الأوامر هذه لها تطبيقات مختلفة في البرمجة ، ولكن الأهم من ذلك أنها يمكن استخدامها للتحقق من سلامة الملفات.

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

md5sum ubuntu-16.04.3-desktop-amd64.iso
0d9fe8e1ea408a5895cbbe3431989295 ubuntu-16.04.3-desktop-amd64.iso

يمكنك مقارنة الهاش  المنتج  من  الملف بالهاش الخاص  بالموقع الاصلي 0d9fe8e1ea408a5895cbbe3431989295

Htop 

الموقع الرسمي :  https://htop.dev/

هو بديل أكثر قوة لمدير المهام المدمج. يوفر واجهة متقدمة مع العديد من الخيارات لمراقبة عمليات النظام والتحكم فيها.


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

ln 

الشرح التفصيلي : https://www.computerhope.com/unix/uln.htm

تشبه الروابط في Unix الاختصارات الموجودة في Windows ، مما يتيح لك الوصول السريع إلى ملفات معينة. يتم إنشاء الروابط عبر الأمر ln ويمكن أن تكون من نوعين: صلبة أو رمزية. كل نوع له خصائص مختلفة ويستخدم لأشياء مختلفة 

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

~/Desktop/Scripts/git-scripts/git-cleanup

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

sudo ln -s ~/Desktop/Scripts/git-scripts/git-cleanup /usr/local/bin/

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

git-cleanup

ssh 

الموقع الرسمي :  https://www.ssh.com/ssh/command/

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

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

ssh username@remote_host

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

ssh username@remote_host ls /var/www
some-website.com
some-other-website.com


إليك الكثير الذي يمكنك القيام به باستخدام SSH مثل إنشاء وكلاء وأنفاق وتأمين اتصالك بالمفاتيح الخاصة ونقل الملفات والمزيد. يمكنك قراءة المزيد في هذا الدليل.

Grep 

الموقع الرسمي :https://www.computerhope.com/unix/ugrep.htm

Grep هي أداة Unix القياسية لإيجاد السلسلات داخل النصوص. يأخذ مدخل في شكل الملفات أو تدفق مباشر لها ، ويدير محتواه من خلال تعبير العادي ، ويعيد جميع الأسطر المطابقة.

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

// Search for today's date (in format yyyy-mm-dd) and write the results to a new file.
grep "$(date +"%Y-%m-%d")" all-errors-ever.log > today-errors.log

أمر رائع آخر للعمل مع السلاسل sed. إنه أقوى (وأكثر تعقيدًا) من grep ويمكنه أداء أي مهمة متعلقة بالسلسلة تقريبًا بما في ذلك إضافة أو إزالة أو استبدال السلاسل.

Alias

الموقع  الرسمي : computerhope.com/unix/ualias.htm

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

# Create an alias for starting a local web server.
alias server="python -m SimpleHTTPServer 9000"
# Instead of typing the whole command simply use the alias.
server
Serving HTTP on 0.0.0.0 port 9000 ...

سيسهل عليك  ويختصر عليك الوقت والعمل ان  وضعت الامر  في ملف  .bashrc  بالنسبة للويندوز فاني  اضع ايضا ملف  bat  للتسريع من الاومر مثل تشغيل النود  وفتح المتصفح  على رابط  معين  وتشغيل nodemon للاختبار كلها  مختضرى في ملف واحد 


@echo
rem node serv.js run the project in windows cmd
set url="http://127.0.0.1:8081/"
start chrome %url% 
 cd E:\OS_MgM rem the path of the project
  nodemon server.js
  loop:
  rs
  go to loop:














Post a Comment

0 Comments