දෘ link සබැඳියක් සහ සංකේතාත්මක සබැඳියක් අතර වෙනස කුමක්ද?


505

මාතෘකාව පවසන පරිදි, විධානය මඟින් සාදන ලද දෘ link සබැඳියක් සහ මෘදු සම්බන්ධකයක් අතර වෙනස දැන ගැනීමට මම කැමතියි ln. විධානය man lnමඟින් තොරතුරු සපයයි, නමුත් මගේ ප්‍රශ්නයට ප්‍රමාණවත් පිළිතුරු සපයන්නේ නැත.

සංකේතාත්මක සබැඳියකට වඩා දෘ link සබැඳියක් වඩාත් සුදුසු විය හැකි පසුබිමක් යමෙකුට ලබා දිය හැකි නම් හොඳයි.


16
වෙනස්කම් වලින් එකක් ... ඔබට යම් ගොනුවක් ඇත, උදාහරණයක් ලෙස ගොනු පරීක්ෂණය. ඔබ ln test දෘඩ සබැඳියක් සාදන්නේ නම්, ln -s test symlink සාදා ගොනු පරීක්ෂණය වෙනත් dir (හෝ නැවත නම් කරන්න) වෙත ගෙන යන්න, symlink ක්‍රියා නොකරයි. හාඩ්ලින්ක් වැඩ කරයි. දැන් ගොනු පරීක්ෂණය මකා දැමීමට උත්සාහ කරන්න. හාඩ්ලින්ක් තවමත් ක්‍රියාත්මක වනු ඇත, ඇත්ත වශයෙන්ම ගොනු කිරීමට දෘඩ සබැඳි ගණන 0 ක් වන තුරු ඔබට තවමත් ගොනුව ඇක්සස් කිරීමට හැකි වනු ඇත. අයිනෝඩ් නිසා එය අත්පොතෙන් ලියා ඇත ...
ඩෙන්වර්කෝ

5
මම මෙය නැවත විවෘත කර ඇත්තේ එයට මෙම ප්‍රශ්නයට හොඳ සාමාන්‍ය පිළිතුරක් ලැබිය යුතු බැවිනි (පෙර ප්‍රශ්නය මෙන් නොව අපැහැදිලි සී උදාහරණයකි).
ඔලි


1
එසේම සම්පූර්ණ පිළිතුරක්: stackoverflow.com/questions/185899/…
එල්සෝ වාලුගි

@ අභිෂේක් භාතිය වීඩියෝව ලබා ගත නොහැක
ඕකර්

Answers:


72

ලිනක්ස් / යුනික්ස් හි කෙටිමං සබැඳි ලෙස හැඳින්වේ


සබැඳි වර්ග දෙකකි: මෘදු සබැඳි (සංකේතාත්මක සබැඳි) හෝ දෘඩ සබැඳි.

  1. මෘදු සබැඳි (සංකේතාත්මක සබැඳි)

    ඔබට ලිපිගොනු සහ නාමාවලි වලට සබැඳි සෑදිය හැකි අතර, ඔබට විවිධ කොටස්වල සහ මුල් පිටපතට වඩා වෙනස් ඉනෝඩ් අංකයකින් සබැඳි (කෙටිමං) සෑදිය හැකිය.

    සත්‍ය පිටපත මකා දැමුවහොත් , සබැඳිය ක්‍රියා නොකරනු ඇත .

  2. දෘ Link සබැඳි

    දෘ links සබැඳි ගොනු සඳහා පමණි; ඔබට වෙනත් ඉනෝඩ අංකයක් සහිත වෙනත් කොටසක ගොනුවකට සම්බන්ධ කළ නොහැක.

    සත්‍ය පිටපත මකා දැමුවහොත් , සබැඳිය ක්‍රියා කරයි , මන්ද එය සත්‍ය පිටපතට ප්‍රවේශ වූ යටින් පවතින දත්ත වලට ප්‍රවේශ වන බැවිනි.


ප්‍රශ්නය: මම මෘදු සම්බන්ධතාවයක් සාදා ගන්නේ කෙසේද?

පිළිතුර: සමඟ මෘදු සම්බන්ධතාවයක් සෑදිය හැකිය ln -s; පළමුව ඔබට ප්‍රභවය අර්ථ දැක්විය යුතු අතර පසුව ඔබ ගමනාන්තය අර්ථ දැක්විය යුතුය. (ප්‍රභවයේ සහ ගමනාන්තයේ සම්පූර්ණ මාර්ග නිර්වචනය කළ යුතු බව මතක තබා ගන්න; එසේ නොවුවහොත් එය ක්‍රියා නොකරනු ඇත.)

 sudo ln -s /usr/lib/i386-linux-gnu/mesa/libGL.so.1 /usr/lib32/libGL.so.1
             (----------Source-------)             ( Destination )

රූප විස්තරය මෙහි ඇතුළත් කරන්න

ඔබට පෙනෙන පරිදි එයට වෙනස් ඉනෝඩයක් ඇති අතර එය වෙනත් කොටසකින් සෑදිය හැකිය.


ප්‍රශ්නය: මම දෘ link සබැඳියක් සාදා ගන්නේ කෙසේද?

පිළිතුර: දෘ link සබැඳියක් සමඟ කළ හැකිය ln; පළමුව ඔබට ප්‍රභවය අර්ථ දැක්විය යුතු අතර පසුව ඔබ ගමනාන්තය අර්ථ දැක්විය යුතුය. (ප්‍රභවයේ සහ ගමනාන්තයේ සම්පූර්ණ මාර්ගය නිර්වචනය කළ යුතු බව මතක තබා ගන්න; එසේ නොවුවහොත් එය ක්‍රියා නොකරනු ඇත.)

/scriptනාමාවලියෙහි පිටපතක් මා සතුව ඇතැයි කියමු firefox.

 ls -i # Shows you the inode
 5898242 firefox

 ln /scripts/firefox /scripts/on-fire
       ( Source )    ( Destination )

රූප විස්තරය මෙහි ඇතුළත් කරන්න

ඔබට පෙනෙන පරිදි, එය එකම ඉනෝඩයක් ඇත. මම මුල් ගොනුව මකා දැමුවහොත්, සබැඳිය තවමත් ක්‍රියාත්මක වන අතර එය මුල් පිටපත ලෙස ක්‍රියා කරයි.

රූප විස්තරය මෙහි ඇතුළත් කරන්න

ඉහත, මම සබැඳිය ක්‍රියා කරනවාදැයි පරීක්ෂා කර, පසුව මුල් ෆයර්ෆොක්ස් ස්ක්‍රිප්ට් මකන්න.


ප්‍රශ්නය: සංකේතාත්මක සබැඳියකට වඩා දෘ link සබැඳියක් වඩාත් සුදුසු විය හැකි පසුබිමක් යමෙකුට ලබා දිය හැකි නම් හොඳයි.

පිළිතුර : තැටි කොටස් සැකැස්ම මත පදනම්ව, දෘ link සබැඳියන්ට එකම කොටසේ (-1 ලක්ෂ්‍යය) තිබිය යුතු අතර ඒවා ගොනු වලට පමණක් සම්බන්ධ විය හැකිය (-1 ලක්ෂ්‍යය), නමුත් මුල් පිටපත මකා දැමුවහොත්, සබැඳිය ක්‍රියා කරයි සහ එය මුල් (+1 ලක්ෂ්‍යය) මෙන් ක්‍රියා කරයි.

අනෙක් අතට, මෘදු සබැඳියකට නාමාවලි හෝ ලිපිගොනු (+1 ලක්ෂ්‍යය) වෙත යොමු කළ හැකි අතර කොටස් සීමාවක් නොමැත (+1 ලක්ෂ්‍යය), නමුත් ප්‍රභවය මකා දැමුවහොත් සබැඳිය ක්‍රියා නොකරනු ඇත (-1 ලක්ෂ්‍යය).


මට දෘ link සබැඳියක් සාදා ඉනෝඩය ප්‍රභවය ලෙස සැපයිය හැකිද?
TMOTTM

334

"පින්තූරයක් වචන දහසක් වටිනවා." රූපමය නිරූපණය


තවද, "උදාහරණයක් ඡේද සියයක් වටිනවා ..."

ගොනු දෙකක් සාදන්න:

$ touch blah1   
$ touch blah2

ඒවාට දත්ත කිහිපයක් ඇතුළත් කරන්න:

$ echo "Cat" > blah1
$ echo "Dog" > blah2

සහ අපේක්ෂා කළ පරිදි:

$cat blah1; cat blah2
Cat
Dog

දෘ hard හා මෘදු සබැඳි නිර්මාණය කරමු:

$ ln blah1 blah1-hard
$ ln -s blah2 blah2-soft

දැන් සිදුවූ දේ බලමු:

$ ls -l

blah1
blah1-hard
blah2
blah2-soft -> blah2

Blah1 හි නම වෙනස් කිරීම වැදගත් නොවේ:

$ mv blah1 blah1-new
$ cat blah1-hard
Cat

ගොනුවේ ඉනෝඩයට, අන්තර්ගතයට බ්ලහ් 1 දෘ hard ලකුණු - එය වෙනස් කර නැත.

$ mv blah2 blah2-new
$ ls blah2-soft
blah2-soft
$ cat blah2-soft  
cat: blah2-soft: No such file or directory

ගොනුවේ අන්තර්ගතය සොයාගත නොහැකි වූයේ මෘදු සබැඳිය නමට යොමු වන නිසා, එය වෙනස් කර ඇති අතර අන්තර්ගතයට නොවේ.
ඒ හා සමානව, blah1 මකා දැමුවහොත්, blah1-hard තවමත් අන්තර්ගතය රඳවා තබා ගනී; blah2 මකා දැමුවහොත්, blah2-soft යනු දැනට පවතින ගොනුවකට සබැඳියක් පමණි.


මූලාශ්‍රය: එය StackOverflow වෙතින් නිර්දය ලෙස පිටපත් කිරීම !


13
ඔබට සාධාරණ වීමට - ඔබ ඉහළින් සුන්දර රූපය එක් කළා ... ආ ඔබත් එය පිටපත් කළා! පිළිතුරු දෙක ඒකාබද්ධ කිරීම ඇත්තෙන්ම ඉතා ප්‍රයෝජනවත් වේ :)
icc97

3
වඩා හොඳින් පැහැදිලි කර ඇත, කොතැනකවත් නැත!
dennisbot

3
මම තත්පර 20 ක් රූපය දෙස බලා සිටියෙමි, පසුව හදිසියේම මම එය හදුනා ගතිමි. මෙය සැබවින්ම දීප්තිමත් ය.
මොහොමඩ් ජොරයිඩ්

1
btw: යමෙකු (මෘදු සබැඳි ගැන කලකිරී) පුදුම වේ නම් ... වෙනත් අනුවාද පද්ධති සඳහාද අදාළ විය හැකි නම්, දෘඩ සබැඳි භාවිතා git කිරීම නරක අදහසකි .
ෆ්‍රෑන්ක් නොක්

1
එහි දෘඩ සබැඳිවලට ඉනෝඩයක් වලාකුළෙහි ගබඩා කර ඇති ගොනුවකට සමානද?
ඕකර්

328

දෘ l සබැඳියක් යනු ගොනුවකට දර්ශකයක් නොවේ, එය එකම ඉනෝඩයට යොමු කරන නාමාවලි ඇතුළත් කිරීමකි (ගොනුවක්). ඔබ අනෙක් ගොනුවේ නම වෙනස් කළත්, දෘඩ සබැඳියක් තවමත් ගොනුවට යොමු කරයි. ඔබ අනෙක් ගොනුව නව අනුවාදයකින් ආදේශ කරන්නේ නම් (එය පිටපත් කිරීමෙන්), දෘඩ සබැඳියක් නව ගොනුවට යොමු නොවනු ඇත. ඔබට තිබිය හැක්කේ එකම ගොනු පද්ධතිය තුළ පමණක් දෘඩ සබැඳි පමණි. දෘ l සබැඳි සමඟ ඔබට මුල් ලිපිගොනු සහ සබැඳි පිළිබඳ සංකල්පයක් නොමැත, සියල්ල සමාන වේ (එය වස්තුවකට යොමු කිරීමක් ලෙස සිතන්න). එය ඉතා පහත් මට්ටමේ සංකල්පයකි.

අනෙක් අතට, සිම්ලින්ක් ඇත්ත වශයෙන්ම වෙනත් මාර්ගයකට යොමු කරයි (ගොනු නාමයක්); ඔබ සිම්ලින්ක් හරහා ප්‍රවේශ වන සෑම අවස්ථාවකම එය ගොනුවේ නම නිරාකරණය කරයි. ඔබ ගොනුව ගෙන යන්නේ නම්, සිම්ලින්ක් අනුගමනය නොකරනු ඇත. නම තබා ගනිමින් ඔබ ගොනුව වෙනත් එකක් සමඟ ප්‍රතිස්ථාපනය කළහොත්, සිම්ලින්ක් නව ගොනුවට යොමු වේ. Symlinks මඟින් ගොනු පද්ධති පුළුල් කළ හැකිය. සිම්ලින්ක් සමඟ ඔබට සත්‍ය ගොනුව සහ සිම්ලින්ක් අතර ඉතා පැහැදිලි වෙනසක් ඇත, එය පෙන්වා දෙන ගොනුව පිළිබඳ මාර්ගය අසල කිසිදු තොරතුරක් ගබඩා නොකරයි.


1
(තමන්ගේම වචන වලින්) “ගොනුවට යොමු කරන” දෙයක් දර්ශකයක් ලෙස හැඳින්විය හැකිය (එය සුළු වශයෙන් ආසන්න වශයෙන් සත්‍යවාදී සත්‍යයකි). අපි නයිට්පික් කරන්නේ නම් (පොදුවේ) ගොනු පද්ධතියක් ඉනෝඩ භාවිතා නොකළද දෘඩ සබැඳි පිළිබඳ සංකල්පය පැවතිය හැකිය.
jfs

88

දෙකම ලිපිගොනු වෙත යොමු කරන්නන් ය; ඇති වෙනස වන්නේ ආකාරයේ පහිටුම් දක්වනය ය. සංකේතාත්මක සබැඳියක් නමින් වෙනත් ගොනුවකට යොමු කරයි . එය සංකේතාත්මක සබැඳියක් ලෙස හදුනා ගන්නා විශේෂ මාදිලියේ බිට් එකක් ඇති අතර එහි අන්තර්ගතය සැබෑ ගොනුවේ නම වේ. එහි නමක් පමණක් ඇති බැවින්, එම නම ඇත්ත වශයෙන්ම පැවතිය යුතු නැත, නැතහොත් වෙනත් ගොනු පද්ධතියක පැවතිය හැකිය. ඔබ නම් කරන ලද ගොනුව ප්‍රතිස්ථාපනය කරන්නේ නම් (එහි නමට බලපෑමක් නොකර එහි අන්තර්ගතය වෙනස් කරන්න), එවිට සබැඳියේ තවමත් එකම නම අඩංගු වන අතර දැන් එය නව ගොනුවට යොමු කරයි. ඔබට පහසුවෙන් සංකේතාත්මක සබැඳියක් හඳුනාගත හැකි අතර එය පෙන්වා දෙන ගොනුවේ නම බලන්න.

දෘ link සබැඳියක් ගොනුවට ඉනෝඩ් අංකය මඟින් යොමු කරයි. එනිසා දෘඩ සබැඳි ගොනුවක මුල් නමට වඩා වෙනස් නොවේ. දෘ link සම්බන්ධක නාමයට එදිරිව "සැබෑ" නමක් නොමැත; සියලුම දෘ link සබැඳි ගොනුව සඳහා සමානව වලංගු නම් වේ. මේ නිසා, ඔබ සම්බන්ධ කරන ගොනුව සැබවින්ම පැවතිය යුතු අතර ඔබ සබැඳිය නිර්මාණය කිරීමට උත්සාහ කරන ගොනු පද්ධතියේම තිබිය යුතුය. ඔබ මුල් නම මකා දැමුවහොත්, දෘ link සබැඳිය තවමත් එකම ගොනුවට යොමු කරයි. සියලුම දෘ link සබැඳි ගොනුව සඳහා සමානව වලංගු නමක් වන බැවින්, ඔබට එකක් දෙස බලා ගොනුව සඳහා අනෙක් නම් දැකිය නොහැක; මෙය සොයා ගැනීම සඳහා, ඔබ සෑම ගොනුවක්ම බැලීමට ගොස් ඒවායේ ඉනෝඩ් අංකය සංසන්දනය කර එකම ඉනෝඩ් අංකයක් ඇති අනෙක් නම (ය) සොයා ගත යුතුය.

ගොනුවේ ප්‍රතිදානයෙන් කොපමණ නම් තිබේදැයි ඔබට පැවසිය හැකිය ls -l. ගොනු ප්‍රකාරයෙන් පසු පළමු අංකය වන්නේ සම්බන්ධක ගණනයි. සබැඳිය 1 ට වඩා ඇති ගොනුවකට වෙනත් නම (ය) කොතැනක හෝ ඇති අතර, අනෙක් අතට, 1 ක් පමණක් ඇති සම්බන්ධක ගණනක් ඇති ගොනුවකට (වෙනත්) දෘඩ සබැඳි නොමැත.


If you replace the named file, then the link still contains the same name, and so now it points to the new file- මම හිතන්නේ මෙය හොඳින් පැහැදිලි කර නැත. ඔබ අදහස් කරන්නේ මා සංකේතාත්මක සබැඳියක් ලබා ගත් ගොනුව ප්‍රතිස්ථාපනය කරන්නේ නම්, නම අඩංගු සබැඳි ස්පර්ශ නොවනු ඇත. නමුත් එය ප්‍රතිස්ථාපනය කරන ලද ගොනුවට යොමු වන්නේ එහි ගොනු නාමය (එනම් පැරණි ගොනුව වෙනුවට ආදේශ කළ නව ගොනුව) ප්‍රතිස්ථාපනය කළ (එනම් පැරණි ගොනුව වෙනුවට ආදේශ කළ ගොනුව) එක හා සමාන වූ විට පමණි, හරිද?
මයික්

Ike මයික්, ඔව්: සංකේතාත්මක සබැඳිය මුල් ගොනුවේ නමට යොමු කරයි, එබැවින් එම ගොනුව ප්‍රතිස්ථාපනය කිරීමෙන් අදහස් වන්නේ සබැඳිය දැන් නව ගොනුවට යොමු කරයි.
psusi

නමුත් එකම නම නිවැරදි නම් පමණක්? සිම්ලින්ක් කෙසෙල් වලට යොමු කර මම ගොනුව තැඹිලි පාටින් ආදේශ කළහොත් සයි ලින්ක් මඟින් කෙසෙල් ගොනුව තවදුරටත් සොයාගත නොහැක, එනම් එය ක්‍රියා නොකරනු ඇත
මයික්

Ike මයික්, ලෝක ප්‍රතිස්ථාපනය යන්නෙන් අදහස් වන්නේ එයට එකම නමක් ඇති බවයි, එසේ නොමැතිනම් ඔබ එක් ගොනුවක් මකා දමා තවත් ගොනුවක් එක් කරයි;)
psusi

58

දෘ l සබැඳියකට වැඩ කළ හැක්කේ එකම ගොනු පද්ධතියක පමණි, එය හුදෙක් එකම ඉනෝඩයට වෙනස් නමකි (ලිපිගොනු අභ්‍යන්තරව යොමු කරනු ලබන්නේ ඉනෝඩයන් මගිනි). ගොනුවක් තැටියෙන් මකා දැමෙනුයේ එහි ඉනෝඩයට අවසන් සබැඳිය නැති වූ විට පමණි (ඔබ අවසාන සබැඳිය rmහෝ unlinkඩී). දෘඩාංග සාමාන්‍යයෙන් වැඩ කරන්නේ ලිපිගොනු සඳහා නොව ගොනු සඳහා පමණි.

සිම්ලින්ක් (සංකේතාත්මක සබැඳිය) යනු වෙනත් ගොනුවකට මාර්ගයක් අඩංගු විශේෂ ගොනුවකි. මෙම මාර්ගය නිරපේක්ෂ හෝ සාපේක්ෂ විය හැකිය. සිම්ලින්ක්ස් වලට ගොනු පද්ධති හරහා ක්‍රියා කළ හැකි අතර විවිධ ලිපිගොනු වෙත යොමු කළ හැකිය, උදාහරණයක් ලෙස ඔබ බාහිර දෘ hard තැටියක් ගලවා වෙනත් ගොනුවක් සමඟ ප්‍රතිස්ථාපනය කරන්නේ නම්, එකම මාර්ගයක වෙනස් ගොනුවක් ඇත. සිම්ලින්ක් එකකට ගොනු හෝ නාමාවලි වෙත යොමු විය හැකිය.


ස්තූතියි, මෙය ඔවුන් ක්‍රියා කරන ආකාරය මට කියයි, නමුත් දෘ link සබැඳිය හරියටම කරන්නේ කුමක්ද? ඩිරෙක්ටරි සඳහා එය ක්‍රියා නොකරන්නේ ඇයි?
ste_kwr

nknittl: ඔබට විශ්වාසද? සමහර ගොනු පද්ධතිවල ඩිරෙක්ටරි සඳහා දෘඩ සබැඳි සඳහා අවසර දී ඇති නමුත් ඒවා නිර්මාණය කළ හැක්කේ root ට පමණි. -d, -F, --directoryස්විච බලන්න . හා ඔව්, මම ඇති තුළ සටහන් දැක ln(1)පිටුව :)
0xC0000022L

1
nkniwor: දෘඩ සබැඳි විස්තර කිරීමට ඇති පහසුම ක්‍රමය වන්නේ “එකම ගොනුව සඳහා තවත් නමක් (එනම් තැටියේ දත්ත)” යන්නයි. සහ - අවම වශයෙන් මගේ පද්ධතියේ (ය) - lnනාමාවලි වලට දෘඩ සබැඳි සෑදීමට භාවිතා කළ නොහැක. ඩිරෙක්ටරි සඳහා දෘඩ සබැඳි ඇතත්, වඩාත්ම කැපී පෙනෙන උදාහරණය .සහ ... මගේ මුල් පිළිතුරට එය ඇතුළත් කිරීමට මට අවශ්‍ය නොවීය, මන්ද එය කාරණා සංකීර්ණ කරයි.
knittl

2
@STATUS_ACCESS_DENIED: හොඳයි, නමුත් එය සාමාන්‍යයෙන් හොඳ අදහසක් නොවේ. මගේ මුල් පිළිතුරේ »සාමාන්‍යයෙන් written ලියා ඇත්තේ එබැවිනි. උදාහරණ සඳහා මගේ පෙර අදහස් ද බලන්න.
knittl

එබැවින් දෘ link සබැඳියකට එකම ෆෝල්ඩරයකට / ගොනුවකට විවිධ නම් සහිතව යොමු කළ හැකිය, එනම් එකම ඉනෝඩයට සම්බන්ධ වන විවිධ නම් තිබේද?
චාලි පාකර්

21

අනෙක් ත්‍රෙඩ් එකේ එක් පිළිතුරක් (දැන් ඔබගේ ලිපියේ ඉහළ සිට සම්බන්ධ කර ඇත) මෙම පිටුව සඳහන් කරන්නේ තරමක් හොඳ මධ්‍යම මට්ටමේ පැහැදිලි කිරීමක් ලෙස ය. ඔබ ascii කලාව අතරමං වී ඇත්නම්, මෙන්න tl; dr අනුවාදය:

  • සම්මත ලිපිගොනු යනු ගොනු පද්ධතියේ සිට ඉනෝඩයක් දක්වා වූ දර්ශකයක් වන අතර එමඟින් භෞතික දත්ත වෙත යොමු වේ. ගොනු සංරචකය ගොනු පද්ධතියට එහි සබැඳිය (අත්‍යවශ්‍යයෙන්ම එහි මාර්ගය) සහ ඉනෝඩයට සබැඳියක් ගබඩා කරයි.
  • දෘ-සබැඳි, ගොනු මෙන් ය. ඒවා කෙලින්ම ඉනෝඩයකට අතිරේක දර්ශකයක් පමණි.
  • සංකේතාත්මක-සබැඳි යනු වෙනම ලිපිගොනු (වෙනම ඉනෝඩ සහ දත්ත ඇතුළුව) ගොනුවකට ගොනු පද්ධති මාර්ගයක් ගබඩා කරයි.

සම්බන්ධ වූ කර්නලය සහ ගොනු පද්ධති සියල්ල විනිවිදභාවයෙන් පරිවර්තනය කරයි.

ඒ මත පදනම්ව:

  • දෘ-සබැඳි එකම ගොනු පද්ධති සම්බන්ධතාවයට පමණක් ඉඩ දෙයි. සිම්ලින්ක්ස් ඕනෑම මාර්ගයකට යොමු කළ හැකිය.
  • දෘ-සබැඳි (අත්‍යවශ්‍යයෙන්ම) නිරපේක්ෂ දත්ත වෙත යොමු කරයි. සමමුහුර්ත වලට සාපේක්ෂ මාර්ග වෙත යොමු විය හැකිය (උදා ../parent.file)
  • දිගුව අනුව, ඔබ දෘඩ සම්බන්ධකයක ඉලක්ක දර්ශකය ගෙන යන්නේ නම් (මතක තබා ගන්න, එය අත්‍යවශ්‍යයෙන්ම ඉනෝඩයකට යොමු කරන දෘඩ සබැඳියක් පමණි), දෘ link සබැඳිය තවමත් ක්‍රියාත්මක වේ. සිම් ලින්ක් එකක ඉලක්කය ගෙනයාම සාමාන්‍යයෙන් සිම්ලින්ක් එක බිඳ දමයි.
  • දෘ link සබැඳියක් නිරාකරණය කිරීම වේගවත් නමුත් සැලකිය නොහැකි ලෙස එසේ වනු ඇත. වේගයේ එම සුළු කොටස පැමිණෙන්නේ නම්‍යශීලී ගොනු පද්ධතියක වියදමෙනි.

මම ටිකක් ව්‍යාකූල වී ඇති නමුත් විවිධ දේ කියවන විට, සම්මත ගොනුවක් සහ දෘඩ සබැඳියක් අතර වෙනස සොයා ගැනීමට මම වෙහෙසෙමි. මම එය කියවන ආකාරය සෑම ගොනුවක්ම භෞතික දත්ත වෙත යොමු කරන ඉනෝඩයකට සම්බන්ධ කරමින් දෘඩ සබැඳියකින් (ගොනු නාමය ගබඩා කිරීම) සමන්විත වේ.

දෘ l සබැඳියක් එක් කිරීම මඟින් අතිරේක ගොනු පද්ධති මත පදනම් වූ දර්ශකයක් සමඟ ඉනෝඩයක් සපයයි. ඒක හරිද?


5
මම හිතන්නේ ඔබ නිවැරදියි, සෑම ගොනුවක්ම ඉනෝඩයක් සඳහා මාර්ග නාමයක් වන අතර දෘ link සබැඳියක් එකම ඉනෝඩයක් සඳහා අතිරේක මාර්ග නාමයකි. එබැවින් දෘ link සබැඳියක් සාමාන්‍ය ගොනුවකට වඩා වෙනස් නොවේ.
enzotib

මම මෙය තේරුම් ගැනීමට උත්සාහ කරමි ... නමුත් ඔබ කියන්නේ:> "සංකේතාත්මක සබැඳි යනු ගොනුවකට ගොනු පද්ධති මාර්ගයක් ගබඩා කරන වෙනම ගොනු (වෙනම ඉනෝඩ සහ දත්ත ඇතුළුව ) වේ." සිම්ලින්ක් එකකට වෙනම දත්ත තිබේද? එවිට එය සම්බන්ධ වන ඩිර් පිටපතක් වගේ නේද? ... සහ සිම්ලින්ක් වෙත යමක් ලියා ඇති සෑම අවස්ථාවකම එය තැටියට දෙවරක් ලිවිය යුතුද? කිසිම තේරුමක් නැහැ.
මිනිගෝඩ්

InMiniGod වෙනත් සිම්ලින්ක් යනු වෙනත් ඉනෝඩයකට (ගොනු නාමය) මාර්ගයක් ගබඩා කරන දත්ත කාණ්ඩයකට ඉනෝඩයකි. ඔව්, එය මැට්‍රික්ස් වැනි ව්‍යාකූල නමුත් ඔබ එය ලබා ගත් පසු ඔබට කිසිදා අමතක නොවනු ඇත :)
ඔලි

Li ඔලි මා ව්‍යාකූල විය හැකි නමුත්, “වෙනම ඉනෝඩයක් සහ දත්ත ඇතුළුව” යැයි ඔබ කියන විට , ඔබ අදහස් කරන්නේ සිම්ලින්ක් එකට වෙනම දත්ත ඇති බවයි!
මිනිගෝඩ්

1
@ මිනිගොඩ් ඔව්. සිම්ලින්ක් යනු දත්ත වෙත යොමු කරන ඉනෝඩයකි (සාමාන්‍ය ගොනුවක් මෙන්) සහ එම දත්ත මාර්ගයකි. එය ඊට වඩා මඳක් දක්ෂයි - සිම්ලින්ක් හරහා විනිවිද පෙනෙන භාවිතයට ඉඩ දීම - නමුත් ඒවා සියල්ලම අවශ්‍ය වේ.
ඔලි

15

මෘදු සබැඳිය භාවිතා කළ යුත්තේ කවදාද:

ගොනු පද්ධති හරහා සම්බන්ධ වන්න: ඔබට ගොනු පද්ධති හරහා ගොනු සම්බන්ධ කිරීමට අවශ්‍ය නම්, ඔබට භාවිතා කළ හැක්කේ සිම්ලින්ක් / මෘදු සබැඳි පමණි.

ඩිරෙක්ටරියට සබැඳි: ඔබට ඩිරෙක්ටරි සම්බන්ධ කිරීමට අවශ්‍ය නම්, ඔබ ඩිරෙක්ටරියට දෘ link සබැඳියක් සෑදිය නොහැකි බැවින් ඔබ මෘදු සබැඳි භාවිතා කළ යුතුය.

දෘ Link සබැඳිය භාවිතා කළ යුත්තේ කවදාද:

ආචයන අවකාශය: දෘ links සබැඳි නිර්මාණය කිරීමේදී නව ඉනෝඩ කිසිවක් නිර්මාණය වී නොමැති බැවින් දෘ links සබැඳි සඳහා ඉතා සුළු ඉඩ ප්‍රමාණයක් අවශ්‍ය වේ. මෘදු සබැඳි වලදී අපි අවකාශය පරිභෝජනය කරන ගොනුවක් සාදන්නෙමු (සාමාන්‍යයෙන් 4KB, ගොනු පද්ධතිය අනුව)

කාර්ය සාධනය: දෘ link සබැඳියකට ප්‍රවේශ වන විට කාර්ය සාධනය තරමක් හොඳ වනු ඇත, මන්ද ඔබ වෙනත් ගොනුවක් හරහා යාම වෙනුවට තැටි දර්ශකයට කෙලින්ම ප්‍රවේශ වන බැවිනි. ගොනු පිහිටීම ගෙනයාම: ඔබ ප්‍රභව ගොනුව එකම ගොනු පද්ධතියේ වෙනත් ස්ථානයකට ගෙන යන්නේ නම්, දෘ link සබැඳිය තවමත් ක්‍රියා කරයි, නමුත් මෘදු සබැඳිය අසාර්ථක වනු ඇත.

අතිරික්තය: ඔබේ දත්තවල ආරක්ෂාව සහතික කිරීමට ඔබට අවශ්‍ය නම්, ඔබ දෘ link සබැඳියක් භාවිතා කළ යුතුය, දෘ link සබැඳියේ මෙන්, දත්ත ආරක්ෂිත වේ, ලිපිගොනු වෙත ඇති සියලුම සම්බන්ධතා මකා දමන තුරු, මෘදු සබැඳිය වෙනුවට, ඔබට අහිමි වනු ඇත ගොනුවේ ප්‍රධාන අවස්ථාව මකා දැමුවහොත් දත්ත.


මාර්ග නාම ප්‍රමාණය බයිට් 64 ක් දක්වා වේගවත් සංකේතාත්මක සම්බන්ධකයක් ද ඇති බව සලකන්න. එය තවමත් එක් ඉනෝඩයක් ගනී, නමුත් 4kb බ්ලොක් අවකාශය පරිභෝජනය නොකරයි.
syockit

8

කිසිවක් නොමැති නිසා "ගොනු නාමය" සහ දෘ link සබැඳිය අතර වෙනස සොයා ගැනීමට ඔබ උත්සාහ කරන විට ව්‍යාකූලත්වය ඇති වේ.

ඔබ නිර්මාණය කරන සෑම ගොනුවක්ම තැටියේ දත්ත සහ දෘ link සබැඳියකින් සමන්විත වේ - එය නාමාවලියක ඇති ගොනු නාමයක් වන අතර තැටියේ දත්ත වෙත දර්ශකයක් වේ. කතාවේ අවසානය. අවසාන (හෝ එකම) දෘ link සබැඳිය මකා දැමූ විට, දත්ත තවදුරටත් අවශ්‍ය නොවන බව මෙහෙයුම් පද්ධතිය දනී.

මෙයින් ඔබට දැක ගත හැකිය සත්‍ය දත්ත කිසි විටෙකත් මකා නොදමන බව, දෘ link සබැඳිය (ය) පමණි. එය තැටියේ ප්‍රමාණවත් තරම් ජනාකීර්ණ වූ විට, දත්ත වෙනත් ගොනුවක දත්ත මගින් නැවත ලියනු ලැබේ. එතෙක්, මකාදැමුණු ගොනුවේ දත්ත නැවත ලබා ගත හැකි නමුත් දෘ link සබැඳියක් නොමැතිව සොයා ගැනීම තරමක් අපහසුය.

සිම්ලින්ක්ස්, කලින් පැහැදිලි කළ පරිදි, සරලවම ඔබට කියන්න " <targetname>ෆෝල්ඩරයක නම් කර ඇති ගොනුවක් තිබේ <targetfolder>". ඔවුන් දෘ link සබැඳිය වෙත යොමු කරයි. දත්ත කොහේදැයි ඔවුන් නොදනී. දෘ link සබැඳිය එය දනී.


0

එය ඉතා සරල ය. ලිපිගොනු (සහ නාමාවලි!) බ්ලොක් උපාංගයේ (HDD හෝ වෙනත්) ලිපිනවල ගබඩා කර ඇත. සාමාන්‍යයෙන් ඔබට තනි නමක් ලිපිනයකට සිතියම් ගත කර ඇති අතර ඔබේ ගොනුව ලැබෙන්නේ එලෙසිනි. ඒ දුෂ්කර ලින්ක් දෙවන, තෙවන, එම ලිපිනය චේට ආදිය නාමය වේ. ඒ සංකේතාත්මක පුරුකක් වෙනුවට සංකේතය අදහස් - නම - සහ ඒ නිසා පළමු නම චේට දෙවැනි නාමය වේ. කර්නලය සම්බන්ධයෙන් ගත් කල, එය සංකේතාත්මක සම්බන්ධක ඉලක්කය කියවූ පසු එය නතර වී ඉලක්කගත අගය සමඟ ගොනුවේ නම (වැඩි හෝ අඩු) ලෙස ආරම්භයට යයි, එබැවින් සාපේක්ෂ සමමුහුර්ත කිරීම් කළ හැකි නමුත් එතරම් උදව්වක් නොවේ. පරිශීලක අවකාශ කේතයෙන් පැහැදිලිව විමසනු ලැබුවහොත් හැර ඉලක්කගත නම ගොනු පද්ධති මට්ටමට ඉහළින් භාවිතා නොවේ.

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.