Post

#02 Linux Command line Structure

#02 Linux Command line Structure

Linux Commandline Structure

  • ကျွန်တော် ဒီ post မှာတော့ terminal မှာ linux command တွေ run တဲ့ အခါမှာ သိထားသင့်တဲ့ basic command line structure အကြောင်းလေး ကို ပြောပြချင်ပါတယ်။

  • Linux Command Syntax တစ်ခုမှာ အခြေခံအားဖြင့်
    • Command
    • Options
    • Argument ဆိုပြီး အပိုင်း (၃) ပိုင်း ပါဝင်ပါတယ်။
  • Linux command syntax တစ်ခုကို လေ့လာကြည့်မယ်ဆိုရင် ကိုယ် အသုံးပြုချင်တဲ့ command အမျိုးအစားကို အမြဲတမ်း ရှေ့ဆုံးမှာ ထားရေး ရပါတယ်။
  • နောက်ပြီးမှ option နဲ့ argument ကို လိုအပ်သလို ထပ်မံ ရေးရမှာ ဖြစ်ပါတယ်။
  • command option argument တစ်ခုနဲ့ တစ်ခု ကြားမှာလည်း space ခြားပြီး ရေးဖို့ မမေ့ပါနဲ့။
1
2
3
#general command line syntax

command [options] [arguments]

Command

  • Linux Command Syntax တစ်ခုမှာ ဆိုရင် ရှေ့ဆုံးမှာ ရေးတဲ့ command သည် အရေးကြီးဆုံးပဲဖြစ်ပါတယ်။ မိမိ ဖြစ်စေချင်တဲ့ Task တစ်ခုကို ပြီးမြောက်နိုင်ရန် command သည် မပါမဖြစ် ပါရပါတယ်။
  • Linux command တွေသည် executable binary files တွေ ဖြစ်တယ်ဆိုတာကို သိခဲ့ပြီး ဖြစ်ပါတယ်။
  • Command တစ်ခု နဲ့ တစ်ခုမှာ ပါဝင်တဲ့ option တွေ မတူညီ ကြပါဘူး။
  • တစ်ချို့ command တွေသည် ဘာ option , argument မှ မလိုဘဲ command only ဘဲ run လို့ ရနိုင်သလို့ တစ်ချို့ command တွေကတော့ လိုအပ်တဲ့ argument ပါမှသာ run လို့ ရနိုင်ပါတယ်။

Image

  • ဥပမာ ls command ကို ဘာ options , argument မှ မပါဘဲ command only ဘဲ run မယ်ဆိုရင် ကိုယ် လက်ရှိရောက်နေတဲ့ directory မှာ ရှိတဲ့ content တွေကို list ပြုလုပ်ပေးမှာ ဖြစ်ပါတယ်။

Image

  • နောက်ထပ် ဥပမာ တစ်ခုအနေနဲ့ဆိုရင် linux မှာ user account အသစ်တစ်ခု တည်ဆောက်ရာမှာ အသုံးပြုတဲ့ useradd command ကို အသုံးပြုရာမှာ argument မဖြစ်မနေ ပါဝင်ရပါမှာ ဖြစ်ပါတယ်။
  • ကိုယ် တည်ဆောက်ချင်တဲ့ username တစ်နည်းအားဖြင့် argument မပါဝင်ဘဲ useradd command ကို အသုံးပြုလို့ ရနိုင်မှာ မဟုတ်ပါဘူး။

Options

  • Command တစ်ခုရဲ့ default behavior ဒါမှမဟုတ် output ကို ပြောင်းလဲ အသုံးပြုချင်တယ်ဆိုရင် options တွေကို ထည့်သွင်း အသုံးပြုနိုင်ပါတယ်။
  • Options တွေကို တစ်နည်းအားဖြင့် switches တွေလို့ လည်း ခေါ်ပါတယ်။
  • Command တစ်ခုမှာ ဘယ်လိုမျိုး options တွေ ပါဝင်သလဲ၊ နောက်ပြီး ကိုယ်အသုံးပြုချင်တဲ့ command ရဲ့ အသုံးပြုပုံ အသုံးပြုနည်း usage ကို သိချင်ရင်လည်း -h or --help option ကို အသုံးပြုပြီး ကြည့်နိုင်ပါတယ်။

Image

  • အထက်ပါ example မှာဆိုရင် ls command မှာ ဘယ်လို option တွေပါဝင်လဲ၊ ဘယ်လို အသုံးပြုရလဲ စစ်ကြည့်တာ ဖြစ်ပါတယ်။
  • အပေါ်ဆုံးမှာ ls command ရဲ့ အသုံးပြုပုံ usage ကို တွေ့ရမှာ ဖြစ်ပါတယ်။
  • နောက်ပြီး option တွေကို ရေးသားတဲ့ အခါမှာလည်း short option နဲ့ long option ဆိုပြီး ရှိပါသေးတယ်။
  • short option ကို - နဲ့ တွဲရေးပြီး long ဆိုရင်တော့ -- နဲ့ ရေးပါတယ်။

  • နောက်ထပ် example တစ်ခုအနေနဲ့ ကျွန်တော်တို့ hidden files or hidden directories တွေကို စစ်လိုတဲ့အခါ ls command မှာ -a or --all option ကို အသုံးပြုပြီး အလွယ်တကူ စစ်ကြည့်နိုင်ပါတယ်။
  • linux မှာ file or directory name တွေသည် dot . နဲ့ စတယ်ဆိုရင် hidden files တွေ ဖြစ်ကြပါတယ်။

Image Image

  • အထက်ပါ example မှာဆိုရင် အနီရောင် highlight သည် hidden file တွေဖြစ်ပြီး အပြာရောင် highlight သည် hidden directory တွေ ဖြစ်ကြပါတယ်။

  • နောက်ပြီးတော့ ကျွန်တော်တို့သည် command တွေမှာ option တွေကို တစ်ခုထပ်မက လိုအပ်သလို ထည့်သွင်းအသုံးပြုနိုင်ပါတယ်။
  • နောက်ထပ် ဥပမာ ပေးရမယ်ဆိုရင် ကျွန်တော့်တို့သည် hidden files တွေအပြင် သူတို့ရဲ့ File Size , Permission , User Owner, Group Owner, Timestamp စတဲ့ metadata information တွေကိုပါ စစ်လိုတဲ့အခါ -l long listing ပြုလုပ်တဲ့ option ကို အသုံးပြုနိုင်ပါတယ်။

Image

1
2
3
4
ls -a -l
ls --all -l
ls -la
ls --inode
  • အထပ်ပါ example ကို ကြည့်မယ်ဆိုရင်လည်း ကျွန်တော်တို့ option တွေ ပုံစံ အမျိုးမျိုးနဲ့ ရေးလို့ရပါတယ်။
  • shortform option အချင်းချင်း အတူတူ တွဲ ရေးလို့ရသလို၊ ခွဲ ရေးလို့လည်း ရပါတယ်။
  • ဒါပေမဲ့ long option နဲ့ short option နဲ့ တော့ အတူတူ တွဲရေးလို့ ရနိုင်မှာ မဟုတ်ပါဘူး။

Arguments

  • ကျွန်တော်တို့ argument အကြောင်းကို ထပ်ပြီး လေ့လာကြည့်ရအောင်။
  • Argument သည် command ဆီကို input ပြုလုပ်မယ့် files , directories အပြင် string pattern တွေလည်း ဖြစ်နိုင်ပါတယ်။
  • ကျွန်တော်တို့ သတ်မှတ်တဲ့ argument data တွေသည် command မှာ input data အနေနဲ့ အလုပ်လုပ် သွားမှာ ဖြစ်ပါတယ်။
  • Argument တစ်ခုကို command ရဲ့ နောက် မှာ လည်း သတ်မှတ် နိုင် သလို option နောက် မှာ လည်း သတ်မှတ် နိုင်ပါတယ်။
  • Technically အရ အတိအကျ ပြောရမယ်ဆိုရင် command ရဲ့ နောက်မှာ options တွေ အပါအဝင် input ပြုလုပ်သမျှ အကုန်လုံးသည် arguemnts တွေလို့ ပြောလို့ ရပါတယ်။ ဒါပေမဲ့ arguments တွေ အကုန်လုံးကတော့ options လို့ တော့ ခေါ်လို့ မရပါဘူး။
  • Options သည် command ရဲ့ အလုပ်လုပ်ပုံ behavior ကိုဘဲ control ပြုလုပ်နိုင်ပြီးတော့ arguments တွေကကျတော့ command တွေရဲ့ output ကို control ပြုလုပ်နိုင်ပါတယ်။

Image

  • အပေါ်က example ကို ကြည့်မယ်ဆိုရင် ls command ကို ဘာ argument မှ မထည့်ဘဲ run မည်ဆိုရင်လျှင် လက်ရှိရောက်နေတဲ့ current working directory ထဲမှာ ရှိတဲ့ content တွေကိုဘဲ default အနေနဲ့ list ပြုလုပ်ပေးမှာ ဖြစ်ပါတယ်။
  • တစ်ကယ်လို့ ကျွန်တော်တို့က /tmp/ directory ထဲမှာ ရှိတဲ့ contents တွေကို list ပြုလုပ်ချင်တဲ့ဆိုရင်တော့ ls command ရဲ့ နောက်မှာ ကျွန်တော့်တို့ list လုပ်ချင်တဲ့ /tmp/ directory လမ်းကြောင်းကို argument အနေနဲ့ ထည့်ပေးရမှာ ဖြစ်ပါတယ်။
  • ထပ်ပီးတော့ ကြည့်ကြည့်မယ်ဆိုရင် argument ကို option တွေရဲ့ နောက်မှာ ထားနိုင်သလို option တွေရဲ့ ရှေ့မှာလည်း ထားလို့ ရတာကို တွေ့ရမှာ ဖြစ်ပါတယ်။

Image

  • အထပ်ပါ example ကို ကြည့်မယ်ဆိုရင်လည်း ls command ကိုအသုံးပြုပြီး /tmp/ နဲ့ /boot/ အောက်မှာရှိတဲ့ contents တွေကို list လုပ်တာ ဖြစ်ပါတယ်။
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
sysadmin@openshellmmcom:~$ 
sysadmin@openshellmmcom:~$ ls /tmp/ /boot/ /var/ /opt
/boot/:
System.map-5.15.0-126-generic  efi                            initrd.img-5.15.0-56-generic  vmlinuz-5.15.0-56-generic
System.map-5.15.0-56-generic   grub                           initrd.img.old                vmlinuz.old
config-5.15.0-126-generic      initrd.img                     vmlinuz
config-5.15.0-56-generic       initrd.img-5.15.0-126-generic  vmlinuz-5.15.0-126-generic

/opt:

/tmp/:
snap-private-tmp
systemd-private-aa39483b66d64bca94a1bbbbe009c150-systemd-logind.service-T9L3nq
systemd-private-aa39483b66d64bca94a1bbbbe009c150-systemd-resolved.service-ePoYFN
systemd-private-aa39483b66d64bca94a1bbbbe009c150-systemd-timesyncd.service-d4WDJh

/var/:
backups  cache  crash  lib  local  lock  log  mail  opt  run  snap  spool  tmp  www
sysadmin@openshellmmcom:~$ 

  • ဒါကြောင့် command တစ်ခုမှာ argument တွေ တစ်ခု ထပ်မက ပိုပြီးတော့ အသုံးပြုနိုင်ပါတယ်။

Image

  • နောက် ထပ် example တစ်ခု ကို ကြည့် ကြည့်ရအောင်။
  • တစ်ချို့ command တွေမှာ ဆိုရင်တော့ sub-command ပါဝင်တာ တွေ့ရမှာ ဖြစ်ပါတယ်။

Image

  • အခုလောက်ဆိုရင်တော့ Linux မှာ command syntax ရေးပုံ ရေးနည်းလေးတွေ အကြမ်းမျည်း နားလည် လောက်ပြီလို့ ထင်ပါတယ်။
This post is licensed under CC BY 4.0 by the author.