SOFT AND HARD LINKS
Преките пътища/линкове в Линукс
В Линукс има 2 типа преки пътища : soft и hard типове. Преди да разясним кой какво прави и защо трявбав да направим едно уточнение.
Във файловата система на Линукс всеки файл има "inote" номер. Това е нещо като сериен номер на файлът. За да видим този номер можем например да изпълним следната команда:
# ls -li /home/vasil
Ще ни се покаже в началото номер, който съответства на всеки файл.
И сега вече мога да обясня разликата между двата типа линкове. СЪответно техните предимства и недостатъци.
HARD LINKS - при този тип ние правим път до един вид до файлът с определеният inote номер. Ако преименуваме файлът или преместим неговото място или папка, то hard link няма да престане да работи, защото не всъщност сме "вързани" към неговият сериен номер, който не се променя. Недостатък на този тип линкове, е че не работи "кръстосва" файлови системи. Това което имам предивид, е че не можете да направите hard link на файл който се намира в XFS примерно дял а линкът да бъде в EXT4 дял примерно.
SOFT LINK - при този тип се прави пряк път до самият файл използвайки неговата локация/път и име (както е при Windows). Предимствата тук, е че може да се "кръстосват" файлови ситеми, но недостатъкът съответно се появява ако преименувате файлът или промените неговият път/местоположение.
И сега да ви покажа как се правят soft и hard линкове.
За hard link:
$ ln /source/file/destination/file.txt /destination/flink/to/file.txt.link
Особеното при тази команда, е че трявба да изписвате целият път на линка!
За soft link:
$ ln -s /source/file/destination/file.txt file.txt.link
Тук ще се направи линк file.txt.link в текущата папка, в която се намираме. Естествено можете да изпишете командата и така: