Linux: التنقل في نظام الملفات — ls / cd / pwd وبنية الدلائل
لينكس ينظّم كل الملفات والدلائل في شجرة متجذرة في /. تُسمى هذه الشجرة معيار التسلسل الهرمي لنظام الملفات (FHS).
📋 المتطلبات المسبقة: يجب إكمال
- الدرس 3: أساسيات الطرفية
1. ما ستتعلمه
- أوامر التنقل الأساسية الثلاثة: pwd وcd وls
- بنية دلائل معيار FHS
- المسارات المطلقة مقابل النسبية
- المعاني الخاصة لـ
.و.. - الرموز الشاملة والملفات المخفية
2. قصة مبتدئ ضائع
(1) الألم: عدم معرفة أين أنت في شجرة الدلائل
سجّل شياو مينغ الدخول إلى خادم لأول مرة وشعر بالإرهاق من أسماء الدلائل غير المألوفة تحت /: /bin و/etc و/var و/usr... لم يكن يعرف وظيفة كل دليل ولا أين هو حاليًا.
(2) ثلاث خرائط
المهندس الأول بوب رسم ثلاث "خرائط":
# الخريطة 1: أين أنا؟
pwd
# Output: /home/charlie
# الخريطة 2: ماذا هنا؟
ls
# Output: Desktop Documents Downloads
# الخريطة 3: اذهب إلى هناك
cd /etc
(3) الفائدة: التنقل بحرية
فهم شياو مينغ العلاقة بين الأوامر الثلاثة: pwd يحدد موقعك الحالي، وls يُظهر محيطك، وcd يأخذك لوجهتك. من حينها، صار قادرًا على التنقل بحرية عبر نظام ملفات أي خادم لينكس.
3. نقاط المعرفة
(1) مرجع سريع لدلائل معيار FHS
بنية دلائل لينكس تتبع معيارًا موحدًا. لا تحتاج لحفظ كل دليل، لكن هذه أساسية:
/etc للإعدادات، و/var للبيانات المتغيرة، و/usr لبرامج المستخدم. بمجرد فهم هذا المنطق، حتى لو نسيت دليلًا معينًا، يمكنك استنتاج مكان وجود ملف بناءً على وظيفته.
| الدليل | المعنى | الغرض |
|---|---|---|
/ |
الدليل الجذر | نقطة بداية نظام الملفات؛ كل المسارات تبدأ من هنا |
/home |
الدلائل المنزلية للمستخدمين | ملفات كل مستخدم الشخصية محفوظة هنا (مثل /home/alice) |
/etc |
ملفات الإعدادات | ملفات إعدادات النظام وإعدادات الخدمات الخلفية (مثل Nginx، SSH) |
/var |
بيانات متغيرة | السجلات (/var/log)، قواعد البيانات، البيانات المخزنة مؤقتًا |
/tmp |
ملفات مؤقتة | دليل مؤقت يُنظَّف تلقائيًا عند إعادة التشغيل |
ℹ️ ملاحظة: يُنظَّف
/tmpعادة بعد إعادة تشغيل النظام (الأنظمة الحديثة تستخدم tmpfs، تخزّن/tmpفي الذاكرة). لا تخزّن بيانات مهمة أو ملفات تحتاجها طويلًا في/tmp— مناسب فقط للاستخدام المؤقت. |/usr| موارد نظام المستخدم | برامج ومكتبات النظام (/usr/bin،/usr/lib)| |/bin| أوامر أساسية | أوامر أساسية مثلlsوcpوmv| |/opt| برامج اختيارية | دليل تثبيت البرمجيات من طرف ثالث |
(2) المسارات المطلقة مقابل النسبية
| النوع | الميزة | مثال |
|---|---|---|
| مسار مطلق | يبدأ بـ/، من الجذر |
/home/alice/Documents/report.md |
| مسار نسبي | يبدأ من الدليل الحالي | Documents/report.md (عندما تكون في /home/alice) |
# حاليًا في /home/alice
# باستخدام مسار مطلق
cd /etc/nginx
# باستخدام مسار نسبي (نفس التأثير، يبدأ من الدليل الحالي)
cd ../../../etc/nginx
(3) المعاني الخاصة لـ. و..
| الرمز | المعنى |
|---|---|
. |
الدليل الحالي |
.. |
الدليل الأب |
~ |
الدليل المنزلي للمستخدم الحالي |
~alice |
الدليل المنزلي للمستخدم alice |
- |
الدليل السابق (مع cd فقط) |
cd - يتيح لك العودة بسرعة إلى دليل العمل السابق — مفيد جدًا عند التبديل بين دليلين. مثلًا، إذا تتنقل كثيرًا بين /var/log و/etc/nginx، فقط اكتب cd - في كل مرة.
# حاليًا في /home/alice/projects
cd . # لا حركة (يبقى في الدليل الحالي)
cd .. # الانتقال إلى /home/alice
cd ../.. # الانتقال إلى /home
cd ~ # الانتقال إلى /home/alice
cd - # العودة إلى الدليل السابق
(4) خيارات ls الشائعة
# الاستخدام الأساسي
ls # عرض أسماء الملفات (مضغوط)
ls -l # صيغة طويلة (صلاحيات/مالك/حجم/وقت)
ls -a # عرض كل الملفات (بما فيها المخفية التي تبدأ بـ.)
ls -la # مجموعة شائعة
ls -lh # أحجام ملفات مقروءة (KB/MB/GB)
ls -R # عرض الدلائل الفرعية بشكل متكرر
ls -S # ترتيب بحجم الملف
ls -t # ترتيب بوقت التعديل
(5) الرموز الشاملة
| الرمز الشامل | قاعدة التطابق | مثال |
|---|---|---|
* |
أي عدد من المحارف | *.txt يطابق كل الملفات التي تنتهي بـ.txt |
? |
محرف واحد | file?.md يطابق file1.md وfile2.md |
[abc] |
أي محرف واحد في المجموعة | file[12].md يطابق file1.md / file2.md |
[!abc] |
استبعاد محارف المجموعة | [!a-z]* يطابق ملفات لا تبدأ بحرف |
# أمثلة على الرموز الشاملة
ls *.md # عرض كل ملفات Markdown
ls file?.txt # عرض file1.txt وfile2.txt وغيرها
ls [abc]* # عرض الملفات التي تبدأ بـa أو b أو c
ls [0-9]* # عرض الملفات التي تبدأ برقم
(6) ▶ مثال: pwd — أخبرني أين أنا
# عندما لا تكون متأكدًا من موقعك الحالي، استخدم pwd
pwd
# Output: /home/alice
# جرّب بعد التبديل إلى دليل آخر
cd /etc
pwd
# Output: /etc
الإخراج:
TEXT/home/alice /etc
(7) ▶ مثال: cd — خذني عبر الدلائل
# اذهب للمنزل
cd ~
# ارجع للدليل السابق
cd /etc
cd /var/log
cd - # العودة إلى /etc
# اذهب إلى الجذر
cd /
# اذهب إلى الدليل المنزلي لمستخدم معين
cd ~alice
(8) ▶ مثال: ls — أرني ماذا هنا
# الوضع المضغوط
ls /etc
# الصيغة الطويلة (تشمل الصلاحيات والحجم ووقت التعديل)
ls -l /etc
# عرض الملفات المخفية
ls -la ~
# أحجام مقروءة
ls -lh /var/log
# عرض متكرر
ls -R ~/projects | head -20
# ترتيب بحجم الملف (الأكبر أولًا)
ls -lhS /var/log
(9) ▶ مثال: الملفات المخفية
في لينكس، أي ملف أو دليل يبدأ بـ. يكون مخفيًا. ls لا يعرضها افتراضيًا.
# عرض الملفات المخفية في الدليل المنزلي
ls -la ~
# ملفات ودلائل مخفية شائعة
# .bashrc إعدادات bash
# .bash_profile إعدادات Shell الولوجي
# .gitconfig إعدادات Git
# .ssh/ مفاتيح SSH وإعداداته
# .vimrc إعدادات vim
الإخراج:
TEXTtotal 48 drwxr-xr-x 1 alice alice 4096 Jul 8 10:23 . drwxr-xr-x 1 alice alice 4096 Jul 8 10:23 .. -rw-r--r-- 1 alice alice 220 Jul 8 10:23 .bash_logout -rw-r--r-- 1 alice alice 3771 Jul 8 10:23 .bashrc -rw-r--r-- 1 alice alice 807 Jul 8 10:23 .profile drwx------ 2 alice alice 4096 Jul 8 10:23 .ssh -rw-r--r-- 1 alice alice 256 Jul 8 10:23 .vimrc
(10) ▶ مثال: الرموز الشاملة في العمل
# عرض كل ملفات .log
ls -la /var/log/*.log
# عرض الملفات التي يبدأ اسمها بـ"access"
ls -la /var/log/access*
# حذف كل ملفات .tmp
rm *.tmp
# نسخ كل ملفات .jpg إلى دليل آخر
cp *.jpg ~/Pictures/
(11) ▶ مثال شامل: مغامرة في نظام الملفات
# أول مغامرة لشياو مينغ في نظام الملفات
# 1. أين أنا؟
pwd
# 2. شاهد ما في الدليل الجذر
ls -la /
# 3. اذهب إلى /etc واطلع على إعدادات النظام
cd /etc
ls | head -20
# 4. اذهب إلى /var/log للسجلات
cd /var/log
ls -lhS | head -10 # أكبر 10 ملفات سجل
# 5. ارجع للمنزل
cd ~
ls -la
# 6. شاهد ما على سطح المكتب
ls -la ~/Desktop
❓ أسئلة شائعة
س: ما الفرق بين
/و~؟ ج:/هو الدليل الجذر، المستوى الأعلى لكل الشجرة.~هو الدليل المنزلي للمستخدم الحالي (عادة/home/username). يوجد جذر واحد فقط، لكن لكل مستخدم دليله المنزلي الخاص.
س: لماذا الملفات التي تبدأ بـ
.مخفية؟ ج: هذا اتفاق — تُعتبر الملفات التي تبدأ بـ."ملفات إعدادات" أو "ملفات نظام" لا يحتاج المستخدم لرؤيتها في الاستخدام اليومي. هذا يقلل التشويش في مخرجاتls.
س: ماذا يعني العمود الأول
drwxr-xr-xفي مخرجاتls -l؟ ج: المحرف الأول هو نوع الملف (dلدليل،-لملف عادي،lلرابط). المحارف التسعة التالية مقسمة إلى ثلاث مجموعات: صلاحيات مالك الملف (مستخدم) (3 بتات)، وصلاحيات المجموعة (3 بتات)، وصلاحيات الآخرين (3 بتات). r=قراءة، w=كتابة، x=تنفيذ.
س: هل ملفات
/tmpتختفي بعد إعادة التشغيل؟ ج: افتراضيًا، نعم. كثير من الأنظمة تنظّف/tmpعند الإقلاع. لذا/tmpمناسب فقط للملفات المؤقتة — لا تخزّن بيانات مهمة هناك.
س: كيف أبدّل بسرعة بين المسارات الطويلة؟ ج: استخدم إكمال Tab (اكتب أول محارف واضغط Tab)، و
cd -للعودة، وpushd/popdلإدارة رتل دلائل، أو متغير البيئةCDPATH.
📖 ملخص
pwdيعرض الموقع الحالي، وcdيبدّل الدلائل، وlsيعرض المحتويات — ثلاثة أوامر للتنقل لأي مكان- دلائل معيار FHS:
/homeللمستخدمين، و/etcللإعدادات، و/varللسجلات، و/tmpللملفات المؤقتة - المسارات المطلقة تبدأ بـ
/؛ المسارات النسبية تبدأ من الدليل الحالي ..هو الدليل الأب، و.هو الدليل الحالي، و~هو الدليل المنزلي*يطابق أي شيء، و?يطابق محرفًا واحدًا — أدوات قوية للعمليات المجمّعة
📝 تمارين
- أساسي (صعوبة ⭐): استخدم
pwdلتأكيد موقعك الحالي، ثمcd /للذهاب إلى الدليل الجذر، وls -la /لعرض كل الملفات - متوسط (صعوبة ⭐⭐): استخدم
cd ~للذهاب للمنزل واعرض الملفات المخفية، ثم اذهب إلى/var/logلرؤية دليل السجلات، واستخدمcd -للتبديل بين الاثنين، وأخيرًا استخدمls *.confفي/etcللعثور على ملفات الإعدادات - متقدم (صعوبة ⭐⭐⭐): ارسم مخطط بنية دلائل الدليل الجذر في نظامك (يشمل 5 دلائل من معيار FHS على الأقل)، مع توضيح غرض كل دليل وما إذا كان قابلًا للكتابة