အဘယ်အရာကို Linux ကို Metacharacters Are ယင်းတို့ကိုသင်မည်သို့အသုံးပြုပါပါနဲ့

ဝီကီပီးဒီးယားအညီ, metacharacter မဆိုထိုကဲ့သို့သောကာရက် (^) အဖြစ်အထူးအဓိပ်ပာယျရှိကွောငျးဇာတ်ကောင်, ဒေါ်လာစျေးနိမိတ်လက္ခဏာကို ($) သို့မဟုတ်တစ်ခရေပွင့ (*) ဖြစ်ပါသည်။

Linux ကို၏စည်းကမ်းချက်များ၌ဤ metacharacters နှင့်၎င်းတို့၏အဓိပ္ပါယ်များတဲ့တရားမျှတတဲ့အရေအတွက်ကပေးသောအမိန့်တော်ရှိဒါမှမဟုတ်သင်အပြေးနေကြသည်အစီအစဉ်ကိုပေါ် မူတည်. အဲဒီမှာကွဲပြားနေကြသည်။

တစ်ဦးက Metacharacter အမျှအဆိုပါအပြည့်အဝရပ်တန့် (။ )

နှိမ့်ချအပြည့်အဝမှတ်တိုင်ကဲ့သို့သောပညတ်တော်တို့ကိုအပြေးလာသောအခါလက်ရှိအနေအထားလှူဒါန်းရာတွင်အသုံးပြုသည် cd , ရှာတွေ့ သို့မဟုတ် sh ပေမယ်ကဲ့သို့သော application များကိုအတွင်း awk , grep နှင့် sed ကြောင့်မည်သည့်ဇာတ်ကောင်ဖျောညှနျးကိုအသုံးပြုသည်။

ဥပမာတစ်ခုအဖြစ်အောက်ပါ command ကိုလက်ရှိ folder ထဲမှာအောက်တွင်အားလုံး mp3, files တွေကိုရှာတွေ့ပါလိမ့်မယ်။

ရှာပါ။ -name * .mp3

သငျသညျအလုပ်မလုပ် directory ကို (PWD) ကိုတင်ပြသင်သည်အတွက် command ကို run လျှင်သင်ဖြစ်နိုင်ရလဒ်များကိုသင်သည်သင်၏နေအိမ်ဖိုင်တွဲအတွင်းဂီတ folder ထဲမှာသင့်ရဲ့ mp3, files တွေကိုစောင့်ရှောက်ယူဆပြန်ရောက်ရလိမ့်မယ်။

အခုတော့ဒီ command ကိုကြည့်:

ps -ef | grep f..efox

အဆိုပါ ps command ကိုစာရင်းသင်၏ကွန်ပျူတာပေါ်မှာရှိသမျှ running ဖြစ်စဉ်များ။ အဆိုပါ grep command ကိုတစ်ပုံစံများအတွက် input နှင့်ရှာဖွေမှုလိုင်းများကြာပါသည်။

ထို့ကြောင့် command ကို -ef အဆိုပါ ps ဖြစ်စဉ်များ running များစာရင်းကိုရရှိသွားတဲ့အဘယ်မှာရှိသနည်း f..efox သောစာရင်းထဲတွင်မဆိုလိုင်းအဘို့ရှာဖွေပေးသော grep ကပေးသည်။ မည်သည့်ဇာတ်ကောင်ဆိုလိုနိုင်ပါ။

သငျသညျ firefox ကိုပြေးရှိပါကသင်တစ်ဦးပွဲစဉ်အရပါလိမ့်မယ်။ သငျသညျ fonefox သို့မဟုတ် freefox running လို့ခေါ်တဲ့အစီအစဉ်ကိုရှိပါကအလားတူပင်သူတို့ကလည်းပြန်ရောက်လိမ့်မည်။

တစ်ဦး metacharacter (*) အဖြစ်အဆိုပါခရေပွင့

အဆိုပါခရေပွင့တစ်ဦးထက်ပိုတစ်ကမ္ဘာလုံးအတိုင်းအတာလူသိများတဲ့ metacharacter သည်နှင့်တစ်ဦးပုံစံကိုရှာဖွေနေ 0 င်သို့မဟုတ်ထိုထက်ပိုသည့်အခါဆိုလိုအသုံးပြုသည်။

ဥပမာ:

ရှာပါ။ -name * .mp3

အဆိုပါ * .mp3 .mp3 အတွက်အဆုံးသတ်ဆိုဖိုင်အမည်များအတွက်ပွဲစဉ်ပြန်လည်ရောက်ရှိ။ အလားတူပဲငါအောက်ပါပြပွဲအဖြစ် grep Command ဖြင့်ခရေပွင့အသုံးပွုနိုငျ:

ps -ef | grep က F * efox

ဒါဟာခရေပွင့သုညသို့မဟုတ်ထိုထက်ပိုဒီတော့အဖြစ် Firefox, facefox ကြောင့်လည်း flutefox, ferretfox နှင့်ပင်ပဲ fefox ရှာတှေ့နိုငျ fonefox ရှာဖွေတာကိုဆိုလိုတယ်ဘာဖြစ်လို့လဲဆိုတော့ဒီအနည်းငယ်ကွာခြားကြောင်းသတိပြုသင့်ပေသည်။

တစ်ဦးက Metacharacter အမျှအဆိုပါ Carat (^)

အဆိုပါကာရက် (^) တစ်လိုင်းရဲ့ start တစ်ခုသို့မဟုတ် string ကိုဖျောညှနျးကိုအသုံးပြုသည်။ ဒါကြောင့်ဘယ်လိုသုံးထားသလဲ?

အဆိုပါ ls command ကိုအောက်မှာဖော်ပြထားတဲ့အတိုင်း folder ထဲမှာဖိုင်တွေအားလုံးကိုစာရင်းပြုစုရန်အသုံးပြုသည်:

ls

သငျသညျထိုကဲ့သို့သောထို့နောက်ကာရက်ကြောင့် string ကိုသတ်မှတ်ဖို့အသုံးပြုနိုင်ပါတယ် "gnome" အဖြစ်တစ်ဦးအချို့သော string ကိုအတူကစတင်ခဲ့သည်သော folder ထဲမှာဖိုင်တွေအားလုံးကိုသိလိုလျှင်။

ဥပမာ:

ls | grep ^ gnome

ဒီသာ gnome နှင့်အတူစတင်ဖိုင်တွေကို lists သတိပြုပါ။ သငျသညျဘယ်နေရာမှာမဆိုဖိုင်အမည်တစ်ခု gnome ရှိသည်သောဖိုင်များကိုချင်လျှင်သင်သည်နောက်တဖန်ပြန်ခရေပွင့ပြန်ပြောင်းမယ်။

အထက်ပါဥပမာထဲမှာ, ls filename များစာရင်းကိုပြန်လည်ရောက်ရှိနှင့်ပုံစံကိုက်ညီခြင်းအတွက်အသုံးပြုထားတဲ့ grep မှစာရင်းဖြတ်သန်းပါတယ်။ grep သည့်ကာရက်သင်္ကေတတစ်ခုကိုအပြီးလာသောဇာတ်ကောင်နှင့်အတူစတင်သည်နှင့်ဤအမှု၌, တက gnome ကြောင်းဘာမှကိုရှာဖွေဆိုလိုတယ်သိတယ်။

တစ်ဦးက Metacharacter အမျှအဆိုပါဒေါ်လာသင်္ကေတ ($)

ဒေါ်လာစျေးသင်္ကေတကို Linux အတွင်း metacharacter အဖြစ်မျိုးစုံအဓိပ္ပါယ်များရှိနိုင်ပါသည်။

ပုံစံများကိုက်ညီစေရန်အသုံးပြုသည့်အခါကကာရက်ဖို့ဆန့်ကျင်ဘက်ကိုဆိုလိုသည်နှင့်အထူးသဖြင့် string ကိုအတူကုန်ဆုံးမဆိုပုံစံဆိုလိုသညျ။

ဥပမာ:

ls | grep png $

ဤသည် png နှင့်အတူအဆုံးသတ်ရန်သောသူအပေါင်းတို့သည်ဖိုင်တွေစာရင်းပြုလုပ်ထားသည်။

ဒေါ်လာစျေးသင်္ကေတကိုလည်းကား Bash shell ကိုအတွင်းပတ်ဝန်းကျင် variable တွေကိုဝင်ရောက်ဖို့အသုံးပြုသည်။

ဥပမာ:

ပို့ကုန်ခွေး = Molly
$ ခွေးပဲ့တင်သံ

အဆိုပါလိုင်းပို့ကုန်ခွေး = Molly ခွေးကိုခေါ်ကာပတ်ဝန်းကျင် variable ကိုဖန်တီးပေးနှင့် Molly ရန်၎င်း၏တန်ဖိုးကိုသတ်မှတ်။ ပတ်ဝန်းကျင် variable ကိုဝင်ရောက်ဖို့အတွက် $ သင်္ကေတကိုအသုံးပြုသည်။ အဆိုပါ $ သင်္ကေတနှင့်အတူပဲ့တင်သံ $ ခွေးကြေညာချက် Molly ပြသပေမယ့်ပြင်, ပဲ့တင်သံခွေးကြေညာချက်ရုံစကားလုံးခွေးဖော်ပြပေးမှာဖြစ်ပါတယ်။

ထွက်ပြေးလာသူ Metacharacters

တစ်ခါတစ်ရံသင် metacharacter အထူးအဓိပ်ပာယျချင်ကြဘူး။ သင်သည်အဘယ်သို့ f.refox ဟုခေါ်တွင်ဖိုင်တစ်ဖိုင်နဲ့ firefox ကိုခေါ်ဖိုင်တစ်ခုရှိပါက။

အခုတော့အောက်ပါ command ကိုကြည့်:

ls | grep f.refox

သငျသညျပြန်ရောက်နေသည်ဘယ်လိုထင်သလဲ သူတို့နှစ်ဦးစလုံးပုံစံကိုက်ညီသောကွောငျ့ f.refox နှင့် firefox ကိုနှစ်ဦးစလုံးပြန်ရောက်နေကြသည်။

သာသင်ကအောက်ပါအတိုင်းအမှန်တကယ်အပြည့်အဝရပ်တန့်ဆိုလိုမှအပြည့်အဝမှတ်တိုင်မှလွတ်မြောက်ရန်လိုအပ်မယ်လို့ f.refox ပြန်လာရန်:

ls | grep, f \\ ။ refox

ဘုံ Metacharacters ပြီးတော့သူတို့ဆိုလို

Linux ကို Metacharacters ၏စာရင်း
ဇာတ်ကောင် အဓိပ်ပာယျ
မဆိုဇာတ်ကောင်
* သုညသို့မဟုတ်ထိုထက်ပိုသောအက္ခရာများ
^ ပုံစံ (ဆိုလိုသည်မှာ ^ Gnome) နဲ့စတင်ပါရာကိုမဆို line သို့မဟုတ် string ကိုကိုက်ညီ
$ တစ်ပုံစံတွေနဲ့အဆုံးသတ်မဆို line သို့မဟုတ် string ကိုကိုက်ညီ (ဆိုလိုသည်မှာ gnome $)
\ ၎င်း၏အထူးအဓိပ်ပာယျကိုဖယ်ရှားဖို့အတွက်လာမယ့်ဇာတ်ကောင်လှ
[] ပွဲစဉ်စာရင်းကိုသို့မဟုတ်အကွာအဝေးတဦး (ဆိုလိုသည်မှာ [ "abc", "def"] သို့မဟုတ် [1..9]
+ ပွဲစဉ်တစ်ဦးသို့မဟုတ်ပိုပြီးရှေ့ (ဆိုလိုသည်မှာ grep တစ်ဦး +)
? ပွဲစဉ်သုညသို့မဟုတ်ရှေ့တစျခု