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.
1.7 KiB
1.7 KiB
درسنامه ۲-۹: وایلدکاردها (Wildcards) در شل
وایلدکاردها برای انتخاب گروهی از فایلها مفیدند.
الگوهای متداول
*هر رشتهای (حتی خالی)?دقیقاً یک کاراکتر[abc]یکی از حروف داخل براکت[0-9]یک رقم در بازه- آکلاد
{}(Brace expansion) برای تولید الگوها
مثالها
ls *.txt # همهٔ txt
rm -i *.tmp # حذف تعاملی فایلهای موقت
mv photo_??.jpg pics/ # فایلهایی با دو رقم
touch report_{v1,v2}.md # تولید دو فایل v1 و v2
mkdir -p logs/{app,db}/2024/{10,11}
نکته: قبل از دستورات مخرب مثل rm همیشه ابتدا الگو را با ls بررسی کنید.
تمرین کوتاه
- چند فایل نمونه بسازید و با الگوها آنها را جابهجا یا حذف کنید.
نکات و مثالهای بیشتر
-
الگوهای ترکیبی و نفی:
ls *.log *.txt ls *.[ch] # همهٔ .c و .h ls !(tmp|bak) # نیازمند extglob: shopt -s extglob -
گسترش آکلاد برای بازهها:
touch file_{01..05}.txt -
تست امن قبل از rm:
ls pattern* # بررسی نتیجهٔ الگو rm -i pattern* # حذف تعاملی
خطاهای رایج
- فراموشکردن فعالسازی extglob برای الگوهای پیشرفتهٔ
!(). - فرضگرفتن اینکه الگوها در نقلقول هم گسترش مییابند؛ داخل نقلقول معمولاً گسترش انجام نمیشود.