Ls Command

1) ما هو أمر ls ولماذا نستخدمه؟

أمر ls اختصار لـ List، ووظيفته عرض محتويات المجلد:

  • ملفات
  • مجلدات
  • روابط (Links)

يعني بدل ما “تدخل” كل مجلد لتعرف ماذا بداخله، ls يريك المحتويات بسرعة.

2) الصيغة العامة (Syntax)
ls [OPTIONS] [PATH]
Bash
  • OPTIONS: خيارات تغيّر شكل العرض (مثل تفاصيل أكثر، إظهار المخفي…)
  • PATH: مسار المجلد أو الملف الذي تريد عرضه
    إذا لم تكتب مسارًا، سيعرض محتويات المجلد الحالي.
3) الاستخدام الأساسي لأمر ls
أ) عرض محتويات المجلد الحالي
ls
Bash

مثال مخرجات (شكل تقريبي):

file1.txt  file2.txt  folder1  folder2
Bash

هنا ls عرض أسماء العناصر فقط (بدون تفاصيل).

ب) عرض محتويات مجلد محدد بدون الدخول إليه
ls /etc
Bash

أو:

ls ~/project
Bash
4) أهم خيار للمبتدئ: -l (عرض التفاصيل)
عرض بصيغة طويلة (Long Listing)
ls -l
Bash

مثال مخرجات:

total 8
-rw-r--r-- 1 labex labex    0 Apr 12 12:34 file1.txt
drwxr-xr-x 2 labex labex 4096 Apr 12 12:34 folder1
Bash
شرح أعمدة ls -l بالتفصيل

السطر هذا مثلًا:

drwxr-xr-x 2 labex labex 4096 Apr 12 12:34 folder1
Bash

يعني:

  1. نوع العنصر + الصلاحيات
  • أول حرف يوضح النوع:
    • - ملف عادي
    • d مجلد
    • l رابط (shortcut)
  • ثم الصلاحيات مثل rwxr-xr-x (سنشرحها بعد قليل)
  1. عدد الروابط (Hard links)
  • هنا 2 (معلومة تقنية غالبًا لا تقلق منها كبداية)
  1. المالك (Owner)
  • هنا labex
  1. المجموعة (Group)
  • هنا labex
  1. الحجم (Size)
  • هنا 4096 بايت (غالبًا حجم المجلد الافتراضي)
  1. آخر تعديل (Date/Time)
  2. اسم الملف/المجلد
  • هنا folder1
5) فهم الصلاحيات (Permissions) ببساطة

مثال صلاحيات:

-rw-r--r--
Bash

تقسيمها:

  • rw- للمالك (User)
  • r-- للمجموعة (Group)
  • r-- للآخرين (Others)

المعاني:

  • r قراءة (Read)
  • w كتابة (Write)
  • x تنفيذ/دخول (Execute)
    في المجلد: x يعني “تقدر تدخل المجلد”

مثال على مجلد:

drwxr-xr-x
Bash
  • المالك يقدر يقرأ/يكتب/يدخل
  • الآخرون يقدرون يقرأون/يدخلون لكن لا يكتبون
6) إظهار الملفات المخفية: -a و -A
أ) -a يظهر كل شيء (حتى . و ..)
ls -a
Bash

مثال:

.  ..  .hidden_file  file1.txt  folder1
Bash
  • . يعني “المجلد الحالي”
  • .. يعني “المجلد الأب”
ب) -A (أفضل غالبًا) يظهر المخفي بدون . و ..
ls -A
Bash
7) دمج الخيارات (مهم جدًا)

أكثر دمج مستخدم يوميًا:

ls -la
Bash

أو الأفضل (مع أحجام مفهومة):

ls -lah
Bash
8) أحجام مفهومة: -h

بدل 4096 يصير 4.0K

ls -lh
Bash
9) ترتيب وفرز النتائج (شيء عملي جدًا)
أ) ترتيب حسب وقت التعديل (الأحدث أولًا)
ls -lt
Bash
ب) الأقدم أولًا
ls -ltr
Bash
ج) ترتيب حسب الحجم (الأكبر أولًا)
ls -lS
Bash

ومع أحجام مفهومة:

ls -lSh
Bash
10) عرض نوع العنصر بسرعة: -F

هذا يضيف علامة تساعدك تميز النوع:

ls -F
Bash

أمثلة:

  • folder1/ مجلد
  • run.sh* ملف تنفيذي
  • link@ رابط
11) عرض محتويات المجلدات بشكل تراجعي: -R

يعرض المجلد ثم ما بداخله ثم داخل كل مجلد فرعي:

ls -R ~/project
Bash

ممتاز لفهم هيكل المشروع، لكن قد يكون كثير إذا المجلد كبير.

12) التعامل مع “أنماط” الملفات (Globbing) — عملي جدًا

عرض كل ملفات txt:

ls *.txt
Bash

عرض كل ما يبدأ بـ file:

ls file*
Bash

عرض كل ملفات داخل مجلد logs تنتهي بـ .log:

ls ~/logs/*.log
Bash
13) خدعة مهمة: عرض “المجلد نفسه” بدل محتواه
إذا كتبت:
ls folder1
Bash

سيعرض محتويات folder1.

لكن إذا تريد تعرض اسم المجلد نفسه فقط:
ls -d folder1
Bash

ومع تفاصيل:

ls -ld folder1<br>
Bash
14) أمثلة يومية جاهزة (اختصر على نفسك)
أفضل أمر يومي للمبتدئ
ls -lah
Bash
أعرف أحدث الملفات
ls -lt
Bash
أكبر ملفات
ls -lSh | head
Bash
أشوف المجلدات فقط (تقريبًا)
ls -d */
Bash
15) هل الشرح الأساسي في النص اللي أرسلته كان كافي؟

نعم كمقدمة قصيرة كان جيد لأنه غطّى:

  • ls
  • -l
  • -a
  • دمج الخيارات
  • -R
    لكن للمبتدئ يحتاج توسعة مثل اللي فوق لأن أكثر أخطاء المبتدئين تكون في:
  • فهم مخرجات -l
  • فهم الصلاحيات
  • الفرق بين -a و -A
  • الفرز (-t و -S)
  • globbing مثل *.txt
  • -d لعرض المجلد نفسه
16) تدريب سريع (Practice) للمبتدئ

نفّذ هذه الأوامر بالترتيب:

mkdir -p ~/project/ls_practice
cd ~/project/ls_practice
touch a.txt b.txt
mkdir folder
touch .secret
Bash

ثم جرّب:

ls
ls -a
ls -lah
ls -lt
ls -ld folder
ls -F
Bash