5 طرق لحساب عدد الملفات في دليل على لينكس

النقاط الرئيسية

  • يقوم الأمر “ls” في Linux بإدراج الملفات والدلائل. يؤدي توجيهه إلى “wc -l” إلى إحصاء إجمالي الملفات والدلائل، بما في ذلك الملفات المخفية.
  • يعرض الأمر “tree” بنية الدليل بالكامل بشكل متكرر ويلخص عدد الملفات في النهاية. يؤدي إضافة الخيار “-a” إلى عرض الملفات المخفية أيضًا.
  • يمكن لأمر “find” مع خيارات مثل -type و-mindepth و-maxdepth عد الملفات والدلائل بشكل متكرر. استخدم “-type f” لعد الملفات فقط، و”-type d” لعد الدلائل فقط.



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


لماذا نحتاج إلى حساب عدد الملفات على لينكس؟

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

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


عد الملفات والدلائل بما في ذلك الملفات المخفية باستخدام الأمر wc

على لينكس، ls يمكن للأمر سرد جميع الملفات والدلائل. هذا الأمر عندما يتم توصيله بـ (|) مع wc يؤدي الأمر إلى إظهار العدد الإجمالي للملفات والدلائل بما في ذلك المجلد المخفي.

قبل أن نبدأ في الانتقال إلى عد الملفات، دعنا نسرد الملفات الفعلية الموجودة في الدليل ~/HTG باستخدام ls الأمر. لدينا هنا إجمالي عشرة ملفات تتضمن أربعة أدلة فرعية داخل الدليل الرئيسي ~/HTG. يوجد ملف مخفي، بالإضافة إلى ملف نصي واحد، وأربعة ملفات اختبار.

جميع الملفات والدلائل المدرجة

لإدراج الملفات، يوصى باستخدام
ls -A
بدلاً من
ls -a
. ال
ls
الأمر مع
-a
يتضمن الخيار الإدخالات الخاصة—(.) الدليل الحالي و(..) الدليل الرئيسي. ويؤدي هذا إلى زيادة إجمالية في عدد الملفات.


لحساب عدد الملفات والدلائل انتقل أولاً إلى الدليل وقم بتنفيذ الأمر التالي:

ls | wc -l

أمر ls يعرض جميع الدلائل باستثناء الدلائل المخفية

أولا، ls يسرد الأمر جميع الملفات والدلائل الموجودة في الدليل ~/HTG دون أي خيارات تنسيق. الناتج هو ls يتكون من قائمة بسيطة من أسماء الملفات والدليل، مع كل اسم على سطر منفصل.

لحساب الملفات المدرجة بواسطة ls الأمر، نقوم بتوجيه (|) مخرجاته إلى wc -l يقوم الأمر wc بحساب هذه الملفات المدرجة ويخرج عدد الملفات. تذكر أن هذا الأمر ينتج تسعة ملفات لأنه لا يتضمن ملفًا مخفيًا واحدًا موجودًا في الدليل ~/HTG.


لدينا خيارات مختلفة لاستخدامها مع ls الأمر. على سبيل المثال، ls -l قائمة الملفات والدلائل الموجودة في الدليل الحالي باستخدام تنسيق القائمة الطويلة (-l)إنه يوفر معلومات مفصلة حول كل ملف، بما في ذلك الأذونات والمالك والحجم وتاريخ التعديل.

ls -l | wc -l

استخدام الأمر ls مع تنسيق القائمة الطويلة

لا يتضمن هذا الأمر الملفات المخفية، ولكنه يتضمن إدخالاً للدليل نفسه (يمثله .) بتنسيق القائمة الطويلة—وهو في هذه الحالة دليل ~/HTG. ونتيجة لذلك، فإنه يزيد العدد الإجمالي بمقدار واحد.

إذا كنت تريد عددًا ثابتًا بغض النظر عن تنسيق القائمة، فيمكنك استخدام الخيار -A مع ls لاستبعاد الإدخالات الخاصة (.) الدليل الحالي و(..) الدليل الرئيسي، عند العد:


ls -A | wc -l

أمر ls يعرض جميع الملفات بما في ذلك الملفات المخفية

يجب أن يوفر هذا نفس العدد مثل ls -l الأمر. الناتج هو 10 لأن هذا الأمر يتضمن أيضًا ملفًا مخفيًا واحدًا.

إذا كنت تريد أمرًا يتضمن الملفات المخفية والدليل الرئيسي (..) والدليل الحالي (.) في العدد الإجمالي، فاستخدم ls -a الخيار مع wc يأمر.

ls -a | wc -l

أمر قائمة ls مع كافة خيارات القائمة

ذات صلة: كيفية استخدام الأمر wc في Linux


حساب عدد الملفات والمجلدات باستخدام أمر الشجرة

لحساب عدد الملفات والدلائل في جميع الدلائل الفرعية، يمكنك استخدام tree يقوم الأمر tree بطباعة بنية الدليل بالكامل بشكل متكرر ويعرض ملخصًا في نهاية الإخراج.

 tree

رسم شجرة الدليل الحالي

قد تجد خطأ في فقدان أمر الشجرة، لحل هذه المشكلة قم بتثبيت أمر الشجرة باستخدام:

لمضيفي Ubuntu / Debian: sudo apt install tree لمضيفي CentOS / RHEL: sudo yum install tree

افتراضيًا، لا يقوم أمر الشجرة بطباعة الملفات المخفية. لعرض الملف المخفي، استخدم -a الخيار مع أمر الشجرة:

tree -a


أمر الشجرة مع خيار مخفي

الآن تم إدراج كافة الملفات وإحصائها بما في ذلك الملفات المخفية.

ذات صلة: كيفية التنقل عبر شجرة الدليل على Linux

عد الملفات بشكل متكرر باستخدام الأمر find

أمر البحث في لينكس مع خياراته المتنوعة، مثل -type, -mindepth، و -maxdepthيمكن أن يساعد ذلك في إجراء عد متكرر بسهولة. فهو يحدد العدد الإجمالي للعناصر في بنية الدليل دون الحاجة إلى التنقل يدويًا إلى كل دليل فرعي وحسابها واحدًا تلو الآخر.

find   | wc -l

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

لحساب جميع الإدخالات (الملفات والمجلدات) داخل دليل استخدم:

find HTG | wc -l


أمر لإدراج جميع الملفات في الدليل الحالي

يقوم هذا الأمر أيضًا بحساب الدليل الحالي والذي في هذه الحالة هو ~/HTG—يؤدي ذلك بشكل عام إلى زيادة نتيجة البحث بمقدار واحد.

يتضمن أمر البحث دون أي شروط محددة كلًا من الملفات العادية والمخفية في بحثه بشكل افتراضي.

لحساب الملفات فقط استخدم:

find HTG -type f | wc -l

أمر لحساب جميع الملفات

لحساب الدلائل التي تتضمن الدليل الحالي فقط، في هذه الحالة ~/HTG، استخدم:


find HTG -type d | wc -l

أمر لإدراج وحساب جميع الدلائل

يمكن لأمر البحث أيضًا البحث عن الملفات التي تطابق أنماطًا معينة (“.txt”، “.pdf”، “.sh”):

find . -type f -name "*.txt" | wc -l

أمر للبحث عن ملفات نصية

يقوم هذا الأمر بإخراج عدد الملفات الموجودة في الدليل الحالي والتي تنتهي بالامتداد “.txt”.

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


رفض إذن المجلد

بإمكانك استخدام تقنية تسمى “إعادة توجيه الإخراج” لإعادة توجيه رسائل الخطأ هذه.

find /etc -type f 2> /dev/null | wc -l

خطأ رفض الإذن إلى الصفر

يمكننا أيضًا تعديل نتيجة البحث باستخدام خياري “min depth” و”max depth”.

find HTG -mindepth 1 -maxdepth 1 | wc -l

خيارات للبحث من داخل الدليل الحالي


في هذه الحالة، -mindepth 1 يعني أن البحث يبدأ بعمق أدنى يبلغ 1، متخطيًا الدليل الجذر نفسه ويبدأ البحث في الدلائل الفرعية المباشرة له.

ال -maxdepth 1 يجري الخيار البحث على عمق أقصى يبلغ 1. ولا يستكشف الدلائل الفرعية للدلائل الفرعية المباشرة.

ذات صلة: كيفية استخدام الأمر find في Linux

عد الملفات في دليل Linux باستخدام برنامج نصي Bash

في Linux، يمكن لنصوص Bash أتمتة المهام المتكررة. وينطبق الأمر نفسه هنا، حيث يمكننا كتابة نص Bash وتحديد دليل لحساب الملفات الموجودة فيه.

تستخدم نصوص bash المعطاة أمر find مع wc لحساب جميع الملفات في الدليل ~/HTG. عند تنفيذ هذا النص، ينتج 11 لأنه يحسب أيضًا الدليل الحالي، مما يزيد النتيجة بمقدار واحد.

#!/bin/bash
dir="HTG"
count=$(find "$dir"; | wc -l)
echo "There are $count files in the $dir directory."
تم تنفيذ إخراج Bashscript بـ 11 ملفًا


كما هو موضح في أمر البحث، لاستبعاد الدلائل الخاصة من العدد النهائي، أضف -mindepth 1 خيار لأمر البحث.

عد الملفات باستخدام واجهة المستخدم الرسومية

إن عد الملفات على Linux باستخدام واجهة سطح المكتب مثل KDE أو GNOME أمر سهل للغاية! فهو يشبه عد الملفات على Windows.

افتح الدليل أو المجلد الذي تريد التحقق منه بالانتقال إلى قائمة النشاط أو استخدام الدليل “الرئيسي”.

تم فتح دليل العمل باستخدام واجهة المستخدم الرسومية

انقر بزر الماوس الأيمن على المجلد واختر خيار “خصائص”.

تم فتح خصائص دليل العمل


تظهر نافذة جديدة تُظهر العدد الإجمالي للعناصر الموجودة في المجلد.

عرض عدد الملفات في الدليل الحالي

تذكر أن هذه الطريقة تعرض فقط العدد الإجمالي لجميع العناصر (مثل “ملفات النصوص” وملفات “.sh” و”الدلائل”) ولا تحسب الملفات الفردية. على الأقل، لا يقوم متصفح الملفات الافتراضي Nautilus في Ubuntu بذلك، ولكن متصفحات أخرى، مثل Dolphin Browser، تعرض لك المزيد من البيانات.

التحقق من الأذونات اللازمة لحساب عدد الملفات

أثناء تنفيذ كل هذه الأوامر، تأكد من حصولك على الأذونات اللازمة للمجلد العامل. اكتب “sudo” قبل الأمر إذا واجهت خطأ في الأذونات. كما يجب عليك التحقق من بناء جملة الأمر في حالة مواجهة أي أخطاء. للحصول على أقصى استفادة من هذه الأوامر، راجع أدلة المساعدة الخاصة بها باستخدام الأمر “man”.


أضف تعليق