Linux: التنقل في نظام الملفات — ls / cd / pwd وبنية الدلائل

لينكس ينظّم كل الملفات والدلائل في شجرة متجذرة في /. تُسمى هذه الشجرة معيار التسلسل الهرمي لنظام الملفات (FHS).

📋 المتطلبات المسبقة: يجب إكمال

1. ما ستتعلمه


2. قصة مبتدئ ضائع

(1) الألم: عدم معرفة أين أنت في شجرة الدلائل

سجّل شياو مينغ الدخول إلى خادم لأول مرة وشعر بالإرهاق من أسماء الدلائل غير المألوفة تحت /: /bin و/etc و/var و/usr... لم يكن يعرف وظيفة كل دليل ولا أين هو حاليًا.

(2) ثلاث خرائط

المهندس الأول بوب رسم ثلاث "خرائط":

BASH
# الخريطة 1: أين أنا؟
pwd
# Output: /home/charlie

# الخريطة 2: ماذا هنا؟
ls
# Output: Desktop  Documents  Downloads

# الخريطة 3: اذهب إلى هناك
cd /etc

(3) الفائدة: التنقل بحرية

فهم شياو مينغ العلاقة بين الأوامر الثلاثة: pwd يحدد موقعك الحالي، وls يُظهر محيطك، وcd يأخذك لوجهتك. من حينها، صار قادرًا على التنقل بحرية عبر نظام ملفات أي خادم لينكس.


3. نقاط المعرفة

(1) مرجع سريع لدلائل معيار FHS

بنية دلائل لينكس تتبع معيارًا موحدًا. لا تحتاج لحفظ كل دليل، لكن هذه أساسية:

💡 نصيحة: المبدأ الأساسي لمعيار FHS (Filesystem Hierarchy Standard) هو "التقسيم حسب الوظيفة" — /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)
TEXT
# حاليًا في /home/alice
# باستخدام مسار مطلق
cd /etc/nginx

# باستخدام مسار نسبي (نفس التأثير، يبدأ من الدليل الحالي)
cd ../../../etc/nginx

(3) المعاني الخاصة لـ. و..

الرمز المعنى
. الدليل الحالي
.. الدليل الأب
~ الدليل المنزلي للمستخدم الحالي
~alice الدليل المنزلي للمستخدم alice
- الدليل السابق (مع cd فقط)
💡 نصيحة: cd - يتيح لك العودة بسرعة إلى دليل العمل السابق — مفيد جدًا عند التبديل بين دليلين. مثلًا، إذا تتنقل كثيرًا بين /var/log و/etc/nginx، فقط اكتب cd - في كل مرة.

TEXT
# حاليًا في /home/alice/projects
cd .       # لا حركة (يبقى في الدليل الحالي)
cd ..      # الانتقال إلى /home/alice
cd ../..   # الانتقال إلى /home
cd ~       # الانتقال إلى /home/alice
cd -       # العودة إلى الدليل السابق

(4) خيارات ls الشائعة

TEXT
# الاستخدام الأساسي
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]* يطابق ملفات لا تبدأ بحرف
BASH
# أمثلة على الرموز الشاملة
ls *.md                # عرض كل ملفات Markdown
ls file?.txt           # عرض file1.txt وfile2.txt وغيرها
ls [abc]*              # عرض الملفات التي تبدأ بـa أو b أو c
ls [0-9]*              # عرض الملفات التي تبدأ برقم

(6) ▶ مثال: pwd — أخبرني أين أنا

BASH
# عندما لا تكون متأكدًا من موقعك الحالي، استخدم pwd
pwd
# Output: /home/alice

# جرّب بعد التبديل إلى دليل آخر
cd /etc
pwd
# Output: /etc

الإخراج:

TEXT
/home/alice
/etc

(7) ▶ مثال: cd — خذني عبر الدلائل

TEXT
# اذهب للمنزل
cd ~

# ارجع للدليل السابق
cd /etc
cd /var/log
cd -    # العودة إلى /etc

# اذهب إلى الجذر
cd /

# اذهب إلى الدليل المنزلي لمستخدم معين
cd ~alice

(8) ▶ مثال: ls — أرني ماذا هنا

TEXT
# الوضع المضغوط
ls /etc

# الصيغة الطويلة (تشمل الصلاحيات والحجم ووقت التعديل)
ls -l /etc

# عرض الملفات المخفية
ls -la ~

# أحجام مقروءة
ls -lh /var/log

# عرض متكرر
ls -R ~/projects | head -20

# ترتيب بحجم الملف (الأكبر أولًا)
ls -lhS /var/log

(9) ▶ مثال: الملفات المخفية

في لينكس، أي ملف أو دليل يبدأ بـ. يكون مخفيًا. ls لا يعرضها افتراضيًا.

BASH
# عرض الملفات المخفية في الدليل المنزلي
ls -la ~

# ملفات ودلائل مخفية شائعة
# .bashrc        إعدادات bash
# .bash_profile  إعدادات Shell الولوجي
# .gitconfig     إعدادات Git
# .ssh/          مفاتيح SSH وإعداداته
# .vimrc         إعدادات vim

الإخراج:

TEXT
total 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) ▶ مثال: الرموز الشاملة في العمل

TEXT
# عرض كل ملفات .log
ls -la /var/log/*.log

# عرض الملفات التي يبدأ اسمها بـ"access"
ls -la /var/log/access*

# حذف كل ملفات .tmp
rm *.tmp

# نسخ كل ملفات .jpg إلى دليل آخر
cp *.jpg ~/Pictures/

(11) ▶ مثال شامل: مغامرة في نظام الملفات

BASH
# أول مغامرة لشياو مينغ في نظام الملفات

# 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.


📖 ملخص


📝 تمارين

  1. أساسي (صعوبة ⭐): استخدم pwd لتأكيد موقعك الحالي، ثم cd / للذهاب إلى الدليل الجذر، وls -la / لعرض كل الملفات
  2. متوسط (صعوبة ⭐⭐): استخدم cd ~ للذهاب للمنزل واعرض الملفات المخفية، ثم اذهب إلى /var/log لرؤية دليل السجلات، واستخدم cd - للتبديل بين الاثنين، وأخيرًا استخدم ls *.conf في /etc للعثور على ملفات الإعدادات
  3. متقدم (صعوبة ⭐⭐⭐): ارسم مخطط بنية دلائل الدليل الجذر في نظامك (يشمل 5 دلائل من معيار FHS على الأقل)، مع توضيح غرض كل دليل وما إذا كان قابلًا للكتابة
Web-Tutorial.com

فريق Web-Tutorial التقني

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

100%