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
Bash4) أهم خيار للمبتدئ: -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 folder1Bashيعني:
- نوع العنصر + الصلاحيات
- أول حرف يوضح النوع:
-ملف عاديdمجلدlرابط (shortcut)
- ثم الصلاحيات مثل
rwxr-xr-x(سنشرحها بعد قليل)
- عدد الروابط (Hard links)
- هنا
2(معلومة تقنية غالبًا لا تقلق منها كبداية)
- المالك (Owner)
- هنا
labex
- المجموعة (Group)
- هنا
labex
- الحجم (Size)
- هنا
4096بايت (غالبًا حجم المجلد الافتراضي)
- آخر تعديل (Date/Time)
- اسم الملف/المجلد
- هنا
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
Bash7) دمج الخيارات (مهم جدًا)
أكثر دمج مستخدم يوميًا:
ls -la
Bashأو الأفضل (مع أحجام مفهومة):
ls -lah
Bash8) أحجام مفهومة: -h
بدل 4096 يصير 4.0K
ls -lh
Bash9) ترتيب وفرز النتائج (شيء عملي جدًا)
أ) ترتيب حسب وقت التعديل (الأحدث أولًا)
ls -lt
Bashب) الأقدم أولًا
ls -ltr
Bashج) ترتيب حسب الحجم (الأكبر أولًا)
ls -lS
Bashومع أحجام مفهومة:
ls -lSh
Bash10) عرض نوع العنصر بسرعة: -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
Bash13) خدعة مهمة: عرض “المجلد نفسه” بدل محتواه
إذا كتبت:
ls folder1
Bashسيعرض محتويات folder1.
لكن إذا تريد تعرض اسم المجلد نفسه فقط:
ls -d folder1
Bashومع تفاصيل:
ls -ld folder1<br>Bash14) أمثلة يومية جاهزة (اختصر على نفسك)
أفضل أمر يومي للمبتدئ
ls -lah
Bashأعرف أحدث الملفات
ls -lt
Bashأكبر ملفات
ls -lSh | head
Bashأشوف المجلدات فقط (تقريبًا)
ls -d */
Bash15) هل الشرح الأساسي في النص اللي أرسلته كان كافي؟
نعم كمقدمة قصيرة كان جيد لأنه غطّى:
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 .secretBashثم جرّب:
ls
ls -a
ls -lah
ls -lt
ls -ld folder
ls -FBash