بعضی مواقع باید بدانید که چند فایل در یک فهرست مشخص وجود دارد. به عنوان مثال ، اگر در سیستم لینوکس خود کمبود inode دارید ، باید پیدا کنید که کدام فهرست شامل هزاران یا میلیون ها فایل است.در این مقاله ، ما چندین روش مختلف برای نحوه شمارش Files یک فهرست در Linux به شما ارائه خواهیم داد.
ساده ترین راه برای شمارش فایل ها در یک فهرست این است که یک فایل در هر خط با ls لیست کنید و خروجی را برای شمارش خطوط به wc تغییر دهید:
ls -1U DIR_NAME | wc -l
دستور بالا به شما مجموعه ای از کلیه فایل ها ، از جمله دایرکتوری ها و لینک ها را می دهد. گزینه -1 به این معنی است که یک فایل در هر خط لیست کنید و -U به ls می گوید خروجی را مرتب نکنید که اجرای command را سریعتر می کند.دستور ls -1U فایل های مخفی یا (dotfiles) را محاسبه نمی کند.اگر می خواهید فقط فایل ها را بشمارید و فهرست ها را شامل نشوید ، از موارد زیر استفاده کنید:
ls -1Up DIR_NAME | grep -v / | wc -l
گزینه -p ls را مجبور می کند تا نشانگر slash (/) را به دایرکتوری ها اضافه کند. خروجی به دستور grep -v منتقل می شود که فهرست ها را حذف نمی کند.برای اینکه کنترل بیشتری بر روی فایل های لیست شده داشته باشید ، از دستور find به جای ls استفاده کنید:
find DIR_NAME -maxdepth 1 -type f | wc -l
گزینه -type f به find دستور میدهد که فقط فایل ها (از جمله dotfiles) را لیست می کند و -maxdepth 1 محدودیت جستجو را در فهرست سطح اول دارد.
برای شمارش مجدد فایل ها ، دستور find را به صورت زیر اجرا کنید:
find DIR_NAME -type f | wc -l
دستور دیگری که می تواند برای شمارش فایل ها مورد استفاده قرار گیرد tree است که محتویات فهرست ها را به صورت درخت مانند لیست می کند:
tree DIR_NAME
آخرین خط خروجی تعداد کل فایل ها و فهرست های فهرست شده را نشان می دهد:
15144 directories, 91311 files
ما به شما نشان دادیم که چگونه با استفاده از دستورات ls ، find و tree تعداد فایل ها را در دایرکتوری شمارش کنید.
امیدواریم مطالب مورد پسند بوده باشد.
ما را در شتابان هاست همراهی کنید.