команда ln (символическая ссылка)

Thank you for reading this post, don't forget to subscribe!

Симво­ли­че­ская ссыл­ка, так­же извест­ная как symlink или soft link, пред­став­ля­ет собой осо­бый тип фай­ла, кото­рый ука­зы­ва­ет на дру­гой файл или каталог.

В этой ста­тье мы рас­ска­жем, как исполь­зо­вать коман­ду ln для созда­ния сим­во­ли­че­ских ссылок.

В систе­мах Linux/UNIX суще­ству­ет два типа ссылок:

  • Жест­кие ссыл­ки. Вы може­те счи­тать жест­кую ссыл­ку в каче­стве допол­ни­тель­но­го име­ни для суще­ству­ю­ще­го фай­ла. Жест­кие ссыл­ки свя­зы­ва­ют два или более име­ни фай­ла с тем же inode. Вы може­те создать одну или несколь­ко жест­ких ссы­лок для одно­го фай­ла. Жест­кие ссыл­ки не могут быть созда­ны для ката­ло­гов и фай­лов в дру­гой фай­ло­вой систе­ме или разделе.
  • Мяг­кие ссыл­ки. Soft link – это что-то вро­де ярлы­ка в Windows. Это кос­вен­ный ука­за­тель на файл или ката­лог. В отли­чие от жест­кой ссыл­ки, сим­во­ли­че­ская ссыл­ка может ука­зы­вать на файл или ката­лог на дру­гой фай­ло­вой систе­ме или разделе.

Ути­ли­та ln для созда­ния свя­зей меж­ду фай­ла­ми. По умол­ча­нию коман­да ln созда­ет жест­кие ссыл­ки. Для созда­ния сим­во­ли­че­ских ссы­лок исполь­зуй­те пара­метр -s--symbolic).

Син­так­сис коман­ды ln выгля­дит сле­ду­ю­щим образом :

Что­бы создать сим­во­ли­че­скую ссыл­ку в Linux, открой­те свой тер­ми­нал и введите:

 

Заме­ни­те имя source_file суще­ству­ю­ще­го фай­ла, для кото­ро­го вы хоти­те создать сим­во­ли­че­скую ссыл­ку, и с име­нем symbolic_link сим­во­ли­че­ской ссылки.

Пара­метр symbolic_link явля­ет­ся необя­за­тель­ным. Если вы не ука­же­те сим­во­ли­че­скую ссыл­ку, коман­да ln создаст новую ссыл­ку в вашем теку­щем каталоге.

 

В сле­ду­ю­щем при­ме­ре мы созда­ем сим­во­ли­че­скую ссыл­ку, назван­ную my_link.txt в файл с име­нем my_file.txt:

 

Что­бы убе­дить­ся, что сим­во­ли­че­ская ссыл­ка была созда­на, исполь­зуй­те коман­ду ls:

 

Резуль­тат будет выгля­деть при­мер­но так:

 

Сим­вол l – это флаг типа фай­ла, пред­став­ля­ю­щий сим­во­ли­че­скую ссыл­ку. Сим­вол -> пока­зы­ва­ет файл сим­во­ли­че­ская ссыл­ка указывает.

Коман­да созда­ния сим­во­ли­че­ской ссыл­ки на ката­лог такая же, как при созда­нии сим­во­ли­че­ской ссыл­ки на файл. Ука­жи­те имя ката­ло­га как пара­метр firs и сим­во­ли­че­скую ссыл­ку в каче­стве вто­ро­го параметра.

Напри­мер, если вы хоти­те создать сим­во­ли­че­скую ссыл­ку из ката­ло­га /mnt/my_drive/movies в ката­лог ~/my_movies, кото­рый вы запустили:

Если вы попы­та­е­тесь создать сим­во­ли­че­скую ссыл­ку, кото­рая уже суще­ству­ет, коман­да ln выве­дет сооб­ще­ние об ошибке.

 

Что­бы пере­пи­сать путь назна­че­ния сим­во­ли­че­ской ссыл­ки, исполь­зуй­те опцию -f--force).

Вы може­те уда­лить суще­ству­ю­щую сим­во­ли­че­скую ссыл­ку с помо­щью коман­ды unlink или rm.

Син­так­сис коман­ды unlink очень прост:

 

Уда­ле­ние сим­во­ли­че­ской ссыл­ки с помо­щью коман­ды rm ана­ло­гич­но уда­ле­нию файла:

 

Вы долж­ны исполь­зо­вать ути­ли­ту unlink для уда­ле­ния сим­во­ли­че­ской ссылки.

Если вы уда­ли­те или пере­ме­сти­те исход­ный файл в дру­гое место, сим­во­ли­че­ский файл оста­нет­ся нера­бо­чим. Вы долж­ны уда­лить его, пото­му что он боль­ше не будет работать.