පළමු ප්රශ්නය:
ඔබ උපුටා දැක්වීම:
නිර්මාණ සහ මකාදැමීම් හොඳින් ක්රියාත්මක වේ. නමුත් යාවත්කාලීන කිරීම් ක්රියා නොකරයි. මෙම විධානය ක්රියාත්මක කිරීමෙන් පසු, සිම්ලින්ක් අවලංගු වේ.
ලබා දී ඇති නාමාවලි ව්යුහය සමඟ ඇති ගැටළුව:
script / scripts / test / script / scripts / test / remote_loc / script / scripts / test / remote_loc / site1 / ~ / scripts / test / remote_loc / site1 / stuff1.txt ~ / scripts / test / remote_loc / site2 / ~ / scripts /test/remote_loc/site2/stuff2.txt script / scripts / test / remote_loc / site2 / ~ / scripts / test / remote_loc / site3 / stuff3.txt
සහ විධානය භාවිතා කරමින්:
ln -s /remote_loc/site1 test_link
එය ඔබගේ $ PWD, හෝ වර්තමාන වැඩ කරන නාමාවලියෙහි සංකේතාත්මක සබැඳියක් නිර්මාණය කරන්නේද, එය /, හෝ root වලින් / remote_loc / site1 හි නොපවතින ගොනුවකට යොමු කරයි.
ඔබේ පීඩබ්ලිව්ඩී ~ / ස්ක්රිප්ට් වල තිබේ නම් ඔබ මෙය භාවිතා කළ යුතුව තිබුණි:
ln -s remote_loc/site1 test_link
එසේ නොමැතිනම් ඔබට සම්පූර්ණ නිරපේක්ෂ මාර්ගය භාවිතා කළ හැකිය:
ln -s /home/yourusername/remote_loc/site1 test_link
දෙවන නිකුතුව:
ඔබ උපුටා දැක්වීම:
සිම් ලින්ක් යාවත්කාලීන කිරීමට / අභිබවා යාමට නොහැකි බව මම මෙහි සහ එහි කියවා ඇත්තෙමි. එබැවින් අන්තර්ජාලයේ පරස්පර විරෝධී තොරතුරු තිබේ. කවුද හරි? සිම්ලින්ක් යාවත්කාලීන කිරීමට / අභිබවා යාමට හැකි නම්, මම මෙය සාක්ෂාත් කරගන්නේ කෙසේද?
"කවුද හරි" යන ඔබේ ප්රශ්නයට පිළිතුරු දීමට, ඔබ හරියටම කියවූ දේ හෝ එය තේරුම් ගත්තේ කෙසේදැයි මට විශ්වාස නැත. එහෙත්, පහත දැක්වෙන කරුණු නිරවුල් කිරීමට උපකාරී වේ:
- යාවත්කාලීන කළ හැකි දේ, සහ
- සුදුසු ස්විච භාවිතා නොකර යාවත්කාලීන කළ නොහැකි දේ.
නාමාවලි නොවන ඉලක්ක සමඟ සංකේතාත්මක සම්බන්ධතා යාවත්කාලීන කිරීම.
ln -sf:
-f හෝ --force පවතින ගමනාන්ත ලිපිගොනු ඉවත් කරයි, මෙය සබැඳියක ඉලක්කය හෝ ගමනාන්තය යාවත්කාලීන කිරීමට භාවිතා කරයි.
උදාහරණයක්:
ln -sf /tmp/test /tmp/test.link; ls -go /tmp |grep test
-rw-r--r-- 1 0 Jun 8 17:19 test
lrwxrwxrwx 1 9 Jun 8 17:27 test.link -> /tmp/test
එහෙත්, ඔබට පෙනෙන පරිදි, නිරපේක්ෂ මාර්ග ln
තර්ක වල තිබේ නම් එය නිරපේක්ෂ මාවත ලබා දෙනු ඇත . වර්තමාන වැඩ කරන නාමාවලිය සබැඳියේ මව් නාමාවලියට වඩා වෙනස් වූ විට සම්පූර්ණ මාර්ගයක් ලබා දීම අවශ්ය වේ.
සාපේක්ෂ මාර්ග:
ln -sfr:
-r හෝ --relative මඟින් සම්බන්ධකයේ ස්ථානයට සාපේක්ෂව සංකේතාත්මක සබැඳි නිර්මාණය කරයි.
උදාහරණයක්:
ln -sfr /tmp/test /tmp/test.link ; ls -go /tmp| grep test
-rw-r--r-- 1 0 Jun 8 17:19 test
lrwxrwxrwx 1 4 Jun 8 17:27 test.link -> test
නමුත්, ඉලක්කය නාමාවලියක් නම්, නාමාවලියකට සබැඳියක් යාවත්කාලීන කිරීම ක්රියා නොකරනු ඇත.
උදාහරණයක්:
ln -sf /tmp/testdir /tmp/testdir.link ; ls -go /tmp |grep testdir
drwxr-xr-x 2 4096 Jun 8 17:48 testdir
lrwxrwxrwx 1 7 Jun 8 17:47 testdir.link -> testdir
ඔබට පෙනෙන පරිදි, ln
-r විකල්පය නොමැතිව ඉහත තර්කයේ දක්වා ඇති නිරපේක්ෂ මාර්ග නාම භාවිතා කළද , සංකේතාත්මක සබැඳිය තවමත් සබැඳියට සාපේක්ෂ වේ.
නාමාවලි වෙත සබැඳි යාවත්කාලීන කරන්න:
ln -sfrn:
-n හෝ --no-dereference LINK_NAME නාමාවලියකට සංකේතාත්මක සම්බන්ධකයක් නම් එය සාමාන්ය ගොනුවක් ලෙස සලකයි.
උදාහරණයක්:
ln -sfn /tmp/testdir /tmp/testdir.link; ls -go /tmp| grep testdir
drwxr-xr-x 2 4096 Jun 8 17:48 testdir
lrwxrwxrwx 1 12 Jun 8 17:48 testdir.link -> /tmp/testdir
ඊට වෙනස්ව:
ln -sfnr /tmp/testdir /tmp/testdir.link; ls -go /tmp| grep testdir
drwxr-xr-x 2 4096 Jun 8 17:48 testdir
lrwxrwxrwx 1 7 Jun 8 17:48 testdir.link -> testdir
unlink
වෙනුවට භාවිතා කිරීමට මම නිර්දේශ කරමිrm
. සමගunlink
ඔබ වැරදී වැරදි ස්විච භාවිතා කිරීමෙන් ප්රභවය නාමාවලියේ ඕනෑම ගොනු අහිමි අවදානම නැහැ.