#03 Understanding About Directory Paths
#03 Understanding About Directory Paths
Understanding About Directory Paths
- Linux File System ပေါ်မှာ ရှိတဲ့ file or directory တွေရဲ့ တည်နေရာ တွေကို ဖော်ပြတဲ့အခါမှာ path တွေကို အသုံးပြုတာ ဖြစ်ပါတယ်။
-
ကျွန်တော်တို့ Linux မှာ Hierarchy File System တည်ဆောက်ထားပုံကို နားလည်သွားပြီဆိုရင်တော့ linux file system ပေါ်မှာ ရှိတဲ့ file or directory တွေကို copy , move , rename , edit စတဲ့ basic tasks တွေကိုလည်း စတင် လုပ်ဆောင်လို့ ရပြီ ဖြစ်ပါတယ်။
-
ထိုကဲ့သို့ basic tasks တွေ လုပ်ဆောင်နိုင်ဖို့ရန်အတွက် file or directory တွေရဲ့ တည်နေရာ path လမ်းကြောင်းတွေကို အသုံးပြုပြီး လုပ်ဆောင်ရမှာ ဖြစ်ပါတယ်။
- Linux file system ပေါ်မှာ ရှိတဲ့ file or directory တွေရဲ့ တည်နေရာ လမ်းကြောင်းကို သတ်မှတ်အသုံးပြုတဲ့အခါမှာ
- Absolute Path နဲ့
- Relative Path ဆိုပြီး နည်းလမ်း ( 2 ) နည်း ရှိပါတယ်။
- File or directoryတွေကို ကောင်းကောင်း manipulate လုပ်နိုင်ဖို့ရန်အတွက်ဆိုရင် absolute path နဲ့ relative path အသုံးပြုပုံ ကွာခြားချက်ကိုလည်း မဖြစ်မနေ သိထားရမှာ ဖြစ်ပါတယ်။
Absolute Path
- Absolute path သည် အမြဲတမ်း file or directory တစ်ခုရဲ့ လမ်းကြောင်း အပြည့်အစုံကို root
/
ကနေ စပြီး ရေးရတာဖြစ်တယ်။ - Linux file system ရဲ့ starting point ဖြစ်တဲ့
/
root ကနေ စတင်ပြီး လမ်းကြောင့် အပြည့်အစုံကို တစ်ခါတည်းရေး ရတာ ဖြစ်တဲ့ အတွက်ကြောင့် ကိုယ်ညွှန်းချင်တဲ့ file or directory တွေရဲ့လမ်းကြောင်းကို အတိအကျ သိထားရမှာ ဖြစ်ပါတယ်။ - Absolute Path ရဲ့ အားသာချက်က တော့ file or directory ရဲ့ တည်နေရာ လမ်းကြောင်း အပြည့်အစုံကို ရေးပြီး အသုံးပြုတာ ဖြစ်တဲ့ အတွက်ကြောင့် ပိုပြီး တိကျ မှန်ကန်မှု ရှိပါတယ်။
- Bash script တွေရေးတဲ့ အခါမှာ ဆိုရင်တော့ relative path ထက် ပိုပြီး တိကျမှုရှိတဲ့ absolute path ကို အသုံးပြုတာ များပါတယ်။
-
အားနဲချက် ကတော့ ကျွန်တော်တို့ file or directory တွေကို တစ်ခုခု manipulate ပြုလုပ်ချင်တိုင်း absolute path ကိုဘဲ အမြဲ အသုံးပြုမယ်ဆိုရင် relative path အသုံးပြုတာထက် ပိုပြီးတော့ အချိန်ကုန် လူပင်ပန်း စေပါတယ်။
- Absolute Path Example
On Linux: /home/sysadmin/Documents/hello.txt
On Mac: /Users/sysadmin/Documents/hello.txt
-
On Windows: C:\Users\sysadmin\Documents\hello.txt
- အထက်ပါ example မှာ ဆိုရင် window,mac,linux မှာ
hello.txt
file လေးရဲ့ absolute path ရေးပုံ လေးကို နမူနာအနေနဲ့ ပြထားပါတယ်။ - Mac OS နဲ့ Linux မှာဆိုရင်တော့ file or directory တွေရဲ့ absolute path သည် အမြဲတမ်း
/
root ကနေ စတင်မှာ ဖြစ်ပါတယ်။ - Window မှာဆိုရင်တော့ မတူညီတဲ့ drive letter တွေ ရှိနိုင်တဲ့အတွက် absolute path သည်
C:\
D:\
E:\
တို့နဲ့ စတာကို တွေ့ရမှာ ဖြစ်ပါတယ်။
/home/sysadmin/Desktop/runme.sh
path သည် runme.sh script file ရဲ့ linux file system ပေါ်မှာ တည်ရှိတဲ့ absolute path ဖြစ်ပါတယ်။- Absolute path ဖြစ်တဲ့အတွက်ကြောင့်
/
ROOT ကနေ စတာကို တွေ့ရမှာ ဖြစ်ပါတယ်။ - Path လမ်းကြောင်းတွေရေးတဲ့အခါ အစ ဆုံးမှာတွေ့ရတဲ့
/
သည် ROOT directory ဖြစ်ပြီး ကြားထဲမှာတွေ့ရတဲ့/
တွေသည် Separators တွေ ဖြစ်ကြပါတယ်။
Relative path
- Relative path ကတော့ အမြဲတမ်း မိမိလက်ရှိ ရောက်ရှိနေသော directory ကနေစတင်ပြီး လမ်းညွှန်တာ ဖြစ်ပါတယ်။
- အပေါ်က example ကို ကြည့်ပြီး relative path ကို လေ့လာ ကြည့်ရအောင်။
- ပထမဆုံး
pwd
command သည် ကိုယ် အခု လက်ရှိ ရောက်နေတဲ့ directory ကို စစ်ကြည့်တာ ဖြစ်ပါတယ်။ /home/sysadmin
directory ထဲမှာ ရောက်နေတာကို တွေ့ရမှာ ဖြစ်ပါတယ်။ls
command ကို အသုံးပြုပြီး list လုပ်ကြည့်တဲ့အခါDesktop
Documents
Download
Music
Pictures
စတဲ့ directory ကို တွေ့ရမှာ ဖြစ်ပါတယ်။- ကျွန်တော်တို့ access ပြုလုပ်ချင်တဲ့
runme.sh
sciprt file သည်Desktop
directory ထဲမှာ ရှိတာ ဖြစ်တဲ့အတွက်ကြောင့် relative path ကို အသုံးပြုပြီး အလွယ်တကူ access ပြုလုပ်နိုင်ပါတယ်။cat Desktop/runme.sh
- Absoulte path ကိုအသုံးပြုမယ်ဆိုရင်တော့
cat /home/sysadmin/Desktop/runme.sh
ဆိုပြီး/
ROOT ကနေ စတင်ပြီး path လမ်းကြောင်း အပြည့်အစုံ အတိအကျ ရေးပေးရမှာ ဖြစ်ပါတယ်။ cat
command ကတော့ file တစ်ခုအတွင်းမှာ ပါဝင်တဲ့ content တွေကို standard output အနေနဲ့ terminal မှာ ကြည့်လိုတဲ့အခါ အသုံးပြုတာ ဖြစ်ပါတယ်။
Understanding About Single Dot .
and Double Dot . .
Directory
- Linux System မှာ ရှိတဲ့ directory တိုင်း မှာ
.
နဲ့..
directory နှစ်ခု အမြဲတမ်း ပါတာကို တွေ့ရမှာ ဖြစ်ပါတယ်။ ls -la
command ကို အသုံးပြုပြီး စစ်ကြည့်နိုင်ပါတယ်။.
directory ကိုThe "Here and Now"
Directory လို့လည်း ခေါ်ပါတယ်။- ကိုယ်လက်ရှိရောက်နေတဲ့ directory ကိုဘဲ ပြန်လည် ညွှန်းချင်တဲ့အခါ မှာ
.
directory ကို အသုံးပြုတာ ဖြစ်ပါတယ်။ - ဥပမာ ကိုယ်ရောက်ရှိနေတဲ့ directory အတွင်းမှာရှိတဲ့ script file ကို run တဲ့အခါမျိုးတွေမှာဆို အသုံးပြုကြပါတယ်။
1
2
3
4
5
6
7
8
9
sysadmin@openshellmmcom:~/Desktop$
sysadmin@openshellmmcom:~/Desktop$ pwd #check current directory
/home/sysadmin/Desktop
sysadmin@openshellmmcom:~/Desktop$ ls # list content
runme.sh
sysadmin@openshellmmcom:~/Desktop$
sysadmin@openshellmmcom:~/Desktop$
sysadmin@openshellmmcom:~/Desktop$ ./runme.sh #execute runme.sh file
- နောက်ထပ် directory အမျိုးအစားတစ်ခုက တော့ Double Dot
..
Take me back
directory ဖြစ်ပါတယ်။ ..
directory သည် ကိုယ်လက်ရှိရောက်နေတဲ့ directory ရဲ့ parent directory ကို ရည်ညွှန်းတာ ဖြစ်ပါတယ်။- ဥပမာ
/A/B/C/D
directory path မှာဆိုရင်C
သည်D
ရဲ့ parent directory ဖြစ်ပါတယ်။B
သည်C
ရဲ့ parent directory ဖြစ်ပါတယ်။ ထိုနည်းတူ/
သည်A
ရဲ့ parent directory ဖြစ်ပါတယ်။
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
root@openshellmmcom:/A/B/C/D#
root@openshellmmcom:/A/B/C/D# pwd
/A/B/C/D
root@openshellmmcom:/A/B/C/D#
root@openshellmmcom:/A/B/C/D# cd ..
root@openshellmmcom:/A/B/C#
root@openshellmmcom:/A/B/C# pwd
/A/B/C
root@openshellmmcom:/A/B/C#
root@openshellmmcom:/A/B/C# cd ..
root@openshellmmcom:/A/B#
root@openshellmmcom:/A/B# pwd
/A/B
root@openshellmmcom:/A/B#
root@openshellmmcom:/A/B# cd ..
root@openshellmmcom:/A#
root@openshellmmcom:/A# pwd
/A
root@openshellmmcom:/A# cd ..
root@openshellmmcom:/#
- ကိုယ် လက်ရှိရောက်နေတဲ့ directory ကနေ parent directory ကို ပြောင်းလိုတဲအခါမှာ
cd ..
ကို အသုံးပြုနိုင်ပါတယ်။
1
2
3
4
5
6
7
8
9
10
11
12
root@openshellmmcom:/home/sysadmin#
root@openshellmmcom:/home/sysadmin# pwd
/home/sysadmin
root@openshellmmcom:/home/sysadmin#
root@openshellmmcom:/home/sysadmin# cd ../netadmin/Desktop/
root@openshellmmcom:/home/netadmin/Desktop#
root@openshellmmcom:/home/netadmin/Desktop#
root@openshellmmcom:/home/netadmin/Desktop# pwd
/home/netadmin/Desktop
root@openshellmmcom:/home/netadmin/Desktop#
root@openshellmmcom:/home/netadmin/Desktop#
- အပေါ်က example ကို လေ့လာ ကြည့်ရအောင်။
pwd
command ကိုအသုံးပြုပြီး လက်ရှိရောက်နေတဲ့နေရာကို စစ်ကြည့်တာ ဖြစ်ပါတယ်။/home/sysadmin
မှာ ရောက်နေတာကို တွေ့ရမှာ ဖြစ်ပါတယ်။- ကျွန်တော်တို့
/home/netadmin/Desktop
directory ဆီကို သွားချင်တာ ဖြစ်ပါတယ်။ - Relative Path ကို အသုံးပြုမယ်ဆိုရင်တော့
cd ../netadmin/Desktop
ဆိုပြီး parent directory ကနေတစ်ဆင့် netadmin/Desktop directory ထဲကို သွားတာ ဖြစ်ပါတယ်။ -
Absolute path ဆိုရင်တော့
cd /home/netadmin/Desktop/
ဆိုပြီး ရေးပေးရမှာ ဖြစ်ပါတယ်။ - အခု လောက်ဆိုရင်တော့ Absolute Path နဲ့ Relative Path အကြောင်း နားလည် လောက်ပြီလို့ထင်ပါတယ်။ အဆုံးထိ ဖတ်ပေးတဲ့ ကျေးဇူးတင်ပါတယ်။
This post is licensed under
CC BY 4.0
by the author.