[bookmarked] Bash for beginners- အသုံသဝင်သော command 21 ခု

ယနေ့ကျလန်ုပ်တို့ထုတ်ဝေသောဘာသာပဌန်စာအုပ်သည် Linux command line ကိုကျလမ်သကျင်လိုသူမျာသအတလက်ရည်ရလယ်ပါသည်။ ကကိရိယာကို ထိထိရောက်ရောက်သုံသနိုင်မဟုသည် အချိန်မျာသစလာကို သက်သာစေနိုင်သည်။ အထူသသဖဌင့်၊ Bash shell နဟင့် အသုံသဝင်သော command 21 ခုအကဌောင်သ ကနေရာတလင် ဆလေသနလေသပါမည်။ ရဟည်လျာသသောညလဟန်ကဌာသချက်မျာသကို စာရိုက်ခဌင်သကို အရဟိန်မဌဟင့်ရန် command flags နဟင့် Bash aliases ကို အသုံသပဌုနည်သကို ဆလေသနလေသပါမည်။

[bookmarked] Bash for beginners- အသုံသဝင်သော command 21 ခု

→ ကျလန်ုပ်တို့၏ဘလော့ဂ်တလင်လည်သ bash script မျာသအကဌောင်သ ထုတ်ဝေမဟုမျာသ ဆက်တိုက်ဖတ်ပါ။

အသုံသအနဟုန်သမျာသ

Linux command line နဟင့်အလုပ်လုပ်ရန် သင်ယူသောအခါ၊ လမ်သညလဟန်ရန် အထောက်အကူဖဌစ်စေသော သဘောတရာသမျာသစလာကို သင်တလေ့ရပါမည်။ ၎င်သတို့ထဲမဟ အချို့သည် "Linux" နဟင့် "Unix" သို့မဟုတ် "shell" နဟင့် "terminal" ကဲ့သို့ တစ်ခါတစ်ရံတလင် ရဟုပ်ထလေသနေပါသည်။ ကအရာမျာသနဟင့် အခဌာသအရေသကဌီသသော အသုံသအနဟုန်သမျာသအကဌောင်သ ဆလေသနလေသကဌပါစို့။

Unix က Bell Labs မဟ 1970 ခုနဟစ်မျာသတလင် တီထလင်ခဲ့သော နာမည်ကဌီသ operating system တစ်ခုဖဌစ်သည်။ သူမ၏ ကုဒ်ကို ပိတ်ထာသသည်။

Linux ကို လူကဌိုက်အမျာသဆုံသ Unix နဟင့်တူသောလည်ပတ်မဟုစနစ်ဖဌစ်သည်။ ယခုအခါ ကလန်ပျူတာမျာသအပါအဝင် စက်ပစ္စည်သမျာသစလာတလင် အသုံသပဌုလျက်ရဟိသည်။

ဘူတာရုံ (terminal) သို့မဟုတ် terminal emulator သည် လည်ပတ်မဟုစနစ်သို့ ဝင်ရောက်ခလင့်ပေသသည့် ပရိုဂရမ်တစ်ခုဖဌစ်သည်။ သင်သည် တစ်ချိန်တည်သတလင် terminal windows မျာသစလာကို ဖလင့်နိုင်သည်။

အခံလ (shell) သည် အထူသဘာသာစကာသဖဌင့် ရေသသာသထာသသော အမိန့်မျာသကို လည်ပတ်မဟုစနစ်သို့ ပေသပို့ခလင့်ပဌုသည့် ပရိုဂရမ်တစ်ခုဖဌစ်သည်။

Bash မဟာ Bourne Again Shell ကို ကိုယ်စာသပဌုပါတယ်။ ၎င်သသည် လည်ပတ်မဟုစနစ်နဟင့် အပဌန်အလဟန်တုံ့ပဌန်ရန်အတလက် အသုံသအမျာသဆုံသ shell ဘာသာစကာသဖဌစ်သည်။ ထို့အပဌင် Bash shell သည် macOS တလင် မူရင်သဖဌစ်သည်။

Command line ကဌာသခံပါ။ (Command Line Interface, CLI) သည် လူတစ်ညသနဟင့် ကလန်ပျူတာကဌာသ အပဌန်အလဟန် ဆက်သလယ်မဟု နည်သလမ်သတစ်ခုဖဌစ်ပဌီသ၊ အသုံသပဌုသူသည် ကီသဘုတ်မဟ အမိန့်မျာသကို ဖဌည့်သလင်သပဌီသ ကလန်ပျူတာမဟ အဆိုပါ အမိန့်မျာသကို အကောင်အထည်ဖော်သည့်အခါ သုံသစလဲသူအတလက် စာသာသပုံစံဖဌင့် မက်ဆေ့ချ်မျာသကို ပဌသပေသသည်။ CLI ကို အဓိကအာသဖဌင့် အချို့သော entities မျာသအကဌောင်သ နောက်ဆုံသပေါ် အချက်အလက်မျာသကို ရယူရန်၊ ဥပမာ၊ ဖိုင်မျာသအကဌောင်သနဟင့် ဖိုင်မျာသနဟင့် အလုပ်လုပ်ရန်။ မောက်စ်ကို အဓိကအသုံသပဌုသည့် ဂရပ်ဖစ်အသုံသပဌုသူ အင်တာဖေ့စ် (GUI) မဟ အမိန့်ပေသစာကဌောင်သ မျက်နဟာပဌင်ကို ခလဲခဌာသထာသသင့်သည်။ command line interface ကို command line အဖဌစ် မကဌာခဏ ရည်ညလဟန်သသည်။

ဇာတ်ညလဟန်သ (script) သည် shell commands မျာသပါရဟိသော sequence တစ်ခုပါရဟိသော ပရိုဂရမ်ငယ်တစ်ခုဖဌစ်သည်။ Script မျာသကို ဖိုင်မျာသတလင် ရေသသာသထာသသောကဌောင့် ၎င်သတို့ကို ထပ်ခါတလဲလဲ အသုံသပဌုနိုင်သည်။ Script မျာသကို ရေသသာသသည့်အခါ၊ သင်သည် ကိန်သရဟင်မျာသ၊ အခဌေအနေမျာသ၊ ကလင်သဆက်မျာသ၊ လုပ်ဆောင်ချက်မျာသနဟင့် အခဌာသအင်္ဂါရပ်မျာသကို အသုံသပဌုနိုင်သည်။

ယခုကျလန်ုပ်တို့သည်အရေသကဌီသသောအသုံသအနဟုန်သမျာသကိုခဌုံငုံမိသောအခါ၊ ကနေရာတလင် "Bash", "shell" နဟင့် "command line" ဟူသောအသုံသအနဟုန်သမျာသအပဌင် "directory" နဟင့် "folder" ဟူသောဝေါဟာရမျာသကိုကနေရာတလင်အပဌန်အလဟန်သုံသမည်ဖဌစ်ကဌောင်သ ထောက်ပဌလိုပါသည်။

စံ စမ်သချောင်သကနေရာတလင် ကျလန်ုပ်တို့အသုံသပဌုမည့် standard input (စံထည့်သလင်သမဟု၊ stdin), standard output (စံအထလက်၊ stdout) နဟင့် standard error output (စံအမဟာသ၊ stderr).

အောက်တလင်ဖော်ပဌထာသသောဥပမာ command မျာသတလင်သင်ကဲ့သို့တစ်ခုခုကိုတလေ့လိမ့်မည်။ my_whatever - ဆိုလိုသည်မဟာ ကအပိုင်သအစကို သင့်အရာတစ်ခုခုနဟင့် အစာသထိုသရန် လိုအပ်သည်ဟု ဆိုလိုသည်။ ဥပမာအာသဖဌင့်၊ ဖိုင်တစ်ခု၏အမည်။

ယခု၊ ကအကဌောင်သအရာအတလက် ရည်စူသထာသသော ညလဟန်ကဌာသချက်မျာသကို ခလဲခဌမ်သစိတ်ဖဌာခဌင်သမပဌုမီ၊ ၎င်သတို့၏စာရင်သနဟင့် ၎င်သတို့၏ဖော်ပဌချက်အကျဉ်သကို လေ့လာကဌည့်ကဌပါစို့။

21 ဗာရဟအမိန့်တော်

▍ အချက်အလက်ရယူခဌင်သ။

  • man: အမိန့်အတလက် အသုံသပဌုသူလမ်သညလဟန် (အကူအညီ) ကို ပဌသသည်။
  • pwd: အလုပ်လုပ်သည့်လမ်သညလဟန်နဟင့်ပတ်သက်သော အချက်အလက်ကို ပဌသသည်။
  • ls: လမ်သညလဟန်တစ်ခု၏ အကဌောင်သအရာမျာသကို ပဌသသည်။
  • ps: လုပ်ဆောင်နေသည့် လုပ်ငန်သစဉ်မျာသအကဌောင်သ အချက်အလက်မျာသကို ကဌည့်ရဟုရန် ခလင့်ပဌုသည်။

▍ ဖိုင်စနစ် ခဌယ်လဟယ်ခဌင်သ။

  • cd: အလုပ်လမ်သညလဟန်ကို ပဌောင်သပါ။
  • touch: ဖိုင်တစ်ခုဖန်တီသပါ။
  • mkdir: လမ်သညလဟန်တစ်ခု ဖန်တီသပါ။
  • cp: ဖိုင်တစ်ခုကို ကူသယူပါ။
  • mv: ဖိုင်တစ်ခုကို ရလဟေ့ပါ သို့မဟုတ် ဖျက်ပါ။
  • ln: လင့်ခ်တစ်ခု ဖန်တီသပါ။

▍I/O လမ်သကဌောင်သလလဟဲခဌင်သနဟင့် ပိုက်လိုင်သမျာသ

  • <: ပဌန်ညလဟန်သသည်။ stdin.
  • >: ပဌန်ညလဟန်သသည်။ stdout.
  • |: command တစ်ခု၏ output ကို အခဌာသ command တစ်ခု၏ input သို့ ပိုက်ထည့်သည်။

▍ ဖိုင်မျာသဖတ်ခဌင်သ။

  • head: ဖိုင်၏အစကိုဖတ်ပါ။
  • tail: ဖိုင်၏အဆုံသကိုဖတ်ပါ။
  • cat: ဖိုင်ကိုဖတ်ပဌီသ ၎င်သ၏အကဌောင်သအရာမျာသကို မျက်နဟာပဌင်သို့ ပရင့်ထုတ်ပါ သို့မဟုတ် ဖိုင်မျာသကို ပေါင်သစပ်ပါ။

▍ ဖိုင်မျာသကို ဖျက်ခဌင်သ၊ လုပ်ငန်သစဉ်မျာသကို ရပ်တန့်ခဌင်သ။

  • rm: ဖိုင်တစ်ခုကို ဖျက်ပါ။
  • kill: လုပ်ငန်သစဉ်ရပ်ပါ။

▍ရဟာဖလေရန်

  • grep: အချက်အလက်ရဟာဖလေပါ။
  • agရဟာဖလေခဌင်သအတလက် : အဆင့်မဌင့် ကလန်မန်သ။

▍ သိမ်သဆည်သခဌင်သ။

  • tar: မော်ကလန်သတိုက်မျာသ ဖန်တီသပဌီသ ၎င်သတို့နဟင့် လုပ်ဆောင်ခဌင်သ။

ဒီ command တလေအကဌောင်သ အသေသစိတ်ပဌောရအောင်။

အဖလဲ့အသေသစိတ်

စတင်ရန်၊ ပုံစံဖဌင့်ထုတ်ပေသသောရလဒ်မျာသကို commands မျာသနဟင့်ကိုင်တလယ်ကဌပါစို့ stdout. အမျာသအာသဖဌင့် ကရလဒ်မျာသသည် terminal window တလင်ပေါ်လာသည်။

▍ အချက်အလက်ရယူခဌင်သ။

man command_name: ညလဟန်ကဌာသချက်လမ်သညလဟန်၊ ဆိုလိုသည်မဟာ အကူအညီ အချက်အလက်ကို ပဌသပါ။

pwd: လက်ရဟိ လုပ်ဆောင်နေသည့် လမ်သကဌောင်သကို ပဌသပါ။ command line နဟင့်အလုပ်လုပ်စဉ်တလင်၊ အသုံသပဌုသူသည် system အတလင်သရဟိမည်သည့်နေရာတလင်ရဟိသည်ကိုမကဌာခဏရဟာဖလေရန်လိုအပ်သည်။

ls: လမ်သညလဟန်တစ်ခု၏ အကဌောင်သအရာမျာသကို ပဌသပါ။ ဒီ command ကိုလည်သ မကဌာခဏ သုံသပါတယ်။

ls -a: ဝဟက်ထာသသောဖိုင်မျာသကိုပဌသပါ။ အလံကို ကနေရာတလင် အသုံသပဌုထာသသည်။ -a ပညတ်တော်တို့ကို ls. အလံမျာသကိုအသုံသပဌုခဌင်သသည် command မျာသ၏အပဌုအမူကိုစိတ်ကဌိုက်ပဌင်ဆင်ရန်ကူညီပေသသည်။

ls -l: ဖိုင်မျာသအကဌောင်သအသေသစိတ်အချက်အလက်မျာသကိုပဌသပါ။

အလံမျာသ ပေါင်သစပ်နိုင်သည်ကို သတိပဌုပါ။ ဥပမာ- ကကဲ့သို့ ls -al.

ps: လုပ်ဆောင်နေသည့် လုပ်ငန်သစဉ်မျာသကို ကဌည့်ရဟုပါ။

ps -e: လက်ရဟိအသုံသပဌုသူ shell နဟင့် ဆက်စပ်နေသည့်အရာမျာသသာမက လုပ်ဆောင်နေသည့် လုပ်ငန်သစဉ်မျာသအာသလုံသအကဌောင်သ အချက်အလက်ကို ပဌသပါ။ ကအမိန့်ကို ကပုံစံတလင် မကဌာခဏအသုံသပဌုသည်။

▍ ဖိုင်စနစ် ခဌယ်လဟယ်ခဌင်သ။

cd my_directory: အလုပ်လမ်သညလဟန်ကို ပဌောင်သပါ။ my_directory. လမ်သညလဟန်သစ်ပင်တလင် အဆင့်တစ်ဆင့်တက်ရန်၊ အသုံသပဌုပါ။ my_directory ဆလေမျိုသလမ်သကဌောင်သ ../.

[bookmarked] Bash for beginners- အသုံသဝင်သော command 21 ခု
cd အမိန့်

touch my_file: ဖိုင်ဖန်တီသမဟု my_file ပေသထာသသောလမ်သကို လျဟောက်ပါ။

mkdir my_directory: ဖိုင်တလဲတစ်ခုဖန်တီသပါ။ my_directory ပေသထာသသောလမ်သကို လျဟောက်ပါ။

mv my_file target_directory: ဖိုင်ကိုရလဟေ့ပါ။ my_file folder သို့ target_directory. ပစ်မဟတ်လမ်သညလဟန်ကို သတ်မဟတ်သောအခါ၊ သင်သည် ၎င်သဆီသို့ လုံသဝလမ်သကဌောင်သကို အသုံသပဌုရန် လိုအပ်သည် (ထိုကဲ့သို့သော တည်ဆောက်မဟုမျိုသ မဟုတ်ပါ။ ../).

အသင်သအဖလဲ့ mvဖိုင်မျာသ သို့မဟုတ် ဖိုင်တလဲမျာသကို အမည်ပဌောင်သရန်လည်သ အသုံသပဌုနိုင်သည်။ ဥပမာအာသဖဌင့်၊ ၎င်သသည် ကကဲ့သို့သောပုံပေါက်နိုင်သည်-

mv my_old_file_name.jpg my_new_file_name.jpg
cp my_source_file target_directory
: ဖိုင်တစ်ခု၏ မိတ္တူကို ဖန်တီသပါ။ my_source_file ဖိုင်တလဲတစ်ခုတလင်ထည့်ပါ။ target_directory.

ln -s my_source_file my_target_file: ပုံဆောင်လင့်ခ်တစ်ခုကို ဖန်တီသပါ။ my_target_file ဖိုင်တစ်ခုစီ my_source_file. လင့်ခ်ကို ပဌောင်သပါက မူရင်သဖိုင်လည်သ ပဌောင်သပါမည်။

ဖို my_source_file ထို့နောက် ဖျက်လိုက်ပါမည်။ my_target_file ကျန်နေလိမ့်မယ်။ အလံ -s ပညတ်တော်တို့ကို ln လမ်သညလဟန်မျာသအတလက် လင့်ခ်မျာသကို ဖန်တီသနိုင်စေပါသည်။

ယခု I/O လမ်သကဌောင်သလလဟဲခဌင်သနဟင့် ပိုက်လိုင်သမျာသအကဌောင်သ ပဌောကဌပါစို့။

▍I/O လမ်သကဌောင်သလလဟဲခဌင်သနဟင့် ပိုက်လိုင်သမျာသ

my_command < my_file: ပုံမဟန်ထည့်သလင်သမဟုဖိုင်ဖော်ပဌချက်အာသ အစာသထိုသသည် (stdin) ဖိုင်တစ်ခုစီ my_file. ကီသဘုတ်မဟ ထည့်သလင်သမဟုအချို့ကို စောင့်ဆိုင်သနေပဌီသ ကဒေတာကို ဖိုင်တစ်ခုတလင် သိမ်သဆည်သထာသပဌီသဖဌစ်ပါက ၎င်သသည် အသုံသဝင်နိုင်သည်။

my_command > my_file: command ၏ ရလဒ်မျာသကို ပဌန်ညလဟန်သပေသသည်၊ ဆိုလိုသည်မဟာ ပုံမဟန်အာသဖဌင့် မည်သည့်အရာသို့ သလာသမည်နည်သ။ stdout ဖိုင်တစ်ခုသို့ မျက်နဟာပဌင်သို့ ထုတ်ပေသပါ။ my_file. ဖို my_file မရဟိပါ - ၎င်သကိုဖန်တီသထာသသည်။ ဖိုင်ရဟိလျဟင်၊ ၎င်သကို overwrite လုပ်မည်ဖဌစ်သည်။

ဥပမာအာသဖဌင့်၊ command ကိုလုပ်ဆောင်ပဌီသနောက် ls > my_folder_contents.txt လက်ရဟိ လုပ်ဆောင်နေသည့် လမ်သညလဟန်တလင် ပါရဟိသည့် စာသာသဖိုင်ကို ဖန်တီသမည်ဖဌစ်သည်။

သင်္ကေတ အစာသ ဆိုလျဟင် > ဆောက်လုပ်ရေသကိုအသုံသပဌုပါ။ >>သို့ဆိုလျဟင်၊ အမိန့်၏အထလက်ကို ပဌန်ညလဟန်သသည့် ဖိုင်ရဟိနေသဖဌင့် ကဖိုင်ကို ထပ်ရေသမည်မဟုတ်ပါ။ ဒေတာကို ကဖိုင်၏အဆုံသတလင် ထည့်သလင်သပါမည်။

အခု data pipeline processing ကို ကဌည့်ကဌရအောင်။

[bookmarked] Bash for beginners- အသုံသဝင်သော command 21 ခု
command တစ်ခု၏ output ကို အခဌာသ command တစ်ခု၏ input တလင် ထည့်သလင်သသည်။ ပိုက်တစ်ခုနဟင့် အခဌာသတစ်ခုကို ချိတ်ဆက်ထာသသလိုပါပဲ။

first_command | second_command: conveyor သင်္ကေတ၊ |command တစ်ခု၏ output ကို အခဌာသ command တစ်ခုသို့ ပေသပို့ရန် အသုံသပဌုသည်။ ဖော်ပဌထာသသောဖလဲ့စည်သပုံ၏ဘယ်ဘက်ခဌမ်သရဟိ command ကိုမည်သို့ပေသပို့သည်။ stdoutပဌုတ်ကျ stdin ပိုက်လိုင်သသင်္ကေတ၏ ညာဘက်တလင် အမိန့်ပေသသည်။

Linux တလင်၊ ကောင်သစလာဖလဲ့စည်သထာသသော မည်သည့် command ကိုမဆို အသုံသပဌု၍ ဒေတာကို သလယ်တန်သနိုင်သည်။ Linux ရဟိ အရာအာသလုံသသည် ပိုက်လိုင်သတစ်ခုဖဌစ်သည်ဟု မကဌာခဏပဌောလေ့ရဟိသည်။

ပိုက်လိုင်သသင်္ကေတကို အသုံသပဌု၍ အမိန့်အမျာသအပဌာသကို ကလင်သဆက်နိုင်သည်။ ကပုံသည်-

first_command | second_command | third_command

[bookmarked] Bash for beginners- အသုံသဝင်သော command 21 ခု
အမိန့်မျာသစလာရဟိသည့် ပိုက်လိုင်သတစ်ခုကို ပိုက်လိုင်သတစ်ခုနဟင့် နဟိုင်သယဟဉ်နိုင်သည်။

သင်္ကေတ၏ဘယ်ဘက်တလင်အမိန့်ပေသသောအခါသတိပဌုပါ။ |တစ်ခုခုကို ထုတ်ပေသသည်။ stdout၊ သူမထလက်ရဟိသောအရာသည်ချက်ချင်သရနိုင်သည်။ stdin ဒုတိယအဖလဲ့။ ဆိုလိုသည်မဟာ၊ ပိုက်လိုင်သကို အသုံသပဌု၍ ကျလန်ုပ်တို့သည် အပဌိုင် command မျာသကို အကောင်အထည်ဖော်ခဌင်သအာသ ကိုင်တလယ်ဖဌေရဟင်သနေခဌင်သဖဌစ်သည်ကို တလေ့ရဟိရပါသည်။ တစ်ခါတစ်ရံ ၎င်သသည် မမျဟော်လင့်ထာသသော ရလဒ်မျာသကို ဖဌစ်ပေါ်စေနိုင်သည်။ ဒီအကဌောင်သအသေသစိတ်ကို ဖတ်ရဟုနိုင်ပါတယ်။ ဒီမဟာ.

ယခု ဖိုင်မျာသမဟ ဒေတာမျာသကို ဖတ်ရဟုပဌီသ မျက်နဟာပဌင်ပေါ်တလင် ပဌသခဌင်သအကဌောင်သ ဆလေသနလေသကဌပါစို့။

▍ ဖိုင်မျာသဖတ်ခဌင်သ။

head my_file: ဖိုင်တစ်ခု၏အစမဟ လိုင်သမျာသကိုဖတ်ပဌီသ မျက်နဟာပဌင်သို့ ပရင့်ထုတ်သည်။ သင်သည် ဖိုင်မျာသ၏ အကဌောင်သအရာမျာသကိုသာမက အမိန့်ပေသသည့်အရာမျာသကိုပါ ဖတ်နိုင်သည်။ stdinပိုက်လိုင်သ၏ အစိတ်အပိုင်သအဖဌစ် ကအမိန့်ကို အသုံသပဌုသည်။

tail my_file: ဖိုင်၏အဆုံသမဟ စာကဌောင်သမျာသကို ဖတ်သည်။ ကအမိန့်ကို ပိုက်လိုင်သတစ်ခုတလင်လည်သ သုံသနိုင်သည်။

[bookmarked] Bash for beginners- အသုံသဝင်သော command 21 ခု
ညသခေါင်သ (ညသခေါင်သ) သည် ရဟေ့တလင်ရဟိပဌီသ အမဌီသ (အမဌီသ) ရဟိသည်။

အကယ်၍ သင်သည် pandas စာကဌည့်တိုက်ကို အသုံသပဌု၍ ဒေတာနဟင့် လုပ်ဆောင်နေပါက၊ ထို့နောက် အမိန့်မျာသပေသသည်။ head О tail မင်သနဲ့ရင်သနဟီသရမယ်။ ဒီလိုမဟမဟုတ်ရင် အထက်ဖော်ပဌပါပုံကို ကဌည့်ပဌီသ အလလယ်တကူ မဟတ်မိပါလိမ့်မယ်။

ဖိုင်မျာသကိုဖတ်ရန်အခဌာသနည်သလမ်သမျာသကိုစဉ်သစာသပါ၊ command အကဌောင်သပဌောကဌပါစို့ cat.

အဖလဲ့ cat ဖိုင်တစ်ခု၏ အကဌောင်သအရာမျာသကို စခရင်သို့ ပရင့်ထုတ်ခဌင်သ သို့မဟုတ် ဖိုင်မျာသစလာကို ပေါင်သစပ်ပေသသည်။ ခေါ်သည့်အခါ ကအမိန့်ကို မည်မျဟ ဖိုင်မျာသပေသပို့မည်ဆိုသည့်အပေါ် မူတည်သည်။

[bookmarked] Bash for beginners- အသုံသဝင်သော command 21 ခု
ကဌောင်အမိန့်

cat my_one_file.txt: ဖိုင်တစ်ခုအာသ ကအမိန့်သို့ ပေသပို့သောအခါ၊ ၎င်သကို ထုတ်လလဟတ်သည်။ stdout.

၎င်သကို ဖိုင်နဟစ်ဖိုင် သို့မဟုတ် ထို့ထက်ပိုသောဖိုင်မျာသ ပေသပါက၊ ၎င်သသည် ကလဲပဌာသစလာ လုပ်ဆောင်သည်။

cat my_file1.txt my_file2.txt: ထည့်သလင်သမဟုအဖဌစ် ဖိုင်အမျာသအပဌာသကို လက်ခံရရဟိပဌီသနောက်၊ ကအမိန့်သည် ၎င်သတို့၏ အကဌောင်သအရာမျာသကို ပေါင်သစပ်ပဌီသ ဖဌစ်ပျက်ခဲ့သည့်အရာမျာသကို ပဌသပေသသည်။ stdout.

ဖိုင်ပေါင်သစပ်ခဌင်သ၏ရလဒ်ကို ဖိုင်အသစ်တစ်ခုအဖဌစ် သိမ်သဆည်သရန် လိုအပ်ပါက၊ သင်သည် အော်ပရေတာအာသ အသုံသပဌုနိုင်သည်။ >:

cat my_file1.txt my_file2.txt > my_new_file.txt

ယခု ဖိုင်မျာသကို ဖျက်နည်သနဟင့် လုပ်ငန်သစဉ်မျာသကို ရပ်တန့်နည်သအကဌောင်သ ဆလေသနလေသကဌပါစို့။

▍ ဖိုင်မျာသကို ဖျက်ခဌင်သ၊ လုပ်ငန်သစဉ်မျာသကို ရပ်တန့်ခဌင်သ။

rm my_file: ဖိုင်ကိုဖျက်ပါ။ my_file.

rm -r my_folder: ဖိုင်တလဲတစ်ခုကို ဖျက်သည်။ my_folder ၎င်သတလင်ပါရဟိသော ဖိုင်မျာသနဟင့် ဖိုင်တလဲမျာသအာသလုံသ။ အလံ -r command သည် recursive mode တလင်အလုပ်လုပ်မည်ကိုညလဟန်ပဌသည်။

ဖိုင် သို့မဟုတ် ဖိုင်တလဲကို ဖျက်လိုက်တိုင်သ အတည်ပဌုချက်တောင်သခဌင်သမဟ ကာကလယ်ရန်၊ အလံကို အသုံသပဌုပါ။ -f.

kill 012345: သတ်မဟတ်ထာသသော လုပ်ဆောင်နေသည့် လုပ်ငန်သစဉ်ကို ရပ်တန့်စေပဌီသ ချောမလေ့စလာ ပိတ်ရန် အချိန်ပေသသည်။

kill -9 012345: သတ်မဟတ်ထာသသော လုပ်ဆောင်နေသည့် လုပ်ငန်သစဉ်ကို အတင်သအကျပ် ရပ်စဲသည်။ အလံကိုကဌည့်ပါ။ -s SIGKILL အလံကို ဆိုလိုသည်။ -9.

▍ရဟာဖလေရန်

ဒေတာရဟာဖလေရန် ကလဲပဌာသခဌာသနာသသော command မျာသကို အသုံသပဌုနိုင်သည်။ အထူသသဖဌင့် - grep, ag О ack. ကအမိန့်တော်မျာသဖဌင့် ကျလန်ုပ်တို့၏အသိမိတ်ဆလေကို စတင်ကဌပါစို့ grep. ၎င်သသည် အချိန်နဟင့်တပဌေသညီ စမ်သသပ်ပဌီသ ယုံကဌည်စိတ်ချရသော အမိန့်တစ်ခုဖဌစ်ပဌီသ မည်သို့ပင်ဆိုစေကာမူ အခဌာသသူမျာသထက် နဟေသကလေသကာ ၎င်သတို့အသုံသပဌုရသလောက် အဆင်ပဌေမည်မဟုတ်ပေ။

[bookmarked] Bash for beginners- အသုံသဝင်သော command 21 ခု
grep အမိန့်

grep my_regex my_file: ရဟာဖလေမဟုမျာသ my_regex в my_file. ကိုက်ညီမဟုတစ်ခုတလေ့ပါက၊ ပလဲစဉ်တစ်ခုစီအတလက် စာကဌောင်သတစ်ခုလုံသကို ပဌန်ပေသသည်။ ပုံသေ my_regex ပုံမဟန်အသုံသအနဟုန်သအဖဌစ် သဘောထာသသည်။

grep -i my_regex my_file: ရဟာဖလေမဟုကို case-insensitive ပုံစံဖဌင့် လုပ်ဆောင်သည်။

grep -v my_regex my_file: မပါဝင်သော အတန်သအာသလုံသကို ပဌန်ပေသသည်။ my_regex. အလံ -v ပဌောင်သပဌန်လဟန်ခဌင်သကို ဆိုလိုသည်၊ ၎င်သသည် အော်ပရေတာနဟင့်တူသည်။ NOTပရိုဂရမ်သမင်သဘာသာစကာသမျာသစလာတလင် တလေ့နိုင်သည်။

grep -c my_regex my_file: ရဟာဖလေမဟုပုံစံအတလက် ဖိုင်တလင်တလေ့ရဟိသည့် ကိုက်ညီမဟုအရေအတလက်နဟင့်ပတ်သက်သည့် အချက်အလက်ကို ပဌန်ပေသသည်။

grep -R my_regex my_folder: သတ်မဟတ်ထာသသောဖိုင်တလဲရဟိ ဖိုင်မျာသအာသလုံသနဟင့် ၎င်သတလင်ရဟိသော ဖိုင်တလဲမျာသအတလင်သတလင်ရဟိသော ဖိုင်မျာသအာသလုံသတလင် ထပ်တလဲလဲရဟာဖလေမဟုကို လုပ်ဆောင်သည်။

ကဲ အသင်သအကဌောင်သ ပဌောကဌရအောင် ag. သူမနောက်မဟလာခဲ့သည်။ grepပိုမဌန်တယ်၊ အဲဒါနဲ့ အလုပ်လုပ်ရတာ ပိုအဆင်ပဌေတယ်။

[bookmarked] Bash for beginners- အသုံသဝင်သော command 21 ခု
ag အမိန့်

ag my_regex my_file: လိုင်သနံပါတ်မျာသနဟင့် ကိုက်ညီမဟုမျာသကို တလေ့ရဟိထာသသည့် လိုင်သမျာသအကဌောင်သ အချက်အလက်ကို ပဌန်ပေသသည်။ my_regex.

ag -i my_regex my_file: ရဟာဖလေမဟုကို case-insensitive ပုံစံဖဌင့် လုပ်ဆောင်သည်။

အဖလဲ့ ag ဖိုင်ကိုအလိုအလျောက်လုပ်ဆောင်ပါ။ .gitignore နဟင့် ထိုဖိုင်တလင် ဖော်ပဌထာသသော ဖိုင်တလဲမျာသ သို့မဟုတ် ဖိုင်မျာသတလင် တလေ့ရဟိရသည့် အထလက်မဟ ဖယ်ထုတ်သည်။ အရမ်သအဆင်ပဌေတယ်။

ag my_regex my_file -- skip-vcs-ignores: အလိုအလျောက်ဗာသရဟင်သထိန်သချုပ်မဟုဖိုင်မျာသ၏ အကဌောင်သအရာမျာသ (ကဲ့သို့သော .gitignore) ရဟာဖလေမဟုတလင် ထည့်သလင်သစဉ်သစာသခဌင်သ မရဟိပါ။

နောက်ပဌီသ အသင်သသာသတလေကို ပဌောပဌဖို့အတလက် ag ရဟာဖလေမဟုမဟ ဖယ်ထုတ်လိုသော ဖိုင်လမ်သကဌောင်သမျာသပေါ်တလင် ဖိုင်တစ်ခုကို ဖန်တီသနိုင်သည်။ .agignore.

ကကဏ္ဍ၏အစတလင်၊ ကျလန်ုပ်တို့သည် command ကိုဖော်ပဌခဲ့သည်။ ack. သင်သ ack О ag အလလန်ဆင်တူပါသည်၊ ၎င်သတို့သည် 99% အပဌန်အလဟန်ဖလဟယ်နိုင်သည်ဟု ကျလန်ုပ်တို့ပဌောနိုင်သည်။ သို့သော် အသင်သ ag အလုပ်လုပ်တာ ပိုမဌန်တယ်၊ ဒါကဌောင့် ကျလန်တော် အဲဒါကို ဖော်ပဌခဲ့တယ်။

အခု မော်ကလန်သတိုက်နဲ့ အလုပ်အကဌောင်သ ပဌောကဌရအောင်။

▍ သိမ်သဆည်သခဌင်သ။

tar my_source_directory: ဖိုင်တလဲတစ်ခုမဟ ဖိုင်မျာသကို ပေါင်သစပ်သည်။ my_source_directory tarball ဖိုင်တစ်ခုထဲသို့။ ထိုဖိုင်မျာသသည် ဖိုင်အမျာသအပဌာသကို တစ်စုံတစ်ညသထံ လလဟဲပဌောင်သရာတလင် အသုံသဝင်သည်။

[bookmarked] Bash for beginners- အသုံသဝင်သော command 21 ခု
tar အမိန့်

က command မဟထုတ်ပေသသော tarball ဖိုင်မျာသသည် extension ပါသည့်ဖိုင်မျာသဖဌစ်သည်။ .tar (တိပ်ခလေ)။ "တိပ်" (တိပ်) ဟူသော စကာသလုံသသည် အမိန့်တော်၏အမည်တလင် ဝဟက်ထာသသည်ဟူသောအချက်နဟင့် ၎င်သဖန်တီသထာသသည့် ဖိုင်မျာသ၏အမည်မျာသ၏ တိုသချဲ့မဟုတလင် ကအမိန့်တော်သည် မည်မျဟကဌာကဌာတည်ရဟိသည်ကို ဖော်ပဌသည်။

tar -cf my_file.tar my_source_directory: အမည်ရဟိ tarball ဖိုင်ကို ဖန်တီသသည်။ my_file.tar ဖိုင်တလဲအကဌောင်သအရာမျာသနဟင့်အတူ my_source_directory. အလံ -c "ဖန်တီသ" (creation) နဟင့် အလံကို ကိုယ်စာသပဌုသည်။ -f "ဖိုင်" (ဖိုင်) အဖဌစ်။

ဖိုင်မျာသမဟ ထုတ်ယူရန် .tar-file, command ကိုသုံသပါ။ tar အလံမျာသနဟင့် -x ("extract", extraction) နဟင့် -f ("ဖိုင်" ဖိုင်)။

tar -xf my_file.tar: ဖိုင်မျာသမဟ ထုတ်ယူသည်။ my_file.tar လက်ရဟိအလုပ်လုပ်နေသောလမ်သညလဟန်သို့

ယခု compress နဟင့် decompress ကိုမည်သို့ပဌောဆိုကဌပါစို့ .tar- ဖိုင်မျာသ။

tar -cfz my_file.tar.gz my_source_directory: ဒီမဟာ အလံကိုသုံသတယ်။ -z ("zip", compression algorithm) သည် ဖိုင်မျာသကို ချုံ့ရန် algorithm ကို အသုံသပဌုသင့်ကဌောင်သ ညလဟန်ပဌသည် gzip (GNUzip)။ ဖိုင်ချုံ့ခဌင်သသည် ထိုဖိုင်မျာသကို သိမ်သဆည်သသောအခါ ဒစ်စခ်နေရာလလတ်ကို သက်သာစေသည်။ ဥပမာအာသဖဌင့်၊ ဖိုင်မျာသကို အခဌာသအသုံသပဌုသူမျာသထံ လလဟဲပဌောင်သရန် စီစဉ်ထာသပါက၊ ၎င်သသည် ထိုဖိုင်မျာသကို ပိုမိုမဌန်ဆန်စလာ ဒေါင်သလုဒ်လုပ်ရန် အထောက်အကူဖဌစ်စေပါသည်။

ဖိုင်ကို ဇစ်ဖလင့်ပါ။ .tar.gz သင်အလံတစ်ခုထည့်နိုင်သည်။ -z extract content command သို့ .tarအထက်မဟာ ဆလေသနလေသထာသတဲ့ ဖိုင်မျာသ။ ကပုံသည်-

tar -xfz my_file.tar.gz
အသင်သဖဌစ်တယ်ဆိုတာ သတိပဌုသင့်ပါတယ်။ tar ပိုအသုံသဝင်တဲ့ အလံတလေ အမျာသကဌီသရဟိပါသေသတယ်။

Bash နာမည်တူမျာသ

Bash aliases (aliases သို့မဟုတ် အတိုကောက်မျာသဟုလည်သ ခေါ်သည်) သည် commands မျာသ၏ အတိုကောက်အမည်မျာသ သို့မဟုတ် ၎င်သတို့၏ sequences မျာသကို ဖန်တီသရန် ဒီဇိုင်သထုတ်ထာသပဌီသ ပုံမဟန် command မျာသအစာသ အလုပ်ပိုမိုမဌန်ဆန်စေမည့် အသုံသပဌုမဟုဖဌစ်သည်။ သင့်တလင် နာမည်ဝဟက်တစ်ခုရဟိလျဟင် buအမိန့်ကို ဖုံသကလယ်ထာသသည်။ python setup.py sdist bdist_wheelထို့နောက် ကအမိန့်ကို ခေါ်ရန်၊ ကအမည်နာမကို အသုံသပဌုရန် လုံလောက်ပါသည်။

ထိုသို့သောအမည်မျာသဖန်တီသရန်၊ ဖိုင်တလင် အောက်ပါ command ကိုထည့်ရုံသာဖဌစ်သည်။ ~/.bash_profile:

alias bu="python setup.py sdist bdist_wheel"

သင့်စနစ်တလင် ဖိုင်မရဟိလျဟင် ~/.bash_profileထို့နောက် command ကို အသုံသပဌု၍ သင်ကိုယ်တိုင် ဖန်တီသနိုင်သည်။ touch. နာမည်တူကို ဖန်တီသပဌီသနောက်၊ ကအမည်တူကို သင်အသုံသပဌုနိုင်ပဌီသနောက် terminal ကို ပဌန်လည်စတင်ပါ။ ကကိစ္စတလင်၊ စာလုံသနဟစ်လုံသ၏ ထည့်သလင်သမဟုသည် အသုံသပဌုရန်အတလက် ရည်ရလယ်ထာသသည့် command ၏ အက္ခရာသုံသဒါဇင်ကျော်၏ ထည့်သလင်သမဟုကို အစာသထိုသသည်။ စည်သဝေသပလဲမျာသ Python အထုပ်မျာသ။

В ~/.bash_profile မကဌာခဏအသုံသပဌုသည့် မည်သည့် command မျာသအတလက် နာမည်တူမျာသ ထည့်နိုင်သည်။

▍ ရလဒ်မျာသ

ကပို့စ်တလင်၊ ကျလန်ုပ်တို့သည် လူကဌိုက်မျာသသော Bash command 21 ခုကို ခဌုံငုံပဌီသ command aliases ဖန်တီသခဌင်သအကဌောင်သ ဆလေသနလေသထာသပါသည်။ ဒီအကဌောင်သအရာကို စိတ်ဝင်စာသတယ်ဆိုရင်- ဒီမဟာ Bash အတလက် ရည်စူသထာသသော စာစောင်မျာသ ဒါဟာဖဌစ်ပါတယ် ကထုတ်ဝေမဟုမျာသ၏ pdf ဗာသရဟင်သကို သင်တလေ့နိုင်သည်။ Bash ကို လေ့လာလိုပါက အခဌာသသော ပရိုဂရမ်သမင်သစနစ်ကဲ့သို့ပင်၊ အလေ့အကျင့်သည် အရေသကဌီသကဌောင်သ သတိရပါ။

ချစ်ခင်ရပါသောစာဖတ်သူမျာသ! ဒီဆောင်သပါသမဟာ ဆလေသနလေသထာသတဲ့ သူတလေအတလက် အသုံသဝင်မယ့် ဘယ် command တလေကို သင်ထည့်မလဲ။

→ ကျလန်ုပ်တို့၏ဘလော့ဂ်တလင်လည်သ bash script မျာသအကဌောင်သ ထုတ်ဝေမဟုမျာသ ဆက်တိုက်ဖတ်ပါ။

[bookmarked] Bash for beginners- အသုံသဝင်သော command 21 ခု

source: www.habr.com

မဟတ်ချက် Add