آموزش #لینوکس ‌ ⚡️می‌دونستین با find می‌شه فایل‌ها رو بر اساس اسم،…

#آموزش #لینوکس ‌ ⚡️می‌دونستین با 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

۱۴ آبان ۱۴۰۵ ۱۸۴