DevOps_මුලික_UNIX / Linux_කමන්ඩ්ස් _4 - ඩිරෙක්ටරි සමග සෙල්ලම#
DevOps_මුලික_UNIX / Linux_කමන්ඩ්ස් _4 - ඩිරෙක්ටරි සමග සෙල්ලම්!
දැන් ඉතින් අපිට directory සමග සෙල්ලම් පාඩම පටන් ගන්න පුළුවන්. මේ පාඩමෙන් පස්සේ අපි ආපසු ls ගැන හුගක් දේවල් ඉගෙන ගන්නව .
නිරන්තරයෙන්ම UNIX / Linux යුසර් කෙනෙක් ලොග් වුනගමන්ම එයාව කෙලින්ම එයාගේ working ඩිරෙක්ටරි එකට යොමුවෙනව . අපි මේ working ඩිරෙක්ටරි එකට එයාගේ home ඩිරෙක්ටරි එක කියලත් කියනව . ඉස්සර බොහොමයක් UNIX සිස්ටම්ස් වල මේ හෝම් ඩිරෙක්ටරි එක පිහිටල තිබුනේ /usr එක ඇතුලෙ මෙන්න මේවිදියට /usr/<username>. ඊට අමතරවමෙන්න මේ වගේ තැන්වලත් පිහිටල තිබුන
උද:
/user/<username>
/users/<username>
වර්තමානයේදී සියලුම Linux මෙහෙයුම් පද්දතිවල user ගෙ home ඩිරෙක්ටරිය පිහිටලා තියෙන්නෙ /home එක ඇතුලෙ මේ විදියට /home/<username>
ඒවගේම $HOME කියන Environment variable එකේ යුසර් ගෙ හෝම් ඩිරෙක්ටරි එක තියෙනෙ කොහිද කියල තැම්පත් වෙලා තියෙනව. අපිට් $HOME එකේ තියෙන දේ මෙන්න මේ විදියට බලා ගන්න පුළුවන් .
ට්රයි echo $HOME
echo කමාන්ඩ් එක ගැන ඉදිරියට පොඩි විස්තරයක් කරන්න බලාපොරොත්තුවෙනව.
තව දෙයක් හොදින් මතක තියා ගන්න . user කෙනෙකුගෙ හෝම් ඩිරෙක්ටරිය මෙන්න මේ සංකේතය ~ මගින නියෝජනය කරනව (මේකට අපි tilde කැරැක්ටර් කියල කියනව, මේක US English keyboard එකේ 1වන කී එක)
මේ බලන්න
අපි දැන් ඩිරෙක්ටරි හා බැදුන කමාන්ඩ් එකින් එක ඉගෙන ගනිමු .
1) pwd
මේකට කියන්නේ print working directory කමාන්ඩ් එක කියල. මේ කමාන්ඩ් එක ගැන මම කලින් පාඩමේ විස්තරයක් කල . මතක ඇති කියල හිතනව.
2) mkdir
අපි මේ කමාන්ඩ් එක අලුතෙන් ඩිරෙක්ටරි එකක් සාදාගැනීමට බාවිතා කරන කමාන්ඩ් එකයි .
අපි මේ කමාන්ඩ් එක උදාහරණ සමගින් ඉගෙන ගනිමු .
ට්රයි mkdir kuppiya
ට්රයි ls -l
මතක තියා ගන්න ls කමාන්ඩ් එකෙන් files විතරක් නෙවි directories ලැයිස්තුගත කරනව.
ට්රයි mkdir kuppiya1 kuppiya2
දැන් ට්රයි ls -l
ට්රයි mkdir {book,games,video,mp3}
දැන් ls -l
දැන් ඔයාලට පැහැදිලියිනෙ අපිට mkdir කමාන්ඩ් එකෙන් එකපාර එක ඩිරෙක්ටරියක් මෙන්ම කිහිපයක්ම සාදාගන්න පුළුවන් බව. මෙ අලුත් ඩිරෙක්ටරි සියල්ලම තැනුනේ අපි දැනට සිටින directory ය ඇතුලේමයි . pwd මගින් අපි ඉන්න ඩිරෙක්ටරිය සොයාගන්න පුළුවන්. දැන් මම සිටින්නේ ....
අපි තව පොඩ්ඩක් ඉදිරියට යමු.
මේ mkdir කමාන්ඩ් එකටත් options / switches තියෙනව . අපි දැන් options කිහිපයක් ට්රයි කරලා බලමු .
අපි හිතමු අපිට /home/nix/UNIX එක ඇතුලෙ එක පාරට ඩිරෙක්ටරි පරම්පරාවක් හදාගන්න ඕන කියල හරියට මෙන්න මේවගේ
/home/nix/UNIX/great_grandfather/grandfather/father/son දැන් අපි ඉන්නෙ /home/nix/UNIX. අපිට මේක mkdir තනි කමාන්ඩ් එකෙන් විතරක් කරන්න බෑ, එකට option එකක් යොදාගන්න වෙනව.
ට්රයි mkdir great_grandfather/grandfather/father/son
හ්ම්
දැන් අපි p කියන option / switch එකත් එක්ක ට්රයි කරල බලමු .
mkdir -p great_grandfather/grandfather/father/son
දැන් වැඩේ හරි . අපිට -p කියන option එක මගින් ඩිරෙක්ටරි පරම්පරාවක්ම එක පාරට හදාගන්න පුළුවන්.
දැන් අපි ls -l පාරක් දාල බලමු
ඔය ඉන්නේ අපේ "great_grandfather" ඕක ඇතුලට ගියොත් අපිට් පුළුවන් අපේ "grandfather" වත් බලාගන්න . අපි කොහොමද "great_grandfather" ගෙ ඇතුලට යන්නෙ . එකට අපිට අලුත් කමාන්ඩ් එකක් යොදාගන්න වෙනවා .
3) cd
මේ කමාන්ඩ් එකට සිංගලෙන් කියන්නේ චේන්ජ් ඩිරෙක්ටරි කියල English වලින් කියන්නෙ Change Directory කියල
ට්රයි cd great_grandfather
දැන් pwd පාරක් දන්නා
දැන් ls -l කමාන්ඩ් එක දෙන්න .
ඔය තියෙන්නේ "grandfather" ව
දැන් අපි grandfather ගෙ ඇතුලට යමු ...
ඊළගට pwd
ඊළගට ls -l
දැන් අපිට "father" ඉන්නව පේනවා .
ඇත්තටම අපි මේවිදියට ඩිරෙක්ටරි එකෙන් ඩිරෙක්ටරි එකට මරුවෙන්නතුව දැන් අපි ඉන්න ඩිරෙක්ටරියේ ඉදල කෙලින්ම එකපාර අන්තිම පුරුකෙ තියෙන ඩිරෙක්ටරි එකට මාරු වෙන්න පුළුවන් . මෙන්න මෙහෙම
cd father/son
දැන් pwd
දැන් අපි ඉන්නේ "son" එක ඇතුලෙ අපි son එකට අවේ "grandfather" එකේ ඉදල . අපිට ආපසු කලින් හිටපු ඩිරෙක්ටරි එකට යන්න ඕන කියල හිතුනොත් අපිට මේ කමාන්ඩ් එක දීල "grandfather" එකට යන්න පුළුවන් .
ට්රයි cd -
දැන් අපි ඉන්නේ "grandfather" එක ඇතුලේ.
අපිට හිතුනොත් මගේ home ඩිරෙක්ටරි එකට යන්න ඕන කියල එකත් හරිම සිම්පල්, මෙන්න මෙහෙමයි එක කරන්නේ
ට්රයි cd ~
දැන් ට්රයි pwd
දැක්ක නේද ... මම ඔයාලට මුලින් කිව්වා ~ මගින් user ගේ හෝම් ඩිරෙක්ටරිය නියෝජනය කරනවා කියල .
අපිට හිතුනොත් user ගෙ හෝම් ඩිරෙක්ටරිය ඇතුලෙඅලුතෙන් my_tutorials කියල ඩිරෙක්ටරි එකක් හදන්න ඕන කියල අපිට එකත් මේ විදියට කරන්න පුළුවන් .
mkdir ~/my_tutorials
ඊටපස්සෙ අපිට ඒ අලුත් ඩිරෙක්ටරි එකට මේවිදියට මරුවෙන්නත් පුළුවන්
cd ~/my_tutorials
දැන් pwd දීල බලමු .
දැක්කනේද "my_tutorials" තියෙන්නෙ "/home/nix" එක ඇතුලේ. /home/nix කියන්නෙ මගේ හෝම් ඩිරෙක්ටරි එක .
දැන් මම ඔයාලට තව පොඩි දෙයක් කියල දෙන්නම් . ඔයාලට මතකද ඩොට් එකා (.) සහ ඩොට් දෙකා (..) ගෙ කතාව ?
අපි අලුතින් ඩිරෙක්ටරි එකක් සදනකොට ඒ ඩිරෙක්ටරිය ඇතුලෙ ඉබේම මේ කියන ඩොට් එකා (.) සහ ඩොට් දෙකා (..) කියන ෆයිල් දෙක සැදෙනවා .
අපිට ls -al කමාන්ඩ් එකෙන් චෙක් කරගන්න පුළුවන්
මේ බලන්න
මම දැන් කියන්න යන්නේ අපිට මේ ඩොට් දෙකා (..) වැදගත් වෙන ආකාරය . මම කිව්වා .. මගින් තමන් දැන් සිටින ඩිරෙක්ටරියේ මවු ඩිරෙක්ටරිය නිරුපනය කරනවා කියල.
අපිට .. ප්රෝයෝජනයට ගෙන අපි ඉන්න ඩිරෙක්ටරියේ සිටි එහි මවු ඩිරෙක්ටරියට පනින්න පුළුවන්.
එක කරන්නෙ මෙන්න මෙහෙමයි .
ට්රයි cd ..
මම දැන් ඉන්නෙ මම අවසානෙට හදපු "my_tutorials" එක ඇතුලෙ, මේ ටික හොදින් බලා ගන්න
අන්තිමට මම නතරවුණේ "/home/nix" ඇතුලේ. /home/nix කියන්නේ "my_tutorials" හි මවු ඩිරෙක්ටරි එක.
අපිට මෙන්න මේ විදියට ඩිරෙක්ටරි කිහිපයක් වුනත් මුල් මට්ටම් දක්වා යන්න පුළුවන් .
ට්රයි cd ../..
මේ බලන්න
අන්තිමට මම නතරවුනේ / එකේ
දැන් ඔයාලට ඩිරෙක්ටරි එක්ක ලොකු ලොකු සෙල්ලම් කරන්න පුළුවන්. ඊළගට මම කියල දෙන්න ඩිරෙක්ටරි delete කරන විදිය සහ rename කරන විදිය .
4) rmdir
මේක තමයි UNIX / Linux වල තියෙන ඩිරෙක්ටරි මකන්නම කියල හදපු කමාන්ඩ් එක. මගේ ජීවිතේදී මම මේ කමාන්ඩ් එක 10 පාරක් වත් බාවිතා කරලා තියෙනවද කියල දන්නේ නෑ
එවුනට මෙහෙම එකක් තියෙනවා කියල අනිව දැනගන්න ඕන හොදේ ....
අපි දැන් අලුතින් ඩිරෙක්ටරි කිහිපයක් හදල වැඩ පටන් ගනිමු.
දැන් අපි rmdir directory3 කරමු
nix@Dell ~/directory1/directory2 $ rmdir directory3
වැඩේ හරි "directory3" ඩිලීට් වුනා .
දැන් අපි තව ටික ඉදිරියට යමු.
නැවතත් directory3 හදමු
mkdir directory3
දැන් directory3 හි ඇතුලට යමු .
cd directory3
ඊළගට touch කමාන්ඩ් එකෙන් අලුත් ෆයිල් එකක් හදමු.
ඊළගට අපි directory3 හි මවු ඩිරෙක්ටරියට යමු
දැන් අපි ඉන්නේ "directory2" ඇතුලෙ ,ඊළගට "directory3" rmdir මගින් ඩිලීට් කරන්න බලමු.
ට්රයි rmdir directory3
නමුත් directory3 ඩිලීට් වෙන්නෑ . එකට හේතුව කියලම තියෙන්නේ. මේකෙන් අපිට එක දෙයක් තහවුරු වෙනව ඒ තමයි rmdir මගින් ඩිලීට් කරන්න (මකන්න) පුළුවන් වෙන්නෙ Empty ඩිරෙක්ටරි විතරයි .
අපි දැන් directory3 එක ඇතුලේ තියෙන දේවල් delete කරමු.
පොඩ්ඩක් මතක තියා ගන්න rm එක්ක යොදපු * සලකුණ .
දැන් directory3 ඇතුලේ මුකුත්ම නෑ. දැන් අපිට directory3 ඩිලීට් කරන්න පුළුවන්.
අපි මේ පාර ඩිලීට් කරන්නේ directory1/directory2/directory3 කියන ඩිරෙක්ටරි පෝලිමම
මෙන්න මෙහෙමයි එක කරන්නේ.
මතක තියාගන්න rmdir සමග -p ඔප්ෂන් එක යෙදු විට , එකපාරම මවු ඩිරෙක්ටරි සමගම අදාල ඩිරෙක්ටරිය delete කරගන්න පුළුවන්. නමුත් ඩිරෙක්ටරි සියල්ල Empty ඩිරෙක්ටරි (file නැති) විය යුතුයි.මෙන්න මේ හේතුව නිසා තමයි මම මේ කමාන්ඩ් එක බාවිත නොකරන්නෙ .
rmdir බාවිතා කරන තවත් ආකාරයක් අපි දැන් බලමු .මුලින්ම අපි ඩිරෙක්ටරි කිහිපයක් සදගනිමු .
mkdir {directory1,directory2,directory3} හෝ mkdir directory1 directory2 directory3 බාවිතා කරන්න පුළුවන් .
දැන් අපි මේ ඩිරෙක්ටරි තුනම එක පාරට delete කරමු , එක කරන්නේ මෙන්න මෙහෙමයි .
rmdir {directory1,directory2,directory3} හෝ rmdir directory1 directory2 directory3
දැන් මම කියල දෙන්නම් බොහොමයක් දෙනා කොහොමද ඩිරෙක්ටරි delete කරන්නෙ කියල . අපි එකට බාවිතා කරන්නෙත් මම කලින් පාඩමේ හදුන්වල දුන්න rm කමාන්ඩ් එකට option ටිකක් එකතු කරල .
මුලින්නම අලුතෙන් ඩිරෙක්ටරි එකක් හදා ගමු ඊටපස්සේ එක ඇතුලේ file එකකුත් හදාගනිමු . මෙන්න මේ විදියට
අපිට "test_rm" ඩිරෙක්ටරිය ඇතුලට යන්නේ නැතුවම එකේ ඇතුලේ තියෙන ෆයිල් මේ විදියට බලාගන්න පුළුවන්.
ls -l test_rm/
මේ බලන්න
දැන් අපි "test_rm" ඩිරෙක්ටරි එක ඩිලීට් කරමු. ඒකට අපි rm සමග -r ඔප්ෂන් එක යොදනව (අපිට සිම්පල් r හෝ කැපිටල් R යන දෙකෙන් ඕනෑම එකක් යොදාගන්න පුළුවන් )
rm -r test_rm
දැන් අපි test_rm එක තියෙනවද නැද්ද කියල බලමු.
ls -l test_rm/
ආ ඔය කියල තියෙන්නේ "test_rm" නැ කියල .
5) mv
අපි mv කමාන්ඩ් එකෙන් තමයි ලෙහෙසියෙන්ම ඩිරෙක්ටරි එකක් rename කරගන්නෙ . අපි එකට අලුතින් ඩිරෙක්ටරි එකක් හදගෙනම ට්රයි බලමු. mv එකට අදාල options / switches ටික මගේ ටියුටෝරියල්ස් වලදී විස්ටර කරනව . හොදද ...
දැන් වැඩේ පැහැදිලියිනේද ?
මම හිතනවා දැන් ඔයාලට ඩිරෙක්ටරි සමග හොද හොද සෙල්ලම් ටිකක් දන්නා පුළුවන් අතිකියල .
අපි නැවතත් ls ගැන කතා කරන්නට බලාපොරොත්තුවෙන් දැනට් මම නවතිමි.
ස්තුතියි .
DevOps_මුලික_UNIX / Linux_කමන්ඩ්ස් _4 - ඩිරෙක්ටරි සමග සෙල්ලම්!
දැන් ඉතින් අපිට directory සමග සෙල්ලම් පාඩම පටන් ගන්න පුළුවන්. මේ පාඩමෙන් පස්සේ අපි ආපසු ls ගැන හුගක් දේවල් ඉගෙන ගන්නව .
නිරන්තරයෙන්ම UNIX / Linux යුසර් කෙනෙක් ලොග් වුනගමන්ම එයාව කෙලින්ම එයාගේ working ඩිරෙක්ටරි එකට යොමුවෙනව . අපි මේ working ඩිරෙක්ටරි එකට එයාගේ home ඩිරෙක්ටරි එක කියලත් කියනව . ඉස්සර බොහොමයක් UNIX සිස්ටම්ස් වල මේ හෝම් ඩිරෙක්ටරි එක පිහිටල තිබුනේ /usr එක ඇතුලෙ මෙන්න මේවිදියට /usr/<username>. ඊට අමතරවමෙන්න මේ වගේ තැන්වලත් පිහිටල තිබුන
උද:
/user/<username>
/users/<username>
වර්තමානයේදී සියලුම Linux මෙහෙයුම් පද්දතිවල user ගෙ home ඩිරෙක්ටරිය පිහිටලා තියෙන්නෙ /home එක ඇතුලෙ මේ විදියට /home/<username>
ඒවගේම $HOME කියන Environment variable එකේ යුසර් ගෙ හෝම් ඩිරෙක්ටරි එක තියෙනෙ කොහිද කියල තැම්පත් වෙලා තියෙනව. අපිට් $HOME එකේ තියෙන දේ මෙන්න මේ විදියට බලා ගන්න පුළුවන් .
ට්රයි echo $HOME
nix@Dell ~ $ echo $HOME
/home/nix
echo කමාන්ඩ් එක ගැන ඉදිරියට පොඩි විස්තරයක් කරන්න බලාපොරොත්තුවෙනව.
තව දෙයක් හොදින් මතක තියා ගන්න . user කෙනෙකුගෙ හෝම් ඩිරෙක්ටරිය මෙන්න මේ සංකේතය ~ මගින නියෝජනය කරනව (මේකට අපි tilde කැරැක්ටර් කියල කියනව, මේක US English keyboard එකේ 1වන කී එක)
මේ බලන්න
nix@Dell ~ $ echo ~
/home/nix
අපි දැන් ඩිරෙක්ටරි හා බැදුන කමාන්ඩ් එකින් එක ඉගෙන ගනිමු .
1) pwd
මේකට කියන්නේ print working directory කමාන්ඩ් එක කියල. මේ කමාන්ඩ් එක ගැන මම කලින් පාඩමේ විස්තරයක් කල . මතක ඇති කියල හිතනව.
nix@Dell ~ $ pwd
/home/nix
2) mkdir
අපි මේ කමාන්ඩ් එක අලුතෙන් ඩිරෙක්ටරි එකක් සාදාගැනීමට බාවිතා කරන කමාන්ඩ් එකයි .
අපි මේ කමාන්ඩ් එක උදාහරණ සමගින් ඉගෙන ගනිමු .
ට්රයි mkdir kuppiya
nix@Dell ~/UNIX $ mkdir kuppiya
ට්රයි ls -l
nix@Dell ~/UNIX $ ls -l
total 28
-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
drwxr-xr-x 2 nix nix 4096 Jun 18 11:00 kuppiya
-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
මතක තියා ගන්න ls කමාන්ඩ් එකෙන් files විතරක් නෙවි directories ලැයිස්තුගත කරනව.
ට්රයි mkdir kuppiya1 kuppiya2
nix@Dell ~/UNIX $ mkdir kuppiya1 kuppiya2
දැන් ට්රයි ls -l
nix@Dell ~/UNIX $ ls -l
total 36
-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
drwxr-xr-x 2 nix nix 4096 Jun 18 11:00 kuppiya
drwxr-xr-x 2 nix nix 4096 Jun 18 11:02 kuppiya1
drwxr-xr-x 2 nix nix 4096 Jun 18 11:02 kuppiya2
-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
ට්රයි mkdir {book,games,video,mp3}
nix@Dell ~/UNIX $ mkdir {book,games,video,mp3}
දැන් ls -l
nix@Dell ~/UNIX $ ls -l
total 52
-rw-r--r-- 1 nix nix 0 Jun 17 02:11 afile
-rw-r--r-- 1 nix nix 0 Jun 17 02:11 bfile
drwxr-xr-x 2 nix nix 4096 Jun 18 11:04 book
-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
drwxr-xr-x 2 nix nix 4096 Jun 18 11:04 games
-rw-r--r-- 1 nix nix 40 Jun 17 03:01 I_am_old_my_new_file3.c
drwxr-xr-x 2 nix nix 4096 Jun 18 11:00 kuppiya
drwxr-xr-x 2 nix nix 4096 Jun 18 11:02 kuppiya1
drwxr-xr-x 2 nix nix 4096 Jun 18 11:02 kuppiya2
drwxr-xr-x 2 nix nix 4096 Jun 18 11:04 mp3
-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
drwxr-xr-x 2 nix nix 4096 Jun 18 11:04 video
දැන් ඔයාලට පැහැදිලියිනෙ අපිට mkdir කමාන්ඩ් එකෙන් එකපාර එක ඩිරෙක්ටරියක් මෙන්ම කිහිපයක්ම සාදාගන්න පුළුවන් බව. මෙ අලුත් ඩිරෙක්ටරි සියල්ලම තැනුනේ අපි දැනට සිටින directory ය ඇතුලේමයි . pwd මගින් අපි ඉන්න ඩිරෙක්ටරිය සොයාගන්න පුළුවන්. දැන් මම සිටින්නේ ....
nix@Dell ~/UNIX $ pwd
/home/nix/UNIX
අපි තව පොඩ්ඩක් ඉදිරියට යමු.
මේ mkdir කමාන්ඩ් එකටත් options / switches තියෙනව . අපි දැන් options කිහිපයක් ට්රයි කරලා බලමු .
අපි හිතමු අපිට /home/nix/UNIX එක ඇතුලෙ එක පාරට ඩිරෙක්ටරි පරම්පරාවක් හදාගන්න ඕන කියල හරියට මෙන්න මේවගේ
/home/nix/UNIX/great_grandfather/grandfather/father/son දැන් අපි ඉන්නෙ /home/nix/UNIX. අපිට මේක mkdir තනි කමාන්ඩ් එකෙන් විතරක් කරන්න බෑ, එකට option එකක් යොදාගන්න වෙනව.
ට්රයි mkdir great_grandfather/grandfather/father/son
nix@Dell ~/UNIX $ mkdir great_grandfather/grandfather/father/son
mkdir: cannot create directory ‘great_grandfather/grandfather/father/son’: No such file or directory
හ්ම්
දැන් අපි p කියන option / switch එකත් එක්ක ට්රයි කරල බලමු .
mkdir -p great_grandfather/grandfather/father/son
nix@Dell ~/UNIX $ mkdir -p great_grandfather/grandfather/father/son
nix@Dell ~/UNIX $
දැන් වැඩේ හරි . අපිට -p කියන option එක මගින් ඩිරෙක්ටරි පරම්පරාවක්ම එක පාරට හදාගන්න පුළුවන්.
දැන් අපි ls -l පාරක් දාල බලමු
nix@Dell ~/UNIX $ ls -l
total 56
-rw-r--r-- 1 nix nix 0 Jun 17 02:11 afile
-rw-r--r-- 1 nix nix 0 Jun 17 02:11 bfile
drwxr-xr-x 2 nix nix 4096 Jun 18 11:04 book
-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
drwxr-xr-x 2 nix nix 4096 Jun 18 11:04 games
drwxr-xr-x 3 nix nix 4096 Jun 18 11:26 great_grandfather
-rw-r--r-- 1 nix nix 40 Jun 17 03:01 I_am_old_my_new_file3.c
drwxr-xr-x 2 nix nix 4096 Jun 18 11:00 kuppiya
drwxr-xr-x 2 nix nix 4096 Jun 18 11:02 kuppiya1
drwxr-xr-x 2 nix nix 4096 Jun 18 11:02 kuppiya2
drwxr-xr-x 2 nix nix 4096 Jun 18 11:04 mp3
-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
drwxr-xr-x 2 nix nix 4096 Jun 18 11:04 video
ඔය ඉන්නේ අපේ "great_grandfather" ඕක ඇතුලට ගියොත් අපිට් පුළුවන් අපේ "grandfather" වත් බලාගන්න . අපි කොහොමද "great_grandfather" ගෙ ඇතුලට යන්නෙ . එකට අපිට අලුත් කමාන්ඩ් එකක් යොදාගන්න වෙනවා .
3) cd
මේ කමාන්ඩ් එකට සිංගලෙන් කියන්නේ චේන්ජ් ඩිරෙක්ටරි කියල English වලින් කියන්නෙ Change Directory කියල

ට්රයි cd great_grandfather
nix@Dell ~/UNIX $ cd great_grandfather
nix@Dell ~/UNIX/great_grandfather $
දැන් pwd පාරක් දන්නා
nix@Dell ~/UNIX/great_grandfather $ pwd
/home/nix/UNIX/great_grandfather
දැන් ls -l කමාන්ඩ් එක දෙන්න .
nix@Dell ~/UNIX/great_grandfather $ ls -l
total 4
drwxr-xr-x 3 nix nix 4096 Jun 18 11:26 grandfather
ඔය තියෙන්නේ "grandfather" ව
දැන් අපි grandfather ගෙ ඇතුලට යමු ...
nix@Dell ~/UNIX/great_grandfather $ cd grandfather
nix@Dell ~/UNIX/great_grandfather/grandfather $
ඊළගට pwd
nix@Dell ~/UNIX/great_grandfather/grandfather $ pwd
/home/nix/UNIX/great_grandfather/grandfather
ඊළගට ls -l
nix@Dell ~/UNIX/great_grandfather/grandfather $ ls -l
total 4
drwxr-xr-x 3 nix nix 4096 Jun 18 11:26 father
දැන් අපිට "father" ඉන්නව පේනවා .
ඇත්තටම අපි මේවිදියට ඩිරෙක්ටරි එකෙන් ඩිරෙක්ටරි එකට මරුවෙන්නතුව දැන් අපි ඉන්න ඩිරෙක්ටරියේ ඉදල කෙලින්ම එකපාර අන්තිම පුරුකෙ තියෙන ඩිරෙක්ටරි එකට මාරු වෙන්න පුළුවන් . මෙන්න මෙහෙම
cd father/son
nix@Dell ~/UNIX/great_grandfather/grandfather $ cd father/son
nix@Dell ~/UNIX/great_grandfather/grandfather/father/son $
දැන් pwd
nix@Dell ~/UNIX/great_grandfather/grandfather/father/son $ pwd
/home/nix/UNIX/great_grandfather/grandfather/father/son
දැන් අපි ඉන්නේ "son" එක ඇතුලෙ අපි son එකට අවේ "grandfather" එකේ ඉදල . අපිට ආපසු කලින් හිටපු ඩිරෙක්ටරි එකට යන්න ඕන කියල හිතුනොත් අපිට මේ කමාන්ඩ් එක දීල "grandfather" එකට යන්න පුළුවන් .
ට්රයි cd -
nix@Dell ~/UNIX/great_grandfather/grandfather/father/son $ cd -
/home/nix/UNIX/great_grandfather/grandfather
nix@Dell ~/UNIX/great_grandfather/grandfather $ pwd
/home/nix/UNIX/great_grandfather/grandfather
දැන් අපි ඉන්නේ "grandfather" එක ඇතුලේ.
අපිට හිතුනොත් මගේ home ඩිරෙක්ටරි එකට යන්න ඕන කියල එකත් හරිම සිම්පල්, මෙන්න මෙහෙමයි එක කරන්නේ
ට්රයි cd ~
nix@Dell ~/UNIX/great_grandfather/grandfather $ cd ~
nix@Dell ~ $
දැන් ට්රයි pwd
nix@Dell ~ $ pwd
/home/nix
දැක්ක නේද ... මම ඔයාලට මුලින් කිව්වා ~ මගින් user ගේ හෝම් ඩිරෙක්ටරිය නියෝජනය කරනවා කියල .
අපිට හිතුනොත් user ගෙ හෝම් ඩිරෙක්ටරිය ඇතුලෙඅලුතෙන් my_tutorials කියල ඩිරෙක්ටරි එකක් හදන්න ඕන කියල අපිට එකත් මේ විදියට කරන්න පුළුවන් .
mkdir ~/my_tutorials
ඊටපස්සෙ අපිට ඒ අලුත් ඩිරෙක්ටරි එකට මේවිදියට මරුවෙන්නත් පුළුවන්
cd ~/my_tutorials
nix@Dell ~ $ cd ~/my_tutorials
nix@Dell ~/my_tutorials $
දැන් pwd දීල බලමු .
nix@Dell ~/my_tutorials $ pwd
/home/nix/my_tutorials
දැක්කනේද "my_tutorials" තියෙන්නෙ "/home/nix" එක ඇතුලේ. /home/nix කියන්නෙ මගේ හෝම් ඩිරෙක්ටරි එක .
දැන් මම ඔයාලට තව පොඩි දෙයක් කියල දෙන්නම් . ඔයාලට මතකද ඩොට් එකා (.) සහ ඩොට් දෙකා (..) ගෙ කතාව ?
අපි අලුතින් ඩිරෙක්ටරි එකක් සදනකොට ඒ ඩිරෙක්ටරිය ඇතුලෙ ඉබේම මේ කියන ඩොට් එකා (.) සහ ඩොට් දෙකා (..) කියන ෆයිල් දෙක සැදෙනවා .
අපිට ls -al කමාන්ඩ් එකෙන් චෙක් කරගන්න පුළුවන්
මේ බලන්න
nix@Dell ~/my_tutorials $ ls -al
total 8
drwxr-xr-x 2 nix nix 4096 Jun 18 12:00 .
drwxr-xr-x 47 nix nix 4096 Jun 18 12:00 ..
මම දැන් කියන්න යන්නේ අපිට මේ ඩොට් දෙකා (..) වැදගත් වෙන ආකාරය . මම කිව්වා .. මගින් තමන් දැන් සිටින ඩිරෙක්ටරියේ මවු ඩිරෙක්ටරිය නිරුපනය කරනවා කියල.
අපිට .. ප්රෝයෝජනයට ගෙන අපි ඉන්න ඩිරෙක්ටරියේ සිටි එහි මවු ඩිරෙක්ටරියට පනින්න පුළුවන්.
එක කරන්නෙ මෙන්න මෙහෙමයි .
ට්රයි cd ..
මම දැන් ඉන්නෙ මම අවසානෙට හදපු "my_tutorials" එක ඇතුලෙ, මේ ටික හොදින් බලා ගන්න
nix@Dell ~/my_tutorials $ pwd
/home/nix/my_tutorials
nix@Dell ~/my_tutorials $ cd ..
nix@Dell ~ $ pwd
/home/nix
nix@Dell ~ $
අන්තිමට මම නතරවුණේ "/home/nix" ඇතුලේ. /home/nix කියන්නේ "my_tutorials" හි මවු ඩිරෙක්ටරි එක.
අපිට මෙන්න මේ විදියට ඩිරෙක්ටරි කිහිපයක් වුනත් මුල් මට්ටම් දක්වා යන්න පුළුවන් .
ට්රයි cd ../..
මේ බලන්න
nix@Dell ~ $ pwd
/home/nix
nix@Dell ~ $ cd ../..
nix@Dell / $ pwd
/
අන්තිමට මම නතරවුනේ / එකේ
දැන් ඔයාලට ඩිරෙක්ටරි එක්ක ලොකු ලොකු සෙල්ලම් කරන්න පුළුවන්. ඊළගට මම කියල දෙන්න ඩිරෙක්ටරි delete කරන විදිය සහ rename කරන විදිය .
4) rmdir
මේක තමයි UNIX / Linux වල තියෙන ඩිරෙක්ටරි මකන්නම කියල හදපු කමාන්ඩ් එක. මගේ ජීවිතේදී මම මේ කමාන්ඩ් එක 10 පාරක් වත් බාවිතා කරලා තියෙනවද කියල දන්නේ නෑ
එවුනට මෙහෙම එකක් තියෙනවා කියල අනිව දැනගන්න ඕන හොදේ ....අපි දැන් අලුතින් ඩිරෙක්ටරි කිහිපයක් හදල වැඩ පටන් ගනිමු.
nix@Dell ~ $ cd ~
nix@Dell ~ $ mkdir -p directory1/directory2/directory3
nix@Dell ~ $ cd directory1/directory2
nix@Dell ~/directory1/directory2 $ ls -l
total 4
drwxr-xr-x 2 nix nix 4096 Jun 18 12:50 directory3
දැන් අපි rmdir directory3 කරමු
nix@Dell ~/directory1/directory2 $ rmdir directory3
nix@Dell ~/directory1/directory2 $ ls -l
total 0
nix@Dell ~/directory1/directory2 $
වැඩේ හරි "directory3" ඩිලීට් වුනා .
දැන් අපි තව ටික ඉදිරියට යමු.
නැවතත් directory3 හදමු
mkdir directory3
දැන් directory3 හි ඇතුලට යමු .
cd directory3
ඊළගට touch කමාන්ඩ් එකෙන් අලුත් ෆයිල් එකක් හදමු.
nix@Dell ~/directory1/directory2/directory3 $ touch mynewfile
nix@Dell ~/directory1/directory2/directory3 $ ls -l
total 0
-rw-r--r-- 1 nix nix 0 Jun 18 12:54 mynewfile
ඊළගට අපි directory3 හි මවු ඩිරෙක්ටරියට යමු
nix@Dell ~/directory1/directory2/directory3 $ cd ..
nix@Dell ~/directory1/directory2 $
දැන් අපි ඉන්නේ "directory2" ඇතුලෙ ,ඊළගට "directory3" rmdir මගින් ඩිලීට් කරන්න බලමු.
ට්රයි rmdir directory3
nix@Dell ~/directory1/directory2 $ rmdir directory3
rmdir: failed to remove 'directory3': Directory not empty
නමුත් directory3 ඩිලීට් වෙන්නෑ . එකට හේතුව කියලම තියෙන්නේ. මේකෙන් අපිට එක දෙයක් තහවුරු වෙනව ඒ තමයි rmdir මගින් ඩිලීට් කරන්න (මකන්න) පුළුවන් වෙන්නෙ Empty ඩිරෙක්ටරි විතරයි .
අපි දැන් directory3 එක ඇතුලේ තියෙන දේවල් delete කරමු.
nix@Dell ~/directory1/directory2 $ cd directory3
nix@Dell ~/directory1/directory2/directory3 $ ls -l
total 0
-rw-r--r-- 1 nix nix 0 Jun 18 12:54 mynewfile
nix@Dell ~/directory1/directory2/directory3 $ rm *
පොඩ්ඩක් මතක තියා ගන්න rm එක්ක යොදපු * සලකුණ .
දැන් directory3 ඇතුලේ මුකුත්ම නෑ. දැන් අපිට directory3 ඩිලීට් කරන්න පුළුවන්.
අපි මේ පාර ඩිලීට් කරන්නේ directory1/directory2/directory3 කියන ඩිරෙක්ටරි පෝලිමම
මෙන්න මෙහෙමයි එක කරන්නේ.
nix@Dell ~/directory1/directory2/directory3 $ cd ~
nix@Dell ~ $ rmdir -p directory1/directory2/directory3
nix@Dell ~ $
මතක තියාගන්න rmdir සමග -p ඔප්ෂන් එක යෙදු විට , එකපාරම මවු ඩිරෙක්ටරි සමගම අදාල ඩිරෙක්ටරිය delete කරගන්න පුළුවන්. නමුත් ඩිරෙක්ටරි සියල්ල Empty ඩිරෙක්ටරි (file නැති) විය යුතුයි.මෙන්න මේ හේතුව නිසා තමයි මම මේ කමාන්ඩ් එක බාවිත නොකරන්නෙ .
rmdir බාවිතා කරන තවත් ආකාරයක් අපි දැන් බලමු .මුලින්ම අපි ඩිරෙක්ටරි කිහිපයක් සදගනිමු .
mkdir {directory1,directory2,directory3} හෝ mkdir directory1 directory2 directory3 බාවිතා කරන්න පුළුවන් .
දැන් අපි මේ ඩිරෙක්ටරි තුනම එක පාරට delete කරමු , එක කරන්නේ මෙන්න මෙහෙමයි .
rmdir {directory1,directory2,directory3} හෝ rmdir directory1 directory2 directory3
දැන් මම කියල දෙන්නම් බොහොමයක් දෙනා කොහොමද ඩිරෙක්ටරි delete කරන්නෙ කියල . අපි එකට බාවිතා කරන්නෙත් මම කලින් පාඩමේ හදුන්වල දුන්න rm කමාන්ඩ් එකට option ටිකක් එකතු කරල .
මුලින්නම අලුතෙන් ඩිරෙක්ටරි එකක් හදා ගමු ඊටපස්සේ එක ඇතුලේ file එකකුත් හදාගනිමු . මෙන්න මේ විදියට
nix@Dell ~ $ cd ~
nix@Dell ~ $ mkdir test_rm
nix@Dell ~ $ touch test_rm/my_file007
අපිට "test_rm" ඩිරෙක්ටරිය ඇතුලට යන්නේ නැතුවම එකේ ඇතුලේ තියෙන ෆයිල් මේ විදියට බලාගන්න පුළුවන්.
ls -l test_rm/
මේ බලන්න
nix@Dell ~ $ ls -l test_rm/
total 0
-rw-r--r-- 1 nix nix 0 Jun 18 13:36 my_file007
දැන් අපි "test_rm" ඩිරෙක්ටරි එක ඩිලීට් කරමු. ඒකට අපි rm සමග -r ඔප්ෂන් එක යොදනව (අපිට සිම්පල් r හෝ කැපිටල් R යන දෙකෙන් ඕනෑම එකක් යොදාගන්න පුළුවන් )
rm -r test_rm
nix@Dell ~ $ rm -r test_rm
nix@Dell ~ $
දැන් අපි test_rm එක තියෙනවද නැද්ද කියල බලමු.
ls -l test_rm/
nix@Dell ~ $ ls -l test_rm/
ls: cannot access 'test_rm/': No such file or directory
ආ ඔය කියල තියෙන්නේ "test_rm" නැ කියල .
5) mv
අපි mv කමාන්ඩ් එකෙන් තමයි ලෙහෙසියෙන්ම ඩිරෙක්ටරි එකක් rename කරගන්නෙ . අපි එකට අලුතින් ඩිරෙක්ටරි එකක් හදගෙනම ට්රයි බලමු. mv එකට අදාල options / switches ටික මගේ ටියුටෝරියල්ස් වලදී විස්ටර කරනව . හොදද ...
nix@Dell ~ $ cd ~
nix@Dell ~ $ mkdir old_name_dir
nix@Dell ~ $ mv old_name_dir new_name_dir
nix@Dell ~ $ cd old_name_dir
bash: cd: old_name_dir: No such file or directory
nix@Dell ~ $ cd new_name_dir
nix@Dell ~/new_name_dir $
දැන් වැඩේ පැහැදිලියිනේද ?
මම හිතනවා දැන් ඔයාලට ඩිරෙක්ටරි සමග හොද හොද සෙල්ලම් ටිකක් දන්නා පුළුවන් අතිකියල .
අපි නැවතත් ls ගැන කතා කරන්නට බලාපොරොත්තුවෙන් දැනට් මම නවතිමි.
ස්තුතියි .
මට පොඩි දෙයක් දැනගන්න තියෙනව.
Ubuntu server එකක root directory එකේ 93% පිරිල කියල පෙන්නනව.
Linux වල කොහොමද Windows වලදි වගේ අනවශ්ය files clear කරගන්නෙ? 



