ਅਕਸਰ ਸਵਾਲ: ਲੀਨਕਸ ਵਿੱਚ ਹਾਰਡ ਲਿੰਕ ਕੀ ਹੈ?

ਸਮੱਗਰੀ

ਇੱਕ ਹਾਰਡ ਲਿੰਕ ਇੱਕ ਫਾਈਲ ਹੈ ਜੋ ਇੱਕ ਹੋਰ ਫਾਈਲ ਦੇ ਰੂਪ ਵਿੱਚ, ਉਸੇ ਅੰਡਰਲਾਈੰਗ ਇਨੋਡ ਵੱਲ ਇਸ਼ਾਰਾ ਕਰਦੀ ਹੈ। ਜੇਕਰ ਤੁਸੀਂ ਇੱਕ ਫਾਈਲ ਨੂੰ ਮਿਟਾਉਂਦੇ ਹੋ, ਤਾਂ ਇਹ ਅੰਡਰਲਾਈੰਗ ਆਈਨੋਡ ਲਈ ਇੱਕ ਲਿੰਕ ਨੂੰ ਹਟਾ ਦਿੰਦਾ ਹੈ। ਜਦੋਂ ਕਿ ਇੱਕ ਪ੍ਰਤੀਕ ਲਿੰਕ (ਸਾਫਟ ਲਿੰਕ ਵਜੋਂ ਵੀ ਜਾਣਿਆ ਜਾਂਦਾ ਹੈ) ਫਾਈਲ ਸਿਸਟਮ ਵਿੱਚ ਕਿਸੇ ਹੋਰ ਫਾਈਲ ਨਾਮ ਦਾ ਲਿੰਕ ਹੁੰਦਾ ਹੈ।

ਕੰਪਿਊਟਿੰਗ ਵਿੱਚ, ਇੱਕ ਹਾਰਡ ਲਿੰਕ ਇੱਕ ਡਾਇਰੈਕਟਰੀ ਐਂਟਰੀ ਹੈ ਜੋ ਇੱਕ ਫਾਈਲ ਸਿਸਟਮ ਉੱਤੇ ਇੱਕ ਨਾਮ ਨੂੰ ਇੱਕ ਫਾਈਲ ਨਾਲ ਜੋੜਦੀ ਹੈ। ਸਾਰੇ ਡਾਇਰੈਕਟਰੀ-ਅਧਾਰਿਤ ਫਾਈਲ ਸਿਸਟਮਾਂ ਵਿੱਚ ਹਰੇਕ ਫਾਈਲ ਲਈ ਅਸਲੀ ਨਾਮ ਦੇਣ ਲਈ ਘੱਟੋ-ਘੱਟ ਇੱਕ ਹਾਰਡ ਲਿੰਕ ਹੋਣਾ ਚਾਹੀਦਾ ਹੈ। ਸ਼ਬਦ "ਹਾਰਡ ਲਿੰਕ" ਆਮ ਤੌਰ 'ਤੇ ਸਿਰਫ਼ ਫਾਈਲ ਸਿਸਟਮਾਂ ਵਿੱਚ ਵਰਤਿਆ ਜਾਂਦਾ ਹੈ ਜੋ ਇੱਕੋ ਫਾਈਲ ਲਈ ਇੱਕ ਤੋਂ ਵੱਧ ਹਾਰਡ ਲਿੰਕ ਦੀ ਇਜਾਜ਼ਤ ਦਿੰਦੇ ਹਨ।

ਲੀਨਕਸ ਵਿੱਚ ਸਾਫਟ ਲਿੰਕ ਅਤੇ ਹਾਰਡ ਲਿੰਕ ਕੀ ਹੈ? ਇੱਕ ਪ੍ਰਤੀਕ ਜਾਂ ਸਾਫਟ ਲਿੰਕ ਅਸਲ ਫਾਈਲ ਦਾ ਇੱਕ ਅਸਲ ਲਿੰਕ ਹੁੰਦਾ ਹੈ, ਜਦੋਂ ਕਿ ਇੱਕ ਹਾਰਡ ਲਿੰਕ ਅਸਲ ਫਾਈਲ ਦੀ ਇੱਕ ਮਿਰਰ ਕਾਪੀ ਹੁੰਦਾ ਹੈ। ਜੇਕਰ ਤੁਸੀਂ ਅਸਲੀ ਫਾਈਲ ਨੂੰ ਮਿਟਾਉਂਦੇ ਹੋ, ਤਾਂ ਸਾਫਟ ਲਿੰਕ ਦਾ ਕੋਈ ਮੁੱਲ ਨਹੀਂ ਹੁੰਦਾ, ਕਿਉਂਕਿ ਇਹ ਇੱਕ ਗੈਰ-ਮੌਜੂਦ ਫਾਈਲ ਵੱਲ ਇਸ਼ਾਰਾ ਕਰਦਾ ਹੈ।

ਜੇਕਰ ਤੁਸੀਂ ਹਾਰਡ ਲਿੰਕ ਦੇ 'ਮਾਈ-ਹਾਰਡ-ਲਿੰਕ' ਨੂੰ ਮਿਟਾਉਂਦੇ ਹੋ, ਤਾਂ ਹਾਰਡ ਡਰਾਈਵ ਵਿੱਚ ਉਸੇ ਸਪੇਸ (ਇਨੋਡ) ਵੱਲ ਇਸ਼ਾਰਾ ਕਰਨ ਵਾਲੀਆਂ ਬਾਕੀ ਫਾਈਲਾਂ ਵਿੱਚ ਅਜੇ ਵੀ ਹਾਰਡ ਡਰਾਈਵ ਵਿੱਚ ਸਟੋਰ ਕੀਤਾ ਡੇਟਾ ਹੋਵੇਗਾ।

ਹਾਰਡ ਲਿੰਕ ਅਸਲ ਫਾਈਲ ਦੀ ਸਹੀ ਪ੍ਰਤੀਰੂਪ ਹੈ ਜਿਸ ਵੱਲ ਇਹ ਇਸ਼ਾਰਾ ਕਰ ਰਿਹਾ ਹੈ। ਹਾਰਡ ਲਿੰਕ ਅਤੇ ਲਿੰਕਡ ਫਾਈਲ ਦੋਵੇਂ ਇੱਕੋ ਆਈਨੋਡ ਨੂੰ ਸਾਂਝਾ ਕਰਦੇ ਹਨ। ਜੇਕਰ ਸਰੋਤ ਫਾਈਲ ਨੂੰ ਮਿਟਾਇਆ ਜਾਂਦਾ ਹੈ, ਤਾਂ ਹਾਰਡ ਲਿੰਕ ਅਜੇ ਵੀ ਕੰਮ ਕਰਦਾ ਹੈ ਅਤੇ ਤੁਸੀਂ ਉਦੋਂ ਤੱਕ ਫਾਈਲ ਤੱਕ ਪਹੁੰਚ ਕਰ ਸਕੋਗੇ ਜਦੋਂ ਤੱਕ ਫਾਈਲ ਦੇ ਹਾਰਡ ਲਿੰਕਾਂ ਦੀ ਗਿਣਤੀ 0(ਜ਼ੀਰੋ) ਨਹੀਂ ਹੁੰਦੀ ਹੈ।

ਇੱਕ ਸਿੰਬਲਿਕ ਲਿੰਕ ਬਣਾਉਣ ਲਈ ਲੀਨਕਸ -s ਵਿਕਲਪ ਦੇ ਨਾਲ ln ਕਮਾਂਡ ਦੀ ਵਰਤੋਂ ਕਰੋ। ln ਕਮਾਂਡ ਬਾਰੇ ਹੋਰ ਜਾਣਕਾਰੀ ਲਈ, ln man ਪੇਜ 'ਤੇ ਜਾਓ ਜਾਂ ਆਪਣੇ ਟਰਮੀਨਲ ਵਿੱਚ man ln ਟਾਈਪ ਕਰੋ। ਜੇ ਤੁਹਾਡੇ ਕੋਈ ਸਵਾਲ ਜਾਂ ਫੀਡਬੈਕ ਹਨ, ਤਾਂ ਕੋਈ ਟਿੱਪਣੀ ਕਰਨ ਲਈ ਸੁਤੰਤਰ ਮਹਿਸੂਸ ਕਰੋ।

ਜੇਕਰ ਤੁਹਾਨੂੰ ਇੱਕੋ ਜਿਹੀਆਂ ਵਿਸ਼ੇਸ਼ਤਾਵਾਂ ਵਾਲੀਆਂ ਦੋ ਫਾਈਲਾਂ ਮਿਲਦੀਆਂ ਹਨ ਪਰ ਤੁਹਾਨੂੰ ਪੱਕਾ ਪਤਾ ਨਹੀਂ ਹੈ ਕਿ ਕੀ ਉਹ ਹਾਰਡ-ਲਿੰਕਡ ਹਨ, ਤਾਂ ਆਈਨੋਡ ਨੰਬਰ ਦੇਖਣ ਲਈ ls -i ਕਮਾਂਡ ਦੀ ਵਰਤੋਂ ਕਰੋ। ਉਹ ਫਾਈਲਾਂ ਜੋ ਹਾਰਡ-ਲਿੰਕ ਕੀਤੀਆਂ ਗਈਆਂ ਹਨ, ਉਹੀ ਇਨੋਡ ਨੰਬਰ ਨੂੰ ਸਾਂਝਾ ਕਰਦੀਆਂ ਹਨ। ਸ਼ੇਅਰਡ ਆਈਨੋਡ ਨੰਬਰ 2730074 ਹੈ, ਮਤਲਬ ਕਿ ਇਹ ਫਾਈਲਾਂ ਇੱਕੋ ਜਿਹੇ ਡੇਟਾ ਹਨ।

ਲੀਨਕਸ ਜਾਂ ਯੂਨਿਕਸ-ਵਰਗੇ ਸਿਸਟਮ 'ਤੇ ਹਾਰਡ ਲਿੰਕ ਬਣਾਉਣ ਲਈ:

  1. sfile1file ਅਤੇ link1file ਵਿਚਕਾਰ ਹਾਰਡ ਲਿੰਕ ਬਣਾਓ, ਚਲਾਓ: ln sfile1file link1file.
  2. ਹਾਰਡ ਲਿੰਕਾਂ ਦੀ ਬਜਾਏ ਪ੍ਰਤੀਕ ਲਿੰਕ ਬਣਾਉਣ ਲਈ, ਵਰਤੋਂ ਕਰੋ: ln -s ਸਰੋਤ ਲਿੰਕ।
  3. ਲੀਨਕਸ ਉੱਤੇ ਸਾਫਟ ਜਾਂ ਹਾਰਡ ਲਿੰਕਾਂ ਦੀ ਪੁਸ਼ਟੀ ਕਰਨ ਲਈ, ਚਲਾਓ: ls -l ਸਰੋਤ ਲਿੰਕ।

16 ਅਕਤੂਬਰ 2018 ਜੀ.

4 ਜਵਾਬ। ਇਸ ਪੋਸਟ 'ਤੇ ਗਤੀਵਿਧੀ ਦਿਖਾਓ। ਤੁਸੀਂ ਇਸਨੂੰ ਆਮ ਵਾਂਗ rm ਨਾਲ ਮਿਟਾ ਸਕਦੇ ਹੋ: rm NameOfFile। ਨੋਟ ਕਰੋ ਕਿ ਹਾਰਡ ਲਿੰਕਾਂ ਦੇ ਨਾਲ "ਅਸਲ ਫਾਈਲ" ਅਤੇ "ਫਾਈਲ ਦੇ ਲਿੰਕ" ਵਿੱਚ ਕੋਈ ਅੰਤਰ ਨਹੀਂ ਹੈ: ਤੁਹਾਡੇ ਕੋਲ ਇੱਕੋ ਫਾਈਲ ਲਈ ਸਿਰਫ ਦੋ ਨਾਮ ਹਨ, ਅਤੇ ਸਿਰਫ ਇੱਕ ਨਾਮ ਨੂੰ ਮਿਟਾਉਣ ਨਾਲ ਦੂਜਾ ਨਹੀਂ ਮਿਟੇਗਾ।

ਤੁਹਾਡੇ ਲੀਨਕਸ ਫਾਈਲ ਸਿਸਟਮ ਵਿੱਚ, ਇੱਕ ਲਿੰਕ ਇੱਕ ਫਾਈਲ ਨਾਮ ਅਤੇ ਡਿਸਕ ਉੱਤੇ ਅਸਲ ਡੇਟਾ ਵਿਚਕਾਰ ਇੱਕ ਕੁਨੈਕਸ਼ਨ ਹੁੰਦਾ ਹੈ। ਲਿੰਕਾਂ ਦੀਆਂ ਦੋ ਮੁੱਖ ਕਿਸਮਾਂ ਹਨ ਜੋ ਬਣਾਈਆਂ ਜਾ ਸਕਦੀਆਂ ਹਨ: "ਸਖ਼ਤ" ਲਿੰਕ, ਅਤੇ "ਨਰਮ" ਜਾਂ ਪ੍ਰਤੀਕ ਲਿੰਕ। … ਇੱਕ ਪ੍ਰਤੀਕ ਲਿੰਕ ਇੱਕ ਵਿਸ਼ੇਸ਼ ਫਾਈਲ ਹੈ ਜੋ ਕਿਸੇ ਹੋਰ ਫਾਈਲ ਜਾਂ ਡਾਇਰੈਕਟਰੀ ਵੱਲ ਇਸ਼ਾਰਾ ਕਰਦੀ ਹੈ, ਜਿਸਨੂੰ ਟਾਰਗਿਟ ਕਿਹਾ ਜਾਂਦਾ ਹੈ।

ਹਾਂ। ਉਹ ਦੋਵੇਂ ਥਾਂ ਲੈਂਦੇ ਹਨ ਕਿਉਂਕਿ ਉਹਨਾਂ ਕੋਲ ਅਜੇ ਵੀ ਡਾਇਰੈਕਟਰੀ ਐਂਟਰੀਆਂ ਹਨ।

ਤੁਸੀਂ ਜਾਂਚ ਕਰ ਸਕਦੇ ਹੋ ਕਿ ਕੀ ਇੱਕ ਫਾਈਲ [ -L ਫਾਈਲ ] ਨਾਲ ਇੱਕ ਸਿਮਲਿੰਕ ਹੈ। ਇਸੇ ਤਰ੍ਹਾਂ, ਤੁਸੀਂ ਜਾਂਚ ਕਰ ਸਕਦੇ ਹੋ ਕਿ ਕੀ ਇੱਕ ਫਾਈਲ [ -f file ] ਨਾਲ ਇੱਕ ਨਿਯਮਤ ਫਾਈਲ ਹੈ, ਪਰ ਉਸ ਸਥਿਤੀ ਵਿੱਚ, ਜਾਂਚ ਸਿਮਲਿੰਕਸ ਨੂੰ ਹੱਲ ਕਰਨ ਤੋਂ ਬਾਅਦ ਕੀਤੀ ਜਾਂਦੀ ਹੈ। ਹਾਰਡਲਿੰਕਸ ਇੱਕ ਕਿਸਮ ਦੀ ਫਾਈਲ ਨਹੀਂ ਹਨ, ਇਹ ਇੱਕ ਫਾਈਲ (ਕਿਸੇ ਵੀ ਕਿਸਮ ਦੀ) ਲਈ ਵੱਖਰੇ ਨਾਮ ਹਨ।

ਇੱਕ ਸਿੰਬਲਿਕ ਲਿੰਕ ਨੂੰ ਹਟਾਉਣ ਲਈ, ਆਰਐਮ ਜਾਂ ਅਨਲਿੰਕ ਕਮਾਂਡ ਦੀ ਵਰਤੋਂ ਕਰੋ ਜਿਸ ਤੋਂ ਬਾਅਦ ਇੱਕ ਆਰਗੂਮੈਂਟ ਦੇ ਤੌਰ 'ਤੇ ਸਿਮਲਿੰਕ ਦੇ ਨਾਮ ਦੀ ਵਰਤੋਂ ਕਰੋ। ਇੱਕ ਸਿੰਬਲਿਕ ਲਿੰਕ ਨੂੰ ਹਟਾਉਣ ਵੇਲੇ ਜੋ ਕਿ ਇੱਕ ਡਾਇਰੈਕਟਰੀ ਵੱਲ ਇਸ਼ਾਰਾ ਕਰਦਾ ਹੈ, ਸਿਮਲਿੰਕ ਨਾਮ ਵਿੱਚ ਇੱਕ ਪਿਛਲਾ ਸਲੈਸ਼ ਨਾ ਜੋੜੋ। ਜੇ ਤੁਹਾਡੇ ਕੋਈ ਸਵਾਲ ਜਾਂ ਫੀਡਬੈਕ ਹਨ, ਤਾਂ ਕੋਈ ਟਿੱਪਣੀ ਕਰਨ ਲਈ ਸੁਤੰਤਰ ਮਹਿਸੂਸ ਕਰੋ।

ਹਾਰਡ ਲਿੰਕ ਅਤੇ ਸਿੰਬੋਲਿਕ ਲਿੰਕ ਹਾਰਡ ਡਰਾਈਵ ਵਿੱਚ ਇੱਕ ਫਾਈਲ ਦਾ ਹਵਾਲਾ ਦੇਣ ਲਈ ਦੋ ਵੱਖ-ਵੱਖ ਤਰੀਕੇ ਹਨ। … ਇੱਕ ਹਾਰਡ ਲਿੰਕ ਲਾਜ਼ਮੀ ਤੌਰ 'ਤੇ ਇੱਕ ਫਾਈਲ ਦੀ ਸਿੰਕ ਕੀਤੀ ਕਾਰਬਨ ਕਾਪੀ ਹੁੰਦੀ ਹੈ ਜੋ ਸਿੱਧੇ ਇੱਕ ਫਾਈਲ ਦੇ ਆਈਨੋਡ ਨੂੰ ਦਰਸਾਉਂਦੀ ਹੈ। ਦੂਜੇ ਪਾਸੇ ਸਿੰਬੋਲਿਕ ਲਿੰਕ ਸਿੱਧੇ ਫਾਈਲ ਦਾ ਹਵਾਲਾ ਦਿੰਦੇ ਹਨ ਜੋ ਆਈਨੋਡ, ਇੱਕ ਸ਼ਾਰਟਕੱਟ ਨੂੰ ਦਰਸਾਉਂਦੀ ਹੈ।

ਇੱਕ ਫਾਈਲ ਮੈਨੇਜਰ ਵਿੱਚ ਪ੍ਰੋਗਰਾਮ ਡਾਇਰੈਕਟਰੀ, ਇਹ /mnt/partition/ ਵਿੱਚ ਫਾਈਲਾਂ ਰੱਖਦੀ ਦਿਖਾਈ ਦੇਵੇਗੀ। ਪ੍ਰੋਗਰਾਮ. "ਸਿੰਬੋਲਿਕ ਲਿੰਕਸ" ਤੋਂ ਇਲਾਵਾ, ਜਿਸਨੂੰ "ਨਰਮ ਲਿੰਕ" ਵੀ ਕਿਹਾ ਜਾਂਦਾ ਹੈ, ਤੁਸੀਂ ਇਸਦੀ ਬਜਾਏ "ਹਾਰਡ ਲਿੰਕ" ਬਣਾ ਸਕਦੇ ਹੋ। ਇੱਕ ਪ੍ਰਤੀਕ ਜਾਂ ਨਰਮ ਲਿੰਕ ਫਾਈਲ ਸਿਸਟਮ ਵਿੱਚ ਇੱਕ ਮਾਰਗ ਵੱਲ ਇਸ਼ਾਰਾ ਕਰਦਾ ਹੈ।

ਹਾਰਡ-ਲਿੰਕਿੰਗ ਡਾਇਰੈਕਟਰੀਆਂ ਦੀ ਇਜਾਜ਼ਤ ਨਾ ਦੇਣ ਦਾ ਕਾਰਨ ਥੋੜਾ ਤਕਨੀਕੀ ਹੈ। ਅਸਲ ਵਿੱਚ, ਉਹ ਫਾਈਲ-ਸਿਸਟਮ ਢਾਂਚੇ ਨੂੰ ਤੋੜਦੇ ਹਨ. ਤੁਹਾਨੂੰ ਆਮ ਤੌਰ 'ਤੇ ਹਾਰਡ ਲਿੰਕਾਂ ਦੀ ਵਰਤੋਂ ਨਹੀਂ ਕਰਨੀ ਚਾਹੀਦੀ. ਸਿੰਬੋਲਿਕ ਲਿੰਕ ਸਮੱਸਿਆਵਾਂ ਪੈਦਾ ਕੀਤੇ ਬਿਨਾਂ ਜ਼ਿਆਦਾਤਰ ਸਮਾਨ ਕਾਰਜਸ਼ੀਲਤਾ ਦੀ ਆਗਿਆ ਦਿੰਦੇ ਹਨ (ਜਿਵੇਂ ਕਿ ln -s target link )।

ਕੀ ਇਹ ਪੋਸਟ ਪਸੰਦ ਹੈ? ਕਿਰਪਾ ਕਰਕੇ ਆਪਣੇ ਦੋਸਤਾਂ ਨੂੰ ਸਾਂਝਾ ਕਰੋ:
OS ਅੱਜ