دستور tree یک ابزار ساده و در عین حال بسیار کاربردی برای نمایش بصری ساختار دایرکتوریها بهصورت یک درخت (Tree) است. این دستور، دایرکتوریها و فایلها را بهصورت سلسلهمراتبی و با استفاده از خطوط و کاراکترهای خاص (مانند ├──، └── و │) نمایش میدهد که درک ساختار پوشهها را بسیار آسان میکند.
ساختار کلی:
tree [option] [directory...]
اگر دایرکتوری مشخص نشود، tree بهطور پیشفرض دایرکتوری فعلی را نمایش میدهد.
| گزینه | توضیح | مثال |
|---|---|---|
-d | فقط دایرکتوریها را نمایش بده (فایلها را نشان نده). | tree -d |
-L n | محدود کردن عمق نمایش به n سطح. | tree -L 2 |
-a | نمایش همه فایلها، از جمله فایلهای مخفی (شروع با .). | tree -a |
-f | نمایش مسیر کامل (Full path) برای هر آیتم. | tree -f |
-F | اضافه کردن کاراکترهای شناساییکننده (/ برای دایرکتوری، * برای فایلهای اجرایی و ...). | tree -F |
-P pattern | نمایش فقط آیتمهایی که با الگوی pattern مطابقت دارند. | tree -P "*.txt" |
-I pattern | حذف (نادیده گرفتن) آیتمهایی که با الگوی pattern مطابقت دارند. | tree -I "node_modules" |
-o filename | نوشتن خروجی در یک فایل بهجای صفحهنمایش. | tree -o output.txt |
-A | استفاده از کاراکترهای ASCII بهجای کاراکترهای یونیکد (برای نمایش بهتر در برخی ترمینالها). | tree -A |
-s | نمایش اندازه هر فایل بههمراه نام آن. | tree -s |
-h | نمایش اندازه بهصورت قابل خواندن برای انسان (Human-Readable) مانند 1K، 2M. | tree -h |
-D | نمایش تاریخ آخرین تغییر (Modification time) فایلها. | tree -D |
-u | نمایش نام مالک (Owner) فایلها. | tree -u |
-g | نمایش نام گروه (Group) فایلها. | tree -g |
-p | نمایش مجوزها (Permissions) فایلها. | tree -p |
tree
خروجی نمونه:
. ├── Documents │ ├── report.pdf │ └── project │ ├── src │ │ ├── main.py │ │ └── utils.py │ └── README.md ├── Downloads └── Pictures
tree -d
فقط پوشهها نمایش داده میشوند و فایلها نادیده گرفته میشوند.
tree -L 2
فقط ۲ سطح از درخت دایرکتوری نمایش داده میشود.
tree -a
فایلها و دایرکتوریهای مخفی (مانند .git، .bashrc و ...) نیز نمایش داده میشوند.
tree -h -D -u
-h: اندازهی قابل خواندن.
-D: تاریخ تغییر.
-u: نام مالک.
tree -P "*.py"
فقط فایلهای پایتون (با پسوند .py) را نمایش میدهد.
tree -I "node_modules|.git|__pycache__"
دایرکتوریهای node_modules، .git و __pycache__ را نادیده میگیرد (نمایش نمیدهد).
tree -o structure.txt
ساختار دایرکتوری در فایل structure.txt ذخیره میشود.
tree -I "node_modules|.git|__pycache__" -h -D --dirsfirst
--dirsfirst: دایرکتوریها را قبل از فایلها نمایش میدهد.
-I: نادیده گرفتن دایرکتوریهای خاص.
-h: اندازهی قابل خواندن.
-D: تاریخ تغییر.
.log در کل دایرکتوری (با عمق نامحدود)tree -P "*.log" -f
-f مسیر کامل را نشان میدهد.
tree -A
tree -p -u -g
-p: مجوزها.
-u: مالک.
-g: گروه.
درک سریع ساختار پروژه: tree برای توسعهدهندگان و مدیران سیستم بسیار مفید است تا بهسرعت ساختار یک پروژه یا سیستم را درک کنند.
مستندسازی: میتوانید خروجی tree را در مستندات پروژه قرار دهید تا ساختار پوشهها را توضیح دهید.
اشتراکگذاری: با استفاده از -o میتوانید خروجی را در یک فایل ذخیره کرده و با دیگران به اشتراک بگذارید.
عیبیابی: برای پیدا کردن سریع فایلهای گمشده یا بررسی ساختار دایرکتوریهای پیچیده.
ترکیب با سایر ابزارها: خروجی tree را میتوانید با grep فیلتر کنید یا با less مشاهده کنید:
tree | grep "pattern" tree | less
این محتوا کاملا رایگان توسط تیم کدلپر ترجمه شده و در اختیار شما کاربران عزیز قرار گرفته است، هر گونه کپی برداری برای مقاصد غیر رایگان و بدون ذکر منبع، مورد پیگیری قانونی قرار میگیرد.
ترجمه شده از منبع: منبع مستندات