#آموزش #لینوکس ⚡️میدونستین با find میشه فایلها رو بر اساس اسم، حجم یا تاریخ تغییر پیدا کرد؟ دستور find از پوشهای که بهش میدید شروع میکنه و همهٔ زیرپوشهها رو هم میگرده. مثلاً همهٔ فایلهای لاگ پروژه: find . -name "*.log" خروجی: ./logs/old.log ./logs/big.log ./logs/app.log نقطه یعنی «از همین پوشه». الگو رو حتماً توی کوتیشن بذارید تا شل خودش ستاره رو باز نکنه. ترتیب خروجی ممکنه روی سیستم شما فرق کنه. ✔️پیدا کردن فایلهای حجیم گزینهٔ -type f یعنی فقط فایل (نه پوشه) و -size +1M یعنی بزرگتر از ۱ مگابایت: find . -type f -size +1M خروجی: ./logs/big.log بهجای M میتونید k (کیلوبایت) یا G (گیگابایت) هم بنویسید. برای دیدن حجم هر فایل، du رو به آخر دستور اضافه کنید: find . -type f -size +1M -exec du -h {} + خروجی: 2.0M ./logs/big.log 💎فایلهای قدیمی با -mtime گزینهٔ -mtime +7 یعنی فایلهایی که بیشتر از ۷ روزه تغییر نکردن (بهخاطر گرد شدن روزها، عملاً ۸ روز و بیشتر) و -mtime -1 یعنی فایلهایی که توی ۲۴ ساعت گذشته تغییر کردن: find . -name "*.log" -mtime +7 خروجی: ./logs/old.log اینجا old.log ده روز پیش تغییر کرده و بقیهٔ فایلها همین الان ساخته شدن. ⚠️قبل از -delete حتماً لیست رو ببینید اول دستور رو بدون -delete اجرا کنید و وقتی لیست درست بود، -delete رو به آخرش اضافه کنید: find . -name "*.log" -mtime +7 -delete find . -name "*.log" خروجی: ./logs/big.log ./logs/app.log فقط old.log پاک شد. طبق مستندات find، اگه -delete رو اول دستور بنویسید، find سعی میکنه همهچیزِ زیر پوشهٔ شروع رو پاک کنه؛ پس جاش همیشه آخر دستوره. ▫️ برای جستوجو بدون حساسیت به حروف بزرگ و کوچک، بهجای -name از -iname استفاده کنید: find src -iname "*.py" خروجی: src/Utils.PY src/main.py ▫️ برای امتحان، این پوشهٔ نمونه رو بسازید و دستورهای بالا رو همونجا اجرا کنید: mkdir -p demo/logs demo/src cd demo echo "error" > logs/app.log echo "ok" > logs/old.log touch -d "10 days ago" logs/old.log head -c 2M /dev/zero > logs/big.log echo "print(1)" > src/main.py echo "print(2)" > src/Utils.PY آموزش هوش مصنوعی و برنامه نویسی 👇 @codingyar وبسایت آموزشی: www.codingyar.com
آموزش #لینوکس ⚡️میدونستین با find میشه فایلها رو بر اساس اسم،…
۱۴ آبان ۱۴۰۵ ۱۸۴