Hard link пов'язує файли і каталоги в одній і тій же файловій системі, але Soft link може перетинати межі файлової системи.
Перш ніж розуміти посилання, які ми повинні спочатку зрозуміти inode, inode - це структура даних, що складається з метаданих про файл, такі як дата створення файлу, авторизація файлу, власник файлу та багато іншого.
Діаграма порівняння
Основа для порівняння | Жорстке посилання | М'яке посилання |
---|---|---|
Основний | Доступ до файлу можна отримати через безліч різних назв, відомих як жорсткі посилання. | Доступ до файлу можна отримати за допомогою різних посилань, які вказують на цей файл, відомий як м'яка посилання. |
Перевірка посилання, коли вихідний файл видалено | Ще дійсний файл і доступ до нього. | Недійсний |
Команда, яка використовується для створення | ln | ln -s |
inode номер | Те ж саме | Інший |
Можна зв'язати | До власного розділу. | Для будь-якої іншої файлової системи навіть мережева. |
Споживання пам'яті | Менше | Більше |
Відносний шлях | Не застосовується | Дозволено |
Визначення жорсткого посилання
Жорсткі посилання безпосередньо зв'язують два файли в одній файловій системі і для ідентифікації використовують номер inode у файлі. Жорсткі посилання не можуть бути реалізовані на каталогах (оскільки вони вказують на inode). Коли команда " ln " використовується для створення жорсткої посилання, вона створює інший файл у командному рядку, який може використовуватися для передачі вихідного файлу. Як оригінальний, так і згенерований файл мають один і той самий зміст; отже, вони матимуть однакові права і той самий власник.
Видалення вихідного файлу не впливає на жорсткий пов'язаний файл, і жорсткий пов'язаний файл залишиться. Inode містить лічильник, щоб обчислити кількість жорстких посилань на себе. Коли лічильник вказує значення 0, то інод спорожняється. Щоразу, коли ви вносите будь-які зміни до жорсткого посилання, воно буде імітувати у вихідному файлі.
Визначення Soft link
М'які посилання зазвичай є альтернативним шляхом (або псевдонімом) для вихідного файлу; їх також називають символічними посиланнями . Вона включає в себе ім'я "цільового файлу" посилання, яке вказує, що це м'яка посилання. При зверненні до файлу м'яка посилання перенаправляє її до цільового файлу через шлях, написаний в темі м'якої посилання.
Це дуже зручно у випадку з ОС Windows, де м'яка посилання веде себе як ярлики. Створення та видалення м'яких посилань не впливає на вихідний файл. Якщо цільовий файл видаляється, то м'яка посилання бовтається, що означає, що вона не спрямовує ніде і генерує повідомлення про помилку при зверненні до цільового файлу. М'які посилання не використовують номер inode, на відміну від жорсткого посилання. Абсолютний або відносний шлях може бути частиною символічних посилань.
Ключові відмінності між жорстким посиланням і м'якою посиланням
- Жорстке посилання - це додаткове ім'я вихідного файлу, який посилається на inode для доступу до цільового файлу. На відміну від цього, м'яка посилання відрізняється від вихідного файлу і є псевдонімом вихідного файлу, але не використовує inode.
- Коли вихідний файл видаляється, м'яка посилання стає недійсною, тоді як жорсткий зв'язок діє, навіть якщо цільовий файл видалено.
- У Linux команда, яка використовується для створення жорсткого посилання, є " ln ". На відміну від цього, команда, що використовується для м'якої посилання, - " ln -s ".
- Жорсткий зв'язок має той же самий номер inode, який відрізняється від м'якої посилання, де цільовий файл і його м'яка посилання мають різний номер inode.
- Жорсткі посилання обмежені власними розділами, але м'які посилання можуть охоплювати різні файлові системи.
- У деяких випадках продуктивність жорсткого посилання краща, ніж м'яка посилання.
- Відносний шлях і абсолютний шлях обидва дозволені в м'яких посиланнях. Навпаки, відносний шлях не допускається в жорсткому каналі.
Висновок
Жорстке посилання не вимагає додаткового простору та швидше вирішувати задачі, але зміни, застосовані до жорсткого посилання, відображаються у вихідному файлі. З іншого боку, Soft link потребує додаткового простору, але будь-яка зміна в м'якій посиланнях не впливає на вихідний файл. М'які посилання дозволені до каталогів на відміну від Hard link.