تعتبر الطرفية او الطارفة (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.comsome-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 للاختبار كلها مختضرى في ملف واحد
@echorem node serv.js run the project in windows cmdset url="http://127.0.0.1:8081/"start chrome %url%cd E:\OS_MgM rem the path of the projectnodemon server.jsloop:rsgo to loop:
0 تعليقات