كيفية الحصول على حجم الدليل في Linux

How Get Size Directory Linux



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

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







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



لذا ، فإن ls -s ليس مفيدًا للحصول على حجم الدليل. أي أمر إذن هو مفيد؟ - أمر du. du تعني استخدام القرص. يطبع استخدام القرص للدليل.



تشرح هذه المقالة الميزات المختلفة لأمر du في Linux ، والتي توفر طرقًا مختلفة للمبرمجين لمعرفة أحجام الدلائل والأدلة الفرعية الخاصة بها. Bash هي الصدفة المستخدمة في نماذج التعليمات البرمجية لهذه المقالة.





محتوى المادة

du بدون خيار أو حجة

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



ال

ثم الضغط على مفتاح Enter سيعرض استخدام القرص لجميع الدلائل الفرعية لدليل العمل الحالي. سيعرض هذه المعلومات للشجرة الفرعية لدليل العمل الحالي. تمثل نقطة على الشاشة دليل العمل الحالي.

يتم تمثيل كل مسار من مسار الشجرة الفرعية بخط على الشاشة. يبدأ كل سطر بحجم الدليل (وهو الاسم الأخير في المسار). قد تكون الشاشة مثل:

8./دير 1/دير 2/dir3/دير 4

12./دير 1/دير 2/dir3

16./دير 1/دير 2

عشرين./دير 1

لاحظ أنه ليس من الواضح ما إذا كان الحجم بالبايت أو بالكيلو بايت أو بالميجابايت أو الجيجابايت. كيلو بايت من الرمز ، K تعني 1024 بايت ؛ ميغا بايت من الرمز ، M تعني 1،048،576 بايت ؛ غيغابايت من الرمز ، G تعني 1،073،741،824 بايت. للإشارة إلى المضاعفات ، يجب استخدام الخيار -h (التبديل) ، على النحو التالي:

ال

ستبدو الشاشة بعد ذلك كما يلي:

8.0 ك./دير 1/دير 2/dir3/دير 4

12 ك./دير 1/دير 2/dir3

16 ألف./دير 1/دير 2

20 ألف./دير 1

عند استخدام الخيار -h ، يُقال أن الأحجام في شكل يمكن قراءته.

ملاحظة: مع الخيار –all ، يعطي أمر du أيضًا استخدام القرص للملفات ؛ ومع ذلك ، لن يتم تناول استخدام القرص للملفات في هذه المقالة.

حجم الدلائل الأخرى

المسار المطلق النموذجي لوحدة تخزين Linux هو كما يلي:

/الصفحة الرئيسية/يوحنا/قل/دير تو/ديرثري/dirFour

الأول / هو الدليل الجذر. يحتوي هذا الدليل على أدلة فرعية مباشرة ، بما في ذلك الدليل الرئيسي. يحتوي الدليل الرئيسي على دليل المستخدم. إذا كان اسم المستخدم هو John ، فيمكنه تسمية دليل المستخدم ، john. يتم تحديد دليل المستخدم بواسطة ~. لذلك ، يمكن للمستخدم استخدام الأمر cd ~ للوصول إلى دليله من أي دليل. dirOne هو دليل أنشأه المستخدم. يمكن للمستخدم أيضًا إنشاء أدلة أخرى على هذا المستوى. dirTwo و dirThree و dirFour هي أدلة فرعية لأدلةهم السابقة ، أنشأها المستخدم.

يمكن للمستخدم معرفة حجم أي دليل آخر والأدلة الفرعية (الشجرة الفرعية) من أي دليل ، متجاوزًا المسار المطلق كوسيطة. على سبيل المثال ، إذا كان استخدام القرص مطلوبًا ،

/الصفحة الرئيسية/يوحنا/قل/دير تو

ثم يكون الأمر:

ال /الصفحة الرئيسية/يوحنا/قل/دير تو

أو

ال ~/قل/دير تو

حيث يمثل ~ دليل المستخدم.

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

يوحنا@المضيف: ~/قل $

بمعنى أن المستخدم موجود في الدليل / home / john / dirOne ، فإن الأمر التالي سيعطي نفس نتيجة الأمر أعلاه:

ال دير تو

ستظل المسارات نسبية. لعرض نفس المعلومات للدليل الحالي ، لا تستخدم أي وسيطة ، أو استخدم النقطة.

يمكن استخدام هذا المخطط للحصول على حجم دليل واحد فقط ، وهو الأخير في المسار (مسبوقًا بالمسار). من الممكن الحصول على حجم الدليل في منتصف المسار - راجع استبعاد = PATTERN أدناه.

المبلغ الإجمالي

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

ال --المجموع

الحجم الظاهر

عادة ما يكون الحجم الظاهر أصغر من استخدام القرص. ومع ذلك ، في بعض الحالات ، يكون الحجم الظاهر أكبر من استخدام القرص ؛ السبب - انظر لاحقًا. سيكون الأمر للحصول على الأحجام الظاهرة للمسار النسبي أعلاه هو:

ال --حجم ظاهردير تو

أقصى عمق

باستخدام –max-deep = 0 ، تقوم du بطباعة حجم دليل العمل الحالي فقط ؛ باستخدام du –max-deep = 1 ، تقوم du بطباعة حجم دليل العمل الحالي وأحجام جميع الأدلة الفرعية ذات المستوى الأول ؛ باستخدام –max-deep = 2 ، تطبع du حجم دليل العمل الحالي وأحجام جميع الأدلة الفرعية من المستوى الأول وجميع الأدلة الفرعية من المستوى الثاني ؛ باستخدام –max-deep = 3 ، تطبع du حجم دليل العمل الحالي وجميع الأدلة الفرعية من المستوى الأول وجميع الأدلة الفرعية من المستوى الثاني وجميع الأدلة الفرعية من المستوى الثالث ؛ يستمر هذا مع زيادة قيمة الحد الأقصى للعمق. مثال على استخدامه هو:

ال --أقصى عمق=2

أمر sudo

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

ال /أين

ويضغط على Enter ، سيدرك أن الإذن مرفوض لبعض الدلائل. وهذا يعني أنه لا يمكنه معرفة أحجام بعض الدلائل. تم رفض الإذن لأن المستخدم ليس المستخدم المتميز. يتمتع المستخدم المتميز بامتياز رؤية أحجام (استخدام القرص) لتلك الأدلة. لذلك ، لكي يحصل المستخدم على هذا الامتياز ، يجب عليه استخدام الأمر sudo على النحو التالي:

سودو ال /أين

إذا طلبت shell من المستخدم إدخال كلمة المرور الخاصة به ، فيجب على المستخدم كتابة كلمة المرور والضغط على Enter. باستخدام الأمر sudo ، يمكن للمستخدم العادي (المبرمج) رؤية أحجام جميع المجلدات في مجلد var والأدلة المشابهة.

باستثناء الإدخالات حسب الحجم

لن يسمح الخيار –threshold = SIZE بإدراج الدلائل التي تقل أحجامها عن SIZE. للطريق ،

/الصفحة الرئيسية/يوحنا/قل/دير تو/ديرثري/dirFour

مع الموجه في[البريد الإلكتروني محمي]: ~ $ ثم

ال --عتبة= 12 ألف درهم

حيث يعني 12 كيلو بايت 12 كيلو بايت ، لن يتم عرض الخط لأي دليل يكون استخدام قرصه أقل من 12 كيلو بايت.

–استبعاد = نمط

يمكن لهذا الخيار والقيمة حذف أسطر الدليل التي لا يريدها المستخدم في القائمة.

لحذف السطر الخاص بالدليل الأخير ، dirFour للمسار

/الصفحة الرئيسية/يوحنا/قل/دير تو/ديرثري/dirFour

يجب أن يكون الأمر:

ال - استثناء= قل/دير تو/ديرثري/دير فور دير

ستكون النتيجة شيئًا مثل ،

4.0 كيلو درون/دير تو/ديرثري

8.0 كيلو درون/دير تو

12 كيلو درون

ملاحظة: لم تتضمن الأحجام حجم دليل المستوى الأخير (dirFour) للمسار.

للحصول على أحجام أدلة العمق العلوي والأشجار الفرعية الخاصة بها فقط ، لا تملك أدلة العمق الأقل في الخيار. مع الأمر ،

ال - استثناء= قل/دير تو/ديرثري دير

سيكون الإخراج شيئًا مثل ،

4.0 كيلو درون/دير تو

8 كيلو درون

ملاحظة: استبعدت الأحجام أحجام أدلة الرافعة السفلية للشجرة.

لننظر مرة أخرى في الرابط المطلق ،

/الصفحة الرئيسية/يوحنا/قل/دير تو/ديرثري/dirFour

سيحصل الأمر التالي على استخدام القرص لدليل dirTwo فقط ، وهو دليل داخل المسار. الأمر هو:

ال - استثناء=/الصفحة الرئيسية/يوحنا/قل/دير تو/ * /الصفحة الرئيسية/يوحنا/قل/دير تو

تحتوي الحجة على جميع الأدلة السابقة وصولاً إلى الدليل المعني. تحتوي قيمة الاستثناء على جميع الدلائل السابقة ، التي تنتهي بـ * ، بعد المجلد المعني مباشرةً. * تعني جميع الدلائل الفرعية في هذا المستوى (والأشجار الفرعية الخاصة بهم). ستكون النتيجة شيئًا مثل ،

5.0 ك/الصفحة الرئيسية/يوحنا/قل/دير تو

استنتاج

محاولة معرفة حجم الدليل باستخدام الأمر ls -s مضللة. مع ذلك ، يتم الحصول فقط على البيانات الوصفية للدليل. لمعرفة استخدام قرص الدليل ، يجب استخدام الأمر du. عند استخدامها مع الخيار -h ، تكون أحجام الدلائل قابلة للقراءة. يمكن الحصول على الحجم الظاهر باستخدام خيار الحجم الظاهري. بدون أي خيار وسيطة ، يعرض أمر du فقط أحجام جميع الدلائل الفرعية للدليل الحالي ، بما في ذلك المجلد الحالي. إن حجة du هي المسار الذي قد يبدأ من الجذر. تحدد الخيارات وبعض قيمها بالضبط أي الدلائل يتم تناولها. يمنح الأمر sudo للمستخدم العادي امتيازات المستخدم المتميز افتراضيًا.