عرض الملفات في الطرفيه باستخدام امر ls

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

أنا لا أطلب منك عزيزي القارئ أن تكره البرامج ذات الوجهات الرسومية ولكن ما أطلبه
هو محاولة الاطلاع علي الأوامر البسيطة التي ستسهل عليك التعامل مع أجهزة الحاسوب
وأعطاها فرصة عن طريق تجربتها وستجد بكل تأكيد أنها ستوفر عليك وقتا كثيرا على المدى البعيد

وفي مقال اليوم سأتحدث عن أمر ls بإذن الله تعالى

أمر ls هذا الأمر هوا من الأوامر التي تكون ضمن أدوات جنو الأساسية أو coreutils

لمن لا يعرف ما هي أدوات جنو الأساسية أو coreutils فسأتحدث عنها هنا بإذن الله تعالى في مقال قادم في المستقبل
ولكن باختصار هي حزمه تحمل بداخلها بعض الأوامر وأمر اليوم وهو lsإحدى هذه الأوامر

وظيفة أمر ls

تقوم فكرة أمر ls على عرض الملفات الموجودة في المجلد الحالي وهذه هي فكرة الأمر بكل اختصار

# فمثلا عند كتابه الأمر مباشرة عند تشغيل الصدفية
[n-user@linux]$ ls

ls-1

بكل تأكيد مخرج هذا الأمر يختلف من جهاز إلى آخر لأنه يعرض الملفات الموجودة على جهازك أنت

حسنا لنرى ما الذي سوف يعرضه البرنامج الرسومي الخاص بي إذا كنت بنفس المجلد

قام البرنامج الرسومي بعرض نفس المخرج لامر ls

ولكن ماذا لو كنت أريد عرض الملفات الرئيسية بالإضافة إلى الملفات المخفية في هذا المجلد

حسنا لنرى أولا كيف يمكن ذلك من خلال أمر ls

يمكن لأمر ls عرض الملفات المخفية في أي مجلد عن طريق إضافة خيار -a

[n-user@linux]$ ls -a

فعند كتابه هذا الخيار في نفس المجلد الموجود على جهازي أنا فسوف نرى التالي

ولكن لكي نقوم بمثل هذا الأمر علي البرنامج الرسومي فمكننا ذلك عن طريق استخدام الماوس ثم الذهاب إلى قائمة العرض في شريط المهام ثم تفعيل خيار مشاهده الملفات المخفية

ولما كل ذلك في حين أنه يمكنك القيام بالمثل بمجرد كتابه بعض الأحرف البسيطة

كيفية جعل أمر ls ينسق المخرج حتى نستطيع التفرقة بين المجلدات والملفات النصية والبرامج وغيرها

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

والحقيقة أنه يمكننا استخدام أمر ls لإضافة ألوان توضح نوع الملف الذي نتعامل معه وذلك عن طريق كتابه الأمر ls متبوعا ب --color='auto'
كالتالي

[n-user@linux]$ ls --color='auto'

ls-5

يمكن أيضا إضافة هذا الوسم لأمر إظهار الملفات المخفية ليبدو بهذا الشكل

ولكن هل سأظل أكتب مثل هذا الأمر الطويل بهذا الشكل لمجرد الحصول على ألوان بالطبع لا يمكنك أن تقوم بعمل كنيه لمثل هذا الوسم ليصبح قيمه افتراضيه عند كتابه أمر ls بهذا الشكل

يمكنك إضافة هذا السطر لملف التعريف الخاص بالصدفية الخاصة بك سواء .zshrc أو .bashrc

alias ls='ls --color=auto'

وبالطبع من خلال الصورة السابقة يمكنك ملاحظة أن اللون الأزرق يدل على أن الملف من نوع مجلد وان اللون الأبيض يدل على أن هذا الملف من نوع ملف نصي واللون الأخضر يدل على أن هذا الملف هو برنامج

عرض الملفات

في جميع الأمثلة السابقة يمكنك ملاحظة أن أمر ls كان يقوم فقط بعرض الملفات التي توجد في المجلد الحالي ولكن هل يمكننا أن نقوم باستعراض الملفات التي توجد داخل مجلد آخر

بالطبع يمكننا ذلك

طريقه كتابه أمر ls

[n-user@linux]$ ls [الخيار] [مسار الملف المراد عرض الملفات التي توجد بداخله]

كل ما بداخل هذين القوسين [ ... ] هو أمر اختياري أي يمكن كتابته أو يمكن تجاهله ولا يشترط كتابته

# كمثال على ذلك
[n-user@linux]$ ls others/test_dir

ls-7

شرح بعض خيارات أمر ls

  1. خيار -d */ لعرض المجلدات فقط

لنفترض أنك في مجلد يحتوي على الكثير من الملفات والبرامج وأنواع كثير جدا من الملفات ولكنك تريد فقط استخدام أمر ls لعرض المجلدات
يمكنك استعمال هذا الخيار لعرض المجلدات فقط والتركيز عليها دونا عن غيرها

ls-8

لاحظ أنه رغم استخدامي لخيار -aإلا أن المخرج كان فقط ملفات من نوع مجلدات

  1. خيار -h لإظهار المخرج الخاص بالأمر بشكل يمكن للبشر قراءته
[n-user@linux]$ ls -h
  1. خيار -l لعرض المخرج بالشكل الأكثر تفصيلا

يقوم هذا الخيار بتغير شكل المخرج الخاص بالأمر ليكون أكثر تفصيلا حيث يظهر حجم كل ملف والصلاحيات التي يمتلكها هذا الملف

[n-user@linux]$ ls -l

كما يمكن الدمج بين كل الخيارات السابقة فمثلا
[n-user@linux]$ ls -lh

وفي النهاية أشكرك على قراء المقال وأسأل الله أن يكون قد أوضح الأمر بشكل بسيط وبعض الطرق لاستخدامها

سائلاً الله تعالى أن ينفعنا بما علمنا

وانتظر آرائكم واقتراحاتكم عن المقال بإذن الله

الترخيص

هذا الموضوع يتبع ترخيص جميع مواضيع أسس: CC-BY-SA 4.0

3 إعجابات

بارك الله فيك. موضوع جميل.
للإضافة :
عمل الأداة مثل tree .

ls -R
.:
123dir  diR        file2.mp3  file3.sh   file5.mp3
DIR     dir123     file2.py   file3.txt  file5.py
Dir     file1.mp3  file2.sh   file4.mp3  file5.sh
a       file1.py   file2.txt  file4.py   file5.txt
aa      file1.sh   file3.mp3  file4.sh
aaa     file1.txt  file3.py   file4.txt

./123dir:

./DIR:

./Dir:

./a:

./aa:

./aaa:

./diR:

./dir123:

ترتيب الملفات حسب الصيغة.

ls -X
123dir  diR        file5.mp3  file1.sh   file2.txt
DIR     dir123     file1.py   file2.sh   file3.txt
Dir     file1.mp3  file2.py   file3.sh   file4.txt
a       file2.mp3  file3.py   file4.sh   file5.txt
aa      file3.mp3  file4.py   file5.sh
aaa     file4.mp3  file5.py   file1.txt

سرد قائمة للملفات الموجودة بالمسار مع وضع فاصلة بينهم.

ls -m
123dir, DIR, Dir, a, aa, aaa, diR, dir123, file1.mp3,
file1.py, file1.sh, file1.txt, file2.mp3, file2.py,
file2.sh, file2.txt, file3.mp3, file3.py, file3.sh,
file3.txt, file4.mp3, file4.py, file4.sh, file4.txt,
file5.mp3, file5.py, file5.sh, file5.txt

سرد قائمة بشكل عمودي

ls -1
123dir
DIR
Dir
a
aa
aaa
diR
dir123
file1.mp3
file1.py
file1.sh
file1.txt
file2.mp3
file2.py
file2.sh

إضافة لاحقة h- لطباعة حجم الملفات بصيغة يفهمها البشر :rofl:
اللاحقة تمشي مع لاحقة l-


ls -lh
total 552M
-rw------- 1 u0_a559 u0_a559 199M Aug 27 10:50 file1
-rw------- 1 u0_a559 u0_a559 221M Aug 27 10:50 file2
-rw------- 1 u0_a559 u0_a559 132M Aug 27 10:50 file3
إعجابَين (2)

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

إعجابَين (2)

بارك الله فيك علي هذا المقال المفصل ، هل ننتظر منك مقال اخر علي البديل الحديث exa أسوة بمقالي cat و bat :new_moon_with_face:

يوجد مقال هنا في المجتمع حول الأمر exa إن أحببت أن تلقي نظرة عليه:

حمدا لله أن أعجبك المقال وشكرا على تعليقك عليه أسعدني جدا أنا حقا أريد سماع الآراء عن المقالات لاني اهتم لأمرها فعلا

إعجاب واحد (1)

شكرا على تعليقك علي المقال أخي محمد
أسعدني أن مقالاتي السابقة نالت إعجابك شكرا.

شكرا على مثل هذه الإضافة للمقال
والتي تعد مقال آخر وليس مجرد إضافة :sweat_smile:

لم ألحظه ، شكرا لتنبيهي

إعجاب واحد (1)

بارك الله فيك ، العفو:blue_heart: