المقدمة

نظام التشغيل Linux بقى واحد من أكتر الأنظمة اللي بيستخدمها المطورين، خاصة في تطوير البرمجيات وإدارة الـ Servers والـ Cloud Infrastructure. وده لإن Linux نظام مفتوح المصدر ومرن، وبيدي للمطورين سيطرة كاملة على البيئة اللي بيشتغلوا فيها، فده بيخلي تعلمنا وفهمنا لأوامر الـ Linux حاجة أساسية لو عاوزين نبقى شغالين بكفاءة وفعالية أكتر.

الـ Linux بيعتمد بشكل كبير على الـ Command Line Interface أو زي ما بنقول عليها "Terminal"، واللي هي أداة قوية جدًا وبتسمح للمطورين يعملوا مهام كتيرة زي إدارة الملفات، مراقبة العمليات، تثبيت البرامج، وكمان التحكم في الأذونات.

لما نتعلم أوامر Linux، هنقدر اننا نـ Automate أغلب مهام الشغل اليومي بتاعتنا ونسهل حاجات كتير في شغلنا، وكمان هنقدر نتحكم في كل حاجة في النظام بتاعنا بسهولة.

فورقة وقلم وتعالوا نتكلم عن أكثر الـ Commands المستخدمة للمطورين 🚀


Most Used Linux Commands For Developers

ls

ls -l /home/user

يعرض الملفات والمجلدات في الـ Directory المحدد (أو الـ Directory الحالي إذا لم يُحدد). والخيار -l يعرض معلومات مفصلة مثل أذونات الملفات، الملكية، الحجم، وتاريخ التعديل.

cd

cd /var/logs

يغير الـ Directory الحالي إلى الـ Directory المحدد.

pwd

pwd

يعرض المسار الكامل للـ Directory الحالي.

mkdir

mkdir eqraatech

ينشئ مجلدًا جديدًا بالاسم المحدد.

rm

rm old_file.txt

يحذف الملف المحدد. واستخدم الـ Optioon rm -r يستعمل أيضًا لحذف المجلدات ومحتوياتها بشكل متكرر.

cp

cp index.html /var/www/html/

ينسخ الملفات أو المجلدات من المصدر إلى الوجهة. واستخدم الـ Option cp -r لنسخ المجلدات.

mv

mv old_name.txt new_name.txt

ينقل أو يعيد تسمية الملفات أو المجلدات.

cat

cat /var/logs/eqraatech.log

يعرض محتويات الملف في الـ Terminal.

grep

grep "User not found" /var/logs/eqraatech.log

يبحث عن نمط معين (نص) في الملفات ويعرض الأسطر المتطابقة.

find

find /home/user -name "*.log"

يبحث عن الملفات والمجلدات في تسلسل الـ Directory بناءً على الاسم، النوع، وغيرها من السمات.

Linux Commands Cheatsheet

chmod

chmod 755 eqraatech_background_runner.sh

يغير أذونات الملف. 755 يعطي الـ Owner أذونات القراءة، الكتابة، والتنفيذ، وللآخرين القراءة والتنفيذ فقط.

chown

chown root:root /etc/passwd

يغير ملكية الملف أو المجلد.

ps

ps aux

يعرض معلومات حول الـ Processes النشطة. ويمنك استخدام الـ Option aux لعرض معلومات تفصيلية حول جميع الـ Processes.

kill

kill 995840

ينهي الـ Process بناءً على استخدام معرف الـ Process أوا ما يعرف بالـ (PID).

top

top

يعرض معلومات في الـ Realtime حول الـ Processes الجارية، بما في ذلك استخدام الـ CPU / RAM.

nano

nano config.json

يفتح ملفًا في محرر النصوص nano، مما يتيح تحرير النص بشكل بسيط في الـ Terminal.

vi / vim

vi index.html

يفتح ملفًا في محرر النصوص vi أو vim، وهو محرر نصوص أكثر قوة مقارنةً بـ nano.

wget

wget https://eqraatech.com/In-a-nutshell-v1.zip

تحميل الملفات من الويب عبر HTTP، HTTPS، أو من خلال استعمال الـ FTP.

tar

tar -cvzf archive.tar.gz /path/to/dir

ينشئ أو يستخرج أرشيفات .tar. الخيار -cvzf ينشئ أرشيفًا مضغوطًا .tar.gz.

sudo

sudo apt-get update

يشغل الأوامر بصلاحيات المستخدم الـ Root، وهو ضروري لتنفيذ مهام إدارة النظام.


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