DevOps_මුලික_UNIX / Linux_කමන්ඩ්ස් _3 - ඩිරෙක්ටරි සමග සෙල්ලම&#35

ja2k17ja

Member
May 10, 2017
185
166
0
තිස්සමහාරාම
DevOps_මුලික_UNIX / Linux_කමන්ඩ්ස් _3 - ඩිරෙක්ටරි සමග සෙල්ලම#


DevOps_මුලික_UNIX / Linux_කමන්ඩ්ස් _3 - ඩිරෙක්ටරි සමග සෙල්ලම් කිරීමට මොහොතකට පෙර
මුලින්ම ඩිරෙක්ටරි එක්ක සෙල්ලම් කරන්න කලින් තව එක කමාන්ඩ් එකක් අපි දැනගෙන ඉන්න ඕන. මෙම කමාන්ඩ් එක කලින් පාඩමේදී අපි බවිතකරත් එය විස්තර කිරීම පසුවට කල්දමන ලදී . දැන් අපි ඒක ඉගෙන ගනිමු .

එකට කියන්නේ ls කමාන්ඩ් එක කියල . මේක සරලව කිව්වොත් Listing (ලැයිස්තුගත) කමාන්ඩ් එකක්.
මේ කමාන්ඩ් එකෙන් අපිට ඩිරෙක්ටරි එකක් ඇතුලෙ තියෙන file ටික ලැයිස්තුගත කරගන්න පුළුවන් . මේ කමාන්ඩ් එක ඉතාම සරල කමාන්ඩ් එකක් වුනත් Job interviews වලදි අපිට නියම Linux පොරක් හොයා ගන්න හුගක් වැදගත් වුන කමාන්ඩ් එකක්. ඒක නිසා ඔයාලත් මෙටික හොදට මතක තියා ගන්න.
ඔයාලට මතක ඇති කලින් පාඩමේදී මම ls -l කියල කමාන්ඩ් එකක් පාවිච්චි කළා ? මෙන්න මේවගේ
ls -l

nix@Dell ~/UNIX $ ls -l
total 24
-rw-r--r-- 1 nix nix 0 Jun 17 02:11 afile
-rw-r--r-- 1 nix nix 0 Jun 17 02:11 bfile
-rw-r--r-- 1 nix nix 0 Jun 17 02:11 cfile
-rw-r--r-- 1 nix nix 0 Jun 17 02:11 dfile
-rw-r--r-- 1 nix nix 0 Jun 17 02:11 efile
-rw-r--r-- 1 nix nix 0 Jun 17 02:11 file1
-rw-r--r-- 1 nix nix 0 Jun 17 02:11 file2
-rw-r--r-- 1 nix nix 0 Jun 17 02:11 file3
-rw-r--r-- 1 nix nix 0 Jun 17 02:11 file4
-rw-r--r-- 1 nix nix 40 Jun 17 03:01 I_am_old_my_new_file3.c
-rw-r--r-- 1 nix nix 75 Jun 17 02:49 my_new_big_file
-rw-r--r-- 1 nix nix 0 Jun 17 02:07 my_new_file
-rw-r--r-- 1 nix nix 35 Jun 17 02:20 my_new_file2
-rw-r--r-- 1 nix nix 40 Jun 17 02:47 my_new_file3
-rw-r--r-- 1 nix nix 40 Jun 17 02:58 my_new_file3.a
-rw-r--r-- 1 nix nix 40 Jun 17 03:01 my_new_file3.b
මට ඒ කමාන්ඩ් එකෙන් මම දැනට ඉන්න ඩිරෙක්ටරි එක ඇතුලේ තියෙන files ටික ලැයිස්තුවකට දැක ගන්න පුලුවන්වුනා . ඔයාල පොඩ්ඩක් ls වලට පස්සේ තියෙන -l කියන එකට පොඩ්ඩක් අවදානය යොමු කරන්න. අපි මෙන්න මේ කොටසට කියන්නේ ls කමාන්ඩ් එකේ options එහෙම නැතිනම් switches කියල . ඇත්තටම මොකක්ද මේ switches වලින් කෙරෙන්න කියල අපි දැන් බලමු . සරලව කියනවනම් අපි මෙතැනදී කරලතියෙන්නෙ අපිට මොන ආකාරයටද ls කමාන්ඩ් එකේ output එක display කරගන්න ඕනෙ කියන එක ls කමාන්ඩ් එකට දැනුම් දීමයි. ls කමාන්ඩ් එක -l එකට (switches වලට ) හොදට සවන්දිල අපිට ගැලපෙන පරිදි output එක දුන්න. මෙන මේවගේ සියලුම UNIX / Linux කමන්ඩ්ස් වලට switches ඇතුල් කරන්න පුළුවන් , නමුත් who am i කමාන්ඩ් එකට විතරක් බැ, මේ කමාන්ඩ් එකට switches නොමැත. එකත් හොදට මතක තියා ගන්න .

මම මුලින් කියපු විදියට ls කියන්නෙ UNIX / Linux ලෝකෙ තියෙන නියම කමාන්ඩ් එකක් . අපි කවුරුහරි ජොබ් එකකට interview කරනකොට අහන ප්‍රශ්නයක් තමයි ls එකේ switches එකක් නොවෙන English අකුරක් කියන්න කියල. ඔන්න හරි උත්තරයක් ලැබුනොත් ඉතින් අපිට මාර හැපි. කෙලින්නම අපි හරි උතරය කියපු කෙනා ජොබ් එකට ගන්නව . මොකද දන්නවද ඒකට හරි උතරය දෙන්න පුළුවන් UNIX / Linux වලට ආස කරන යට විතරයි. ls එකේ switches නොවෙන English අකුරු දෙකයි තියෙන්නෙ . ඒ තම e සහ j. මේ පොඩි දේත් ඔයාල හොදට මතක තියාගන්න .

දැන් අපි බලමු ls එකත් එක්ක වැදගත් වන switches ටිකක් උදාහරණ මගින් .

1) ls

nix@Dell ~/UNIX $ ls
afile cfile efile file2 file4 my_new_big_file my_new_file2 my_new_file3.a
bfile dfile file1 file3 I_am_old_my_new_file3.c my_new_file my_new_file3 my_new_file3.b

හොදට මතක තියාගන්න switches (options ) කිසිවක් නොමැතිව වුවත් ls කමාන්ඩ් එකට පුළුවන් alphabetical ඔඩර් එකට display කරන්න.
දැන් අපි ls කමාන්ඩ් එකෙන් විතරක්ම බලාගන්න බැරි ෆයිල් මොනවද කියල බලමු .
අපි .my_hiden_file කියල ෆයිල් එකක් මේවිදියට හදමු

touch .my_hiden_file

දැන් ls විතරක් දීල බලමු

nix@Dell ~/UNIX $ ls
afile cfile efile file2 file4 my_new_big_file my_new_file2 my_new_file3.a
bfile dfile file1 file3 I_am_old_my_new_file3.c my_new_file my_new_file3 my_new_file3.b

හ්ම් අපි හදපු ".my_hiden_file" එක පේන්න නැ . ඒකට හේතුව තමයි, ෆයිල් name එකක් . (තිතකින්) එකකින් පටන්ගන්නවිට එම ෆයිල් එක hidden file එකක් විදියට තමයි UNIX / Linux සලකන්නෙ . දැන් අපිට පැහැදිලියි නිකම්ම නිකම් ls කමාන්ඩ් එකෙන් hidden files පෙන්නන්නේ නැ කියල. hidden file බලා ගැනීමට අපිට අනිව switches එකක් පාවිච්චිකරන්න වෙනවා.


2) ls -a

nix@Dell ~/UNIX $ ls -a
. afile cfile efile file2 file4 .my_hiden_file my_new_file my_new_file3 my_new_file3.b
.. bfile dfile file1 file3 I_am_old_my_new_file3.c my_new_big_file my_new_file2 my_new_file3.a

මෙවිට නම් අපිට .my_hiden_file ෆයිල් එක බලාගන්න පුළුවන්. එකට හේතුව තමයි අපි a ඔප්ෂන් එක මගින් ls ට කිව්වා hidden files ටිකත් පෙන්නන්න කියල.
ඔයාල ඉහල තියෙන output එක දිහා හොදට බැලුවොත් ඔයාලට තව දෙයක් දැකගන්න පුළුවන් . ඒ තමයි අන්තිම පේලි දෙක පටන් ගන්නේ අමුතු විදියකට කියල. මේකත් හිතේ තියාගෙන අපි ඊලග කමාන්ඩ් එකට යමු.

3) ls -l සහ ls -al

nix@Dell ~/UNIX $ ls -l
total 24
-rw-r--r-- 1 nix nix 0 Jun 17 02:11 afile
-rw-r--r-- 1 nix nix 0 Jun 17 02:11 bfile
-rw-r--r-- 1 nix nix 0 Jun 17 02:11 cfile
-rw-r--r-- 1 nix nix 0 Jun 17 02:11 dfile
-rw-r--r-- 1 nix nix 0 Jun 17 02:11 efile
-rw-r--r-- 1 nix nix 0 Jun 17 02:11 file1
-rw-r--r-- 1 nix nix 0 Jun 17 02:11 file2
-rw-r--r-- 1 nix nix 0 Jun 17 02:11 file3
-rw-r--r-- 1 nix nix 0 Jun 17 02:11 file4
-rw-r--r-- 1 nix nix 40 Jun 17 03:01 I_am_old_my_new_file3.c
-rw-r--r-- 1 nix nix 75 Jun 17 02:49 my_new_big_file
-rw-r--r-- 1 nix nix 0 Jun 17 02:07 my_new_file
-rw-r--r-- 1 nix nix 35 Jun 17 02:20 my_new_file2
-rw-r--r-- 1 nix nix 40 Jun 17 02:47 my_new_file3
-rw-r--r-- 1 nix nix 40 Jun 17 02:58 my_new_file3.a
-rw-r--r-- 1 nix nix 40 Jun 17 03:01 my_new_file3.b


nix@Dell ~/UNIX $ ls -al
total 32
drwxr-xr-x 2 nix nix 4096 Jun 17 16:32 .
drwxr-xr-x 46 nix nix 4096 Jun 17 15:07 ..

-rw-r--r-- 1 nix nix 0 Jun 17 02:11 afile
-rw-r--r-- 1 nix nix 0 Jun 17 02:11 bfile
-rw-r--r-- 1 nix nix 0 Jun 17 02:11 cfile
-rw-r--r-- 1 nix nix 0 Jun 17 02:11 dfile
-rw-r--r-- 1 nix nix 0 Jun 17 02:11 efile
-rw-r--r-- 1 nix nix 0 Jun 17 02:11 file1
-rw-r--r-- 1 nix nix 0 Jun 17 02:11 file2
-rw-r--r-- 1 nix nix 0 Jun 17 02:11 file3
-rw-r--r-- 1 nix nix 0 Jun 17 02:11 file4
-rw-r--r-- 1 nix nix 40 Jun 17 03:01 I_am_old_my_new_file3.c
-rw-r--r-- 1 nix nix 0 Jun 17 16:32 .my_hiden_file
-rw-r--r-- 1 nix nix 75 Jun 17 02:49 my_new_big_file
-rw-r--r-- 1 nix nix 0 Jun 17 02:07 my_new_file
-rw-r--r-- 1 nix nix 35 Jun 17 02:20 my_new_file2
-rw-r--r-- 1 nix nix 40 Jun 17 02:47 my_new_file3
-rw-r--r-- 1 nix nix 40 Jun 17 02:58 my_new_file3.a
-rw-r--r-- 1 nix nix 40 Jun 17 03:01 my_new_file3.b

දැන් ඔයාලට තියෙන්නේ මේ කමන්ඩ්ස් දෙකෙන් ලැබුන output දෙක සංසන්දනය කරන්න . එතකොට ඔයාලට පේනවා a ඔප්ෂන් එකත් එක්ක ls දෙන output වල අමුතුම දෙයක් අඩංගු වෙලා තියෙනවා කියල. පොඩ්ඩක් හොදට බලන්න .

හරි මෙන් මේකයි ඒ අමුතුම දේ .
"." සහ ".." කියල ඩොට් වලින් නිරුපනය වන ගුප්ත files දෙකක් පේන්න තියෙනව . මේවා ඩොට් නිසා a ඔප්ෂන් එකේදී විතරයි පෙන්නුම් කරන්නෙ .

දැන් තියෙන ප්‍රශ්නය තමා ඇත්තටම මොකක්ද මේ ඩොට් එකා සහ ඩොට් දෙකා කියන්නේ කියල:D. මම මේ කියනදේ හොදට හිතේ තියාගන්න. ඒ වගේම හොදින් පිළිගන්න . හොදේ ....

මම කලින්න කිව්වන්නේ UNIX / Linux වල හැම දෙයක්ම file එකක් කියල. (සරල සිංහලෙන් කියනවනම් හැම මගුලක්ම ෆයිල් එකක් ). UNIX / Linux වලදි directory ත් සැලකෙන්නේ ෆයි විදියට කියල ඔයාල දන්නවනේ. මේ තියෙන . සහ .. මගින් නිරුපනය කරන්නෙත් ඩිරෙක්ටරි දෙකක් නියෝජනය කරන files දෙකක්.

ඩොට් එකා (.) මගින් තමන් දැන් සිටින (ls කමාන්ඩ් එක බාවිතාකල ) ඩිරෙක්ටරිය නිරුපනය කරන අතර ඩොට් දෙකා (..) මගින් තමන් දැන් සිටින ඩිරෙක්ටරියේ මවු (තමන් දැන් සිටින directory එකට් එක මට්ටමක් ඉහලින් තිබෙන directory එක) ඩිරෙක්ටරිය නිරුපනය කරයි. මේ පිලිබදව තව පැහැදිලි කිරීමකට යාමට පෙර මට ඔයාලට තව එක කමාන්ඩ් එකක් කියල දෙන්න වෙනවා. ඒ කමාන්ඩ් එකෙන් අපි දැනට රැදී සිටින directory එක කුමක් ද කියල දැනගන්න පුළුවන්.
එක තම pwd මේකට කියන්නේ print working directory කමාන්ඩ් එක කියල අපි දැන් එක ට්‍රයි කරලා බලමු

nix@Dell ~/UNIX $ pwd
/home/nix/UNIX

දැන් අපි දන්නවා ඉන්න තැන ( /home/nix/UNIX ) ඊළගට අපි එම ඩිරෙක්ටරි එකේම ls -al ට්‍රයි කරමු.

nix@Dell ~/UNIX $ ls -al
total 32
drwxr-xr-x 2 nix nix 4096 Jun 17 16:32 .
drwxr-xr-x 46 nix nix 4096 Jun 17 15:07 ..
-rw-r--r-- 1 nix nix 0 Jun 17 02:11 afile
-rw-r--r-- 1 nix nix 0 Jun 17 02:11 bfile
-rw-r--r-- 1 nix nix 0 Jun 17 02:11 cfile
-rw-r--r-- 1 nix nix 0 Jun 17 02:11 dfile
-rw-r--r-- 1 nix nix 0 Jun 17 02:11 efile
-rw-r--r-- 1 nix nix 0 Jun 17 02:11 file1
-rw-r--r-- 1 nix nix 0 Jun 17 02:11 file2
-rw-r--r-- 1 nix nix 0 Jun 17 02:11 file3
-rw-r--r-- 1 nix nix 0 Jun 17 02:11 file4
-rw-r--r-- 1 nix nix 40 Jun 17 03:01 I_am_old_my_new_file3.c
-rw-r--r-- 1 nix nix 0 Jun 17 16:32 .my_hiden_file
-rw-r--r-- 1 nix nix 75 Jun 17 02:49 my_new_big_file
-rw-r--r-- 1 nix nix 0 Jun 17 02:07 my_new_file
-rw-r--r-- 1 nix nix 35 Jun 17 02:20 my_new_file2
-rw-r--r-- 1 nix nix 40 Jun 17 02:47 my_new_file3
-rw-r--r-- 1 nix nix 40 Jun 17 02:58 my_new_file3.a
-rw-r--r-- 1 nix nix 40 Jun 17 03:01 my_new_file3.b

දැන් අපිට කියන්න පුළුවන් ඉහලින් තියෙන ඩොට් එකා සහ ඩොට් දෙකා මගින් නිරුපනය කරන ඩිරෙක්ටරි මොනවද කියල
. මගින් /home/nix/UNIX ඩිරෙක්ටරියත් සහ .. මගින් /home/nix ඩිරෙක්ටරියත් නිරිපනය කරනව.

දැන් ඉතින් අපිට ඩිරෙක්ටරි සමග සෙල්ලම් පටන් ගන්න පුළුවන්. දැනට් මම නවතිමි.
DevOps_මුලික_UNIX / Linux_කමන්ඩ්ස් _4 - ඩිරෙක්ටරි සමග සෙල්ලම්!
පොඩ්ඩක් ඉන්න අපි ආපසු ls ගැන ගොඩක් දේවල් කතාකරනව . හොද ද ???
 
Last edited:

Elaaz

Member
Apr 23, 2012
821
37
0
එල එල මචන්. දිගටම කරගෙන යන්න රේප්++
:P:P
 

RandomGuy

Well-known member
  • Oct 15, 2014
    17,376
    16,219
    113
    meke inne hena linux expertsla. rassawal nathi unata un kernel unath modify karala re-build karala use karana level eke ewun...

    ls, cat wage ewa kiyanna gihin ubata banum ahaganna wei apahasa kara kiyala meke unta.