ദ്രുത ഉത്തരം: ലിനക്സിലെ എല്ലാ ഹാർഡ് ലിങ്കുകളും ഞാൻ എങ്ങനെ കണ്ടെത്തും?

എല്ലാ ഹാർഡ് ലിങ്കുകളും ഒരേസമയം കണ്ടെത്തുന്നതിന്, ഉണ്ടായിരിക്കുക ഒരു ഉപകരണത്തിലെ എല്ലാ ഫയലുകൾക്കുമായി സ്പിറ്റ് ഔട്ട് ഐനോഡുകൾ കണ്ടെത്തുക, തുടർന്ന് ഡ്യൂപ്ലിക്കേറ്റുകൾ കണ്ടെത്താൻ സോർട്ട്, യൂണിക് തുടങ്ങിയ കാര്യങ്ങൾ ഉപയോഗിക്കുക. ഇത് നിലവിലെ ഡയറക്‌ടറിയിലെ ഫയലുകൾ ലിസ്റ്റ് ചെയ്യുകയും അതിൽ ഒരു ls നടത്തുകയും ചെയ്യും.

നിങ്ങൾക്ക് ഐനോഡ് നമ്പറായ NUM-ലേക്ക് ഹാർഡ് ലിങ്കുകൾക്കായി തിരയാൻ കഴിയും ' -inum NUM ' ഉപയോഗിക്കുന്നു. നിങ്ങൾ തിരയൽ ആരംഭിക്കുന്ന ഡയറക്‌ടറിക്ക് താഴെ എന്തെങ്കിലും ഫയൽ സിസ്റ്റം മൗണ്ട് പോയിന്റുകൾ ഉണ്ടെങ്കിൽ, നിങ്ങൾ ' -L' ഓപ്ഷൻ ഉപയോഗിക്കുന്നില്ലെങ്കിൽ ' -xdev ' ഓപ്ഷൻ ഉപയോഗിക്കുക.

NTFS ഫയൽസിസ്റ്റമുള്ള വിൻഡോസിന് പരിധിയുണ്ട് 1024 ഹാർഡ് ലിങ്കുകൾ ഒരു ഫയലിൽ.

ലിനക്സിൽ ഞാൻ എങ്ങനെ ഫൈൻഡ് ഉപയോഗിക്കും?

അടിസ്ഥാന ഉദാഹരണങ്ങൾ

  1. കണ്ടെത്തുക . – thisfile.txt എന്ന് പേര് നൽകുക. ലിനക്സിൽ ഈ ഫയൽ എന്ന് വിളിക്കുന്ന ഒരു ഫയൽ എങ്ങനെ കണ്ടെത്താമെന്ന് നിങ്ങൾക്ക് അറിയണമെങ്കിൽ. …
  2. /home -name *.jpg കണ്ടെത്തുക. എല്ലാം അന്വേഷിക്കുക. jpg ഫയലുകൾ /home-ലും അതിനു താഴെയുള്ള ഡയറക്ടറികളും.
  3. കണ്ടെത്തുക . – ടൈപ്പ് എഫ് -ശൂന്യം. നിലവിലെ ഡയറക്‌ടറിക്കുള്ളിൽ ഒരു ശൂന്യമായ ഫയലിനായി നോക്കുക.
  4. /home -user randomperson-mtime 6 -iname “.db” കണ്ടെത്തുക

നിങ്ങൾക്ക് കഴിയും ഒരു ഫയൽ [ -L ഫയൽ ] ഉള്ള ഒരു സിംലിങ്ക് ആണോ എന്ന് പരിശോധിക്കുക . അതുപോലെ, ഒരു ഫയൽ [ -f ഫയൽ ] ഉള്ള ഒരു സാധാരണ ഫയലാണോ എന്ന് നിങ്ങൾക്ക് പരിശോധിക്കാൻ കഴിയും, എന്നാൽ ആ സാഹചര്യത്തിൽ, സിംലിങ്കുകൾ പരിഹരിച്ചതിന് ശേഷമാണ് പരിശോധന നടത്തുന്നത്. ഹാർഡ്‌ലിങ്കുകൾ ഒരു തരം ഫയലല്ല, അവ ഒരു ഫയലിന്റെ വ്യത്യസ്ത പേരുകളാണ് (ഏത് തരത്തിലും).

ഡയറക്ടറികൾ ഹാർഡ്-ലിങ്ക് ചെയ്യാനുള്ള കാരണം അനുവദനീയമല്ല ഒരു ചെറിയ സാങ്കേതികതയാണ്. അടിസ്ഥാനപരമായി, അവ ഫയൽ-സിസ്റ്റം ഘടനയെ തകർക്കുന്നു. എന്തായാലും നിങ്ങൾ പൊതുവെ ഹാർഡ് ലിങ്കുകൾ ഉപയോഗിക്കരുത്. സിംബോളിക് ലിങ്കുകൾ പ്രശ്‌നങ്ങൾ ഉണ്ടാക്കാതെ തന്നെ മിക്ക പ്രവർത്തനങ്ങളും അനുവദിക്കുന്നു (ഉദാ ln -s ടാർഗെറ്റ് ലിങ്ക് ).

ഒരു ഡയറക്ടറിയിൽ പ്രതീകാത്മക ലിങ്കുകൾ കാണുന്നതിന്:

  1. ഒരു ടെർമിനൽ തുറന്ന് ആ ഡയറക്ടറിയിലേക്ക് നീങ്ങുക.
  2. കമാൻഡ് ടൈപ്പ് ചെയ്യുക: ls -la. ഇത് ഡയറക്‌ടറിയിലെ എല്ലാ ഫയലുകളും മറഞ്ഞിരിക്കുകയാണെങ്കിൽപ്പോലും ദീർഘമായി പട്ടികപ്പെടുത്തും.
  3. l എന്നതിൽ തുടങ്ങുന്ന ഫയലുകൾ നിങ്ങളുടെ പ്രതീകാത്മക ലിങ്ക് ഫയലുകളാണ്.

1 ഉത്തരം. ഓരോ ഡയറക്‌ടറിക്കും തന്നിലേക്കും അതിന്റെ പേരന്റിലേക്കും ഒരു ലിങ്ക് ഉണ്ട് (അതുകൊണ്ടാണ് . ഒരു ശൂന്യമായ ഡയറക്‌ടറിയുടെ ലിങ്ക് എണ്ണം 2 ഉണ്ടായിരിക്കും). എന്നാൽ ഓരോ ഡയറക്‌ടറിയും അതിന്റെ പേരന്റുമായി ലിങ്ക് ചെയ്യുന്നതിനാൽ, ഒരു സബ്‌ഡയറക്‌ടറി ഉള്ള ഏതൊരു ഡയറക്‌ടറിക്കും ആ കുട്ടിയിൽ നിന്ന് ഒരു ലിങ്ക് ഉണ്ടായിരിക്കും.

സമാന ഗുണങ്ങളുള്ള രണ്ട് ഫയലുകൾ നിങ്ങൾ കണ്ടെത്തുകയാണെങ്കിൽ, അവ ഹാർഡ്-ലിങ്ക്ഡ് ആണോ എന്ന് ഉറപ്പില്ലെങ്കിൽ, ഐനോഡ് നമ്പർ കാണുന്നതിന് ls -i കമാൻഡ് ഉപയോഗിക്കുക. ഹാർഡ്-ലിങ്ക് ചെയ്‌ത ഫയലുകൾ ഒരേ ഐനോഡ് നമ്പർ പങ്കിടുന്നു. പങ്കിട്ട ഐനോഡ് നമ്പർ 2730074 ആണ്, അതായത് ഈ ഫയലുകൾ ഒരേ ഡാറ്റയാണ്.

ഒരു ഹാർഡ് ലിങ്ക് ഒരിക്കലും ഇല്ലാതാക്കിയ ഫയലിലേക്ക് പോയിന്റ് ചെയ്യില്ല. ഒരു ഹാർഡ് ലിങ്ക് യഥാർത്ഥ ഫയൽ ഡാറ്റയിലേക്കുള്ള ഒരു പോയിന്റർ പോലെയാണ്. ഫയൽ സിസ്റ്റം ടെർമിനോളജിയിൽ പോയിന്ററിനെ "ഇനോഡ്" എന്ന് വിളിക്കുന്നു. അതിനാൽ, മറ്റൊരു വിധത്തിൽ പറഞ്ഞാൽ, ഒരു ഹാർഡ് ലിങ്ക് സൃഷ്ടിക്കുന്നത് മറ്റൊരു ഐനോഡ് അല്ലെങ്കിൽ ഒരു ഫയലിലേക്ക് ഒരു പോയിന്റർ സൃഷ്ടിക്കുന്നു.

ഈ പോസ്റ്റ് ഇഷ്ടമാണോ? നിങ്ങളുടെ ചങ്ങാതിമാരുമായി പങ്കിടുക:
ഒഎസ് ടുഡേ