99fb7f0e82
- Created a new sitemap.xml file for better SEO. - Added a compressed version of the sitemap as sitemap.xml.gz. - Introduced extra.css for custom styles, including Persian font support (IRANSansX). - Defined font-face rules for regular and bold styles of IRANSansX. - Implemented various text styles and layout adjustments for better readability. - Enhanced Mermaid diagram styles to support Persian text rendering.
54 lines
1.8 KiB
Markdown
54 lines
1.8 KiB
Markdown
# درسنامه ۲-۸: جستوجوی فایلها با find
|
|
|
|
`find` فایلها/پوشهها را بر اساس نام، نوع، اندازه، زمان و ... پیدا میکند.
|
|
|
|
## مثالهای کاربردی
|
|
```
|
|
find . -type f -name "*.log" # همهٔ فایلهای log
|
|
find ~ -type d -name "venv" # دایرکتوریهای venv
|
|
find /var/log -type f -size +5M # بزرگتر از ۵ مگابایت
|
|
find . -type f -mtime -7 # تغییر کرده در ۷ روز گذشته
|
|
```
|
|
|
|
## اجرای فرمان روی نتایج
|
|
```
|
|
find . -type f -name "*.tmp" -delete
|
|
find . -type f -name "*.txt" -exec wc -l {} +
|
|
```
|
|
|
|
نکته: از `-exec ... {} +` برای اجرای گروهی استفاده کنید (بهتر از `\;`).
|
|
|
|
## تمرین کوتاه
|
|
- همهٔ فایلهای `.sh` را پیدا کنید و تعداد خطوط هرکدام را بشمارید.
|
|
- تمام فایلهای حجیمتر از ۱۰MB در Downloads را بیابید.
|
|
|
|
## نکات و مثالهای بیشتر
|
|
- ترکیب چند شرط:
|
|
|
|
```
|
|
find . -type f -name "*.log" -mtime -3 -size +1M
|
|
```
|
|
|
|
- فیلتر بر اساس دسترسیها و مالک:
|
|
|
|
```
|
|
find . -type f -perm 0644 -user $USER
|
|
```
|
|
|
|
- چاپ فقط نام فایل یا مسیر نسبی/مطلق:
|
|
|
|
```
|
|
find . -type f -printf "%f\n"
|
|
find . -type f -printf "%p\n"
|
|
```
|
|
|
|
- اجرا با `xargs` برای کارایی بیشتر:
|
|
|
|
```
|
|
find . -type f -name "*.txt" -print0 | xargs -0 wc -l
|
|
```
|
|
|
|
## خطاهای رایج
|
|
- استفاده از `-exec ... \;` برای تعداد زیادی فایل؛ در صورت امکان از `+` استفاده کنید.
|
|
- نداشتن نقلقول دور الگوها و گسترش ناخواسته توسط شل.
|