Ubuntu ရဲ႕ Bash Shell: “pwd” Command အေၾကာင္းသိေကာင္းစရာမ်ား…
Posted in Ubuntu- ဒီ Command ကေတာ့ လက္ရွိအလုပ္လုပ္ေဆာင္ေနေသာ Directory ကုိ ထုတ္ေပးတာပါ။ “လက္ရွိအလုပ္လုပ္ေဆာင္ေနေသာ Directory” ဆုိတာကေတာ့ File System အတြင္းမွာ မိမိလက္ရွိ ရွိေနေသာေနရာ(Location) ကုိေခၚတာပါ။ တစ္ခုမွတ္ရမွာက “pwd” Command သည္ Output ထုတ္ရာမွာ ျပည့္စုံေသာလမ္းေၾကာင္း (Absolute Path)ကုိေပးစြမ္းပါတယ္။ တစ္နည္းအားျဖင့္ လမ္းေၾကာင္း (Path) ဟာအျမဲတမ္း File System ၏ Root ရဲ့ လမ္းေၾကာင္းတစ္ခုလုံးကုိ ညႊန္ျပရန္ “/” နဲ႔စတင္ေလ့ရွိပါတယ္။ ေအာက္ပါ ဥပမာအခ်ဳိ႕ကုိေလ့လာၾကည့္ပါ။
- Home Directory (/home)ကုိသြားခ်င္တယ္ဆိုရင္ ….
cd /home
pwd
/home
- အခု File System အတြင္းမွ ေနာက္ Directory တစ္ခုကုိ ဆက္သြားခ်င္တယ္ဆုိရင္ ….
cd /var/log
pwd
/var/log
- “cd” Command ကုိသုံးျပီး အေပၚ Directory တစ္ခုေျပာင္း (change directory)ခ်င္တယ္ဆိုရင္..”cd” Command ၏ေနာက္ Space တစ္ခ်က္ႏွင့္ dot ႏွစ္ခု ထည့္ေပးပါ။
cd ..
pwd
/var
- Options
-L logical position
-P physical position, avoid symlinks
- “Options” ကုိနားလည္ရန္ ဒီရိုးရွင္းေသာ Exercise ကုိ စမ္းသပ္ၾကည့္ပါ။ စတင္မယ္ဆိုရင္ မိမိရဲ့ Home Directory ထဲမွာ “Test Directory” တစ္ခုကုိ ဖန္တီးရန္ လိုအပ္ပါတယ္။ ဒါဆိုရင္ ‘pwd” Command ကုိ “execute” လုပ္တဲ့အခါ မိမိဖန္တီးလုိက္ေသာ နာမည္ျဖင့္ Home Directory နဲ႔ Test Directory ကုိေတြ႔ျမင္ရန္လုိအပ္ပါတယ္။
cd
mkdir test
cd test
pwd
/home/user_name/test
- အခုဆုိရင္ Directory အသစ္တစ္ခုအတြက္ “symbolic link” တစ္ခုကုိဖန္တီးလိုက္ပါမယ္။ ပထမဆုံး “blue” လုိ႔ေခၚတဲ့ Directory ႏွင့္၊ ေနာက္ ထုိ Directory ထဲမွာ “symbolic link” တစ္ခုကုိ ဖန္တီးလိုက္ပါ။ ဒါေတြအားလုံးသည္ “Test Directory” ထဲမွာပဲလုပ္ေဆာင္သင့္ပါတယ္။ ေအာက္ပါဥပမာမွာ “mike” ကုိသုံးျပထားပါတယ္။
mkdir blue
ln -s /home/mike/test/blue symlink
ls -l
drwxr-xr-x 2 mike mike 4096 Oct 15 04:03 blue
lrwxrwxrwx 1 mike mike 20 Oct 15 04:04 symlink -> /home/mike/test/blue
- ”blue” လုိ႔ေခၚေသာ Directory တစ္ခုနဲ႔ “symlink” လို႔ေခၚေသာ Directory တစ္ခု ရရွိျပီျဖစ္ပါတယ္။ “ls” Command ကုိရိုက္လုိက္တဲ့အခါ “blue” Directory ကုိ list ထုတ္ေပးပါတယ္။ စာေၾကာင္းထဲက “d”သည္ Directory ျဖစ္ေၾကာင္းျပေပးတယ္ဆိုတာကုိေတာ့ မွတ္သားေစခ်င္ပါတယ္။ အဲဒါကေတာ့ “file type” ပဲျဖစ္ပါတယ္။ “symbolic link” မွာ “l”က “link” ကုိရည္ညႊန္းတာပါ။ အခု “symbolink link” ထဲသုိ႔ေရႊ႕ေျပာင္းျခင္းျဖင့္ “pwd” Command အတြက္ Option ေတြကုိ စမ္းသပ္ၾကည့္ပါမယ္။ ဒါေၾကာင့္အခုလုပ္ေဆာင္ေနတာေတြက “blue” ဆုိတဲ့ Directory ထဲသုိ႔ ေရႊ႕ေျပာင္းေနျခင္းျဖစ္ပါတယ္။ ဒါေပမယ့္ “symbolic link” ကုိသုံးျပီးလုပ္ေဆာင္ေနတာပါ။ မွတ္သားရမွာက “symbolic link” က Directory အတြက္ “Shortcut” တစ္ခုနဲ႔ တူပါတယ္။
cd symlink
pwd
/home/mike/test/symlink
pwd -L
/home/mike/test/symlink
pwd -P
/home/mike/test/blue
- “Output” ကုိျပန္ၾကည့္လုိက္မယ္ဆိုရင္ …”blue” Directory ထဲသုိ႔ ေရႊ႕ေျပာင္းရန္ “symbolic link (shortcut)” ႏွင့္ “pwd” commandကုိသုံးလုိက္တဲ့အခါ “Output”က က်ေနာ္တုိ႔ အခု “symlink directory” ထဲမွာရွိေနတယ္ဆိုတာျပပါလိမ့္မယ္။ တကယ္ေတာ့ Physically ဆုိရင္ေတာ့မရွိပါဘူး။ “blue” Directory အတြက္ link တစ္ခုသာျဖစ္ပါတယ္။ “-L” option ကုိသုံးလုိက္ရင္ File System ထဲရွိ Logical Position ကုိျပပါတယ္။ ရလဒ္ကေတာ့အတူတူပါပဲ။ ဒါေပမယ့္ “-P” option ကုိသုံးမယ္္ဆိုရင္ က်ေနာ္တုိ႔ဟာ “blue” Directory ထဲမွာရွိတယ္ဆိုတဲ့ “physical location” ကုိေတြ႕ႏုိင္ပါတယ္။