ساده ترین راه برای شمارش فایل ها در یک دایرکتوری این است که یک فایل در هر خط با ls لیست کنید و خروجی را برای شمارش خطوط به wc تغییر دهید:
ls -1U DIR_NAME | wc -l
دستور بالا به شما مجموعه ای از کلیه فایل ها ، از جمله دایرکتوری ها و لینک ها را می دهد. گزینه -۱ به این معنی است که یک فایل در هر خط لیست کنید و -U به ls می گوید خروجی را مرتب نکنید که اجرای دستور را سریعتر می کند. دستور ls -1U فایل های مخفی یا (dotfiles) را حساب نمی کند. اگر می خواهید فقط فایل ها را شمارش کنید و دایرکتوری ها را شامل نشوند از دستور زیر استفاده کنید:
ls -1Up DIR_NAME | grep -v / | wc -l
گزینه -p ls را مجبور می کند تا نشانگر اسلش (/) را به دایرکتوری ها اضافه کند. خروجی به دستور 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
آخرین خط خروجی تعداد کل فایل ها و دایرکتوری های لیست شده را نشان می دهد:
۱۵۱۴۴ directories, 91311 files
ما نحوه شمارش فایل ها در دایرکتوری ها را با استفاده از دستورات ls ، find و tree به شما نشان داده ایم.
امیدواریم مطالب مورد پسند بوده و از آن بهره لازم را برده باشید. خوشحال میشویم نظرات و سوالات خود را در قسمت دیدگاه به اشتراک بگذارید و ما را در شتابان هاست همراهی کنید.😊