Что такое жесткая ссылка в Linux?

Я искал вокруг и пытаюсь понять разницу между жесткой ссылкой и символической ссылкой (soft link).

нашел этой ссылке весьма полезно. Но я все еще не совсем ясно выразился. Я понимаю мягкая ссылка-это не копия исходного файла, но ссылка на копию или нет?

4
задан icn
06.02.2023 7:42 Количество просмотров материала 2588
Распечатать страницу

4 ответа

использовать аналогию с доставки по почте, символическая ссылка-это что-то вроде адреса... когда что-то пытается открыть символическую ссылку, он открывает "файл" (не буквально файл, хотя), хранящийся там, и видит, что вместо этого он должен смотреть на файл с другим именем, поэтому вместо этого он открывает другой файл.

жесткая связь как будто два адреса на одном месте. (Конечно, это невозможно в физическом мире). Когда что-то пытается прочитать либо имя файла (адрес), они получают тот же физический файл (местоположение).

таким образом, жесткая ссылка не является копией, потому что файл хранится только один раз (но с несколькими именами). Но он ведет себя очень похоже на копию, потому что вы можете получить доступ к той же информации из двух имен файлов.

15
отвечен Flimzy 2023-02-07 15:30

нет. Жесткая ссылка (Вторая и все последующие) на файл является указателем на те же inode на диске.

3
отвечен Ignacio Vazquez-Abrams 2023-02-07 17:47

когда вы делаете жесткую ссылку, это означает, что один и тот же файл появляется в двух разных местах. Файл на самом деле является ссылкой только на набор блоков данных на дисках, поэтому жесткая ссылка добавляет еще одну ссылку. Файлы редко действительно удаляются; ссылки просто удаляются, поэтому невозможно получить доступ к данным. Вот почему, когда вы удаляете файл, который вы сделали в качестве жесткой ссылки, другой исходный файл остается, и наоборот.

с другой стороны, символическая ссылка-это направление для доступа к файлу с определенное имя. Он сообщает любым программам: "если вы хотите использовать этот файл, он там". Вот почему, если вы удалите цель символической ссылки, символическая ссылка разрывается. И если вы удалите ссылку, цель не будет затронута.

3
отвечен Michael Lowman 2023-02-07 20:04

файл в системе * nix состоит из двух частей. одна часть данных и других инф. inode хранит мета (информацию, относящуюся к данным, например, местоположение, где он хранится на жестком диске) информацию. Жесткая ссылка создает точную копию этого inode. В то время как sym link создает inode, который указывает на inode фактического inode. Таким образом, данные inode в hardlink такие же, как целевые, но разные данные в sym link. Короче говоря, ссылки sym и жесткие ссылки отличаются по содержанию данных inode только не данные из файла. Это мое понимание разницы между sym link и hard link. У меня было трудное время, первоначально понимая это, как это что-то более разработчик thingy и я не разработчик. О знающих, пожалуйста, поправьте меня, если я ошибаюсь.

2
отвечен Naai Sekar 2023-02-07 22:21

Постоянная ссылка на данную страницу: [ Скопировать ссылку | Сгенерировать QR-код ]

Ваш ответ

Опубликуйте как Гость или авторизуйтесь

Имя
Вверх