خط فرمان لینوکس – وایلدکاردها
وایلدکاردها
پیش از اینکه استفاده از دستوراتمان را شروع کنیم، لازم است در مورد یک ویژگی شل (shell) صحبت کنیم که این دستورات را تا این حد قدرتمند میکند. از آنجایی که شل از نام فایلها بسیار استفاده میکند، کاراکترهای ویژه ای را فراهم میکند که به ما کمک میکند به سرعت گروههایی از نام های فایل را مشخص کنیم. به این کاراکترهای خاص وایلدکارد (Wildcard) میگویند. استفاده از وایلدکاردها (که با نام گلوبینگ یا globbing نیز شناخته میشود) به ما اجازه میدهد نام فایل ها را بر اساس الگوهایی از کاراکترها انتخاب کنیم. جدول 4-1 وایلدکاردها و آنچه انتخاب میکنند را فهرست میکند.
جدول 4-1: وایلدکاردها
وایلدکارد | معنی |
---|---|
* | با هر (تعداد) کاراکترهایی منطبق میشود |
? | با هر کاراکتر واحد منطبق میشود |
[characters] | با هر کاراکتری که عضوی از مجموعه characters باشد منطبق میشود |
[!characters] | با هر کاراکتری که عضوی از مجموعه characters نباشد منطبق میشود |
[[:class:]] | با هر کاراکتری که عضوی از دسته (یا کلاس) مشخص class باشد منطبق میشود |
جدول 4-2 متداولترین کلاس های کاراکتر را لیست میکند.
جدول 4-2: متداولترین کلاس های کاراکتر
کلاس کاراکتر | معنی |
---|---|
[:alnum:] | با هر کاراکتر حرف-عددی منطبق میشود |
[:alpha:] | با هر کاراکتر حرفی منطبق میشود |
[:digit:] | با هر عدد (رقم) ی منطبق میشود |
[:lower:] | با هر حرف کوچکی منطبق میشود |
[:upper:] | با هر حرف بزرگی منطبق میشود |
استفاده از وایلدکاردها امکان ساخت معیارهای انتخاب پیچیده برای نام فایل ها را فراهم میکند. جدول 4-3 مثال هایی از الگوها و آنچه منطبق میشوند ارائه میکند.
جدول 4-3: مثال های وایلدکارد
الگو | منطبق میشود |
---|---|
* | تمام فایل ها |
g* | هر فایلی که با “g” شروع میشود |
b*.txt | هر فایلی که با “b” شروع میشود و به دنیال آن هر کاراکتری میآید و به “.txt” ختم میشود |
Data??? | هر فایلی که با “Data” شروع میشود و دقیقا سه کاراکتر پس از آن میآید |
[abc]* | هر فایلی که با “a”, “b” یا “c” شروع میشود |
BACKUP.[0-9][0-9][0-9] | هر فایلی که با “BACKUP.” شروع میشود و دقیقا سه رقم بعد از آن میآید |
[[:upper:]]* | هر فایلی که با یک حرف بزرگ شروع میشود |
[![:digit:]]* | هر فایلی که با یک عدد شروع نمیشود |
*[[:lower:]123] | هر فایلی که به یک حرف کوچک یا اعداد “1”, “2” یا “3” ختم میشود |
وایلدکاردها را میتوان با هر دستوری که نام فایلها را به عنوان آرگومان میپذیرد استفاده کرد، اما ما در فصل 7 “مشاهده دنیا به همان شکلی که شل آن را میبیند” بیشتر در مورد آن صحبت خواهیم کرد.
بازه های کاراکتر
اگر از محیط شبیه-یونیکس دیگری آمدهاید یا کتابهای دیگری در این زمینه خواندهاید، ممکن است با نشانهای بازه کاراکتر [A-Z] و [a z] روبرو شده باشید. اینها نشانهای سنتی یونیکس هستند و در نسخه های قدیمی لینوکس نیز کار میکردند. آنها هنوز هم میتوانند کار کنند، اما شما باید مراقبشان باشید، زیرا این (نشان) ها نتایج مورد انتظار را ایجاد نمیکنند مگر اینکه به درستی پیکربندی شده باشند. در حال حاضر، باید از استفاده از آنها خودداری کنید و به جای آن از کلاس های کاراکتر استفاده کنید.
وایلدکاردها در GUI هم کار میکنند
ارزش ویژه وایلدکاردها فقط به دلیل استفاده فراوان از آنها در خط فرمان نیست، بلکه به این دلیل هم هست که توسط برخی فایل منیجر (مدیر فایل یا file manager) های گرافیکی نیز پشتیبانی میشوند.
- در Nautilus (فایل منیجر GNOME)، میتوانید فایل ها را با استفاده از آیتم منوی Edit/Select Pattern انتخاب کنید. کافیست یک الگوی انتخاب فایل با وایلدکاردها وارد کنید و فایل ها در دایرکتوری نمایش داده شده فعلی برای انتخاب، هایلایت (یا برجسته) میشوند.
- در برخی از نسخههای Dolphin و Konqueror (فایل منیجرهای KDE)، میتوانید وایلدکاردها را به طور مستقیم در نوار آدرس وارد کنید. برای مثال، اگر میخواهید تمام فایلهایی را مشاهده کنید که با حرف کوچک “u” در دایرکتوری /usr/bin شروع میشوند، “/usr/bin/u*” را در نوار آدرس وارد کنید تا نتیجه را نمایش دهد.
ایدههای فراوانی که اصالتا در رابط خط فرمان پیدا میشوند، راه خود را به رابط گرافیکی نیز باز میکنند. این یکی از چیزهای فراوانی است که دسکتاپ لینوکس را آنقدر قدرتمند میکند.
متن بالا بخشی از ترجمه کتاب The Linux Command Line (به فارسی: خط فرمان لینوکس) نوشته William Shotts است که نسخه اصلی آن از طریق وبسایت رسمی کتاب (https://linuxcommand.org) قابل دسترسی است. (فهرست مطالب کتاب خط فرمان لینوکس).