Линк у Линуксу је посебна датотека која упућује на другу датотеку или директоријум. Дакле, једна датотека може бити постављена на више места истовремено. Када се оригинал обрише, линк до ње се чува. Као резултат тога, могу се јавити кварови и систем ће се генерално зачепити.
Прво, објаснићемо како проверити да ли је датотека заправо линк. То се лако ради помоћу услужног програма ls
. Затим ћемо погледати три методе брисања, од којих свака има своје карактеристике.
Згодно је прегледати информације о датотеци помоћу ls
. Да бисте користили услужни програм, наведите опцију -l
и путању. На пример, узмимо датотеку ~/symlinks/link_1
:
$ ls -l ~/symlinks/link_1
Можете проверити цео директоријум за линкове:
$ ls -l ~/symlin
Датотека која није потребна означена је карактеристичном стрелицом иза свог имена.
Команда rm
може се користити за брисање било које датотеке у Linux фајл систему, укључујући линкове. Дакле, погодна је за наш задатак. Важно је напоменути да оригинална датотека или директоријум неће бити погођени брисањем линка.
У терминалу покрените команду:
$ rm ~/symlinks/link_1
Такође, да бисте добили детаљне информације о процедури, додајте опцију -v
команди:
$ rm -v ~/symlinks/link_1
Поред тога, можете проверити да ли је веза нестала из директоријума. Да бисте то урадили, користите команду ls
описану раније.
Сада знате како да уклоните симболичку везу у Линуксу.
Услужни програм unlink
је дизајниран за уклањање датотека из Линукс фајл система. Довољно је навести путању до везе:
$ unlink ~/symlinks/link_1
За потребе овог задатка, rm и unlink раде готово идентично. Сада пређимо на последњи метод.
Команда find
може се користити за претраживање и уклањање веза у датом директоријуму, што значи да није потребна додатна употреба ls
.
За разлику од претходне две опције, има прилично напредне могућности, као што је подешавање критеријума претраге. Али синтакса није тако једноставна из тог разлога.
Да бисте претражили, потребно је да наведете директоријум и неколико параметара:
$ find ~/symlinks/ -type l -print
Параметар -type l
је потребан за одабир само симболичких веза, -print
за приказ пуног имена. А помоћу -maxdepth
можете подесити дубину претраге у угнежђеним директоријумима. Ако наведете 1, претрага ће се вршити само у самом директоријуму, без угнежђавања:
$ find ~/symlinks/ -maxdepth 1 -type l -print
Када имате много линкова у директоријуму, можете подесити образац претраге за команду find
. На пример, узмимо ситуацију у којој желите да пронађете само скривене линкове са датумом последње измене не већим од 30 дана:
$ find ~/data/ -type l -name ".*" -mtime -30 -print
Додата су два критеријума:
-name
– претрага по имену.-mtime
– према времену модификације. Све пронађене везе могу се обрисати према наведеном обрасцу. Да бисте то урадили, -print
се замењује са -delete
:
$ find ~/data/ -type l -name ".*" -mtime -30 -delete
На крају инструкција, погледаћемо проналажење и брисање неисправних веза које никуда не воде, на пример, након брисања оригиналне датотеке или директоријума. Параметар -xtype l
је погодан за ову сврху. У овом случају, -print
није потребан за излаз:
$ find ~/broken_links/ -xtype l
Као резултат тога, сви неисправни линкови ће бити приказани у терминалу. Да бисте их обрисали, додајте -delete
на крај команде:
$ find ~/broken_links/ -xtype l -delete
Овим су завршена упутства за уклањање везе у Линуксу.