Төлем әдістері Abuse

Linux жүйесіндегі сілтемелерді жойыңыз

10.04.2022, 01:05

Linux жүйесіндегі сілтеме – басқа файлға немесе каталогқа сілтеме жасайтын арнайы файл. Сондықтан бір файлды бірден бірнеше жерге орналастыруға болады. Түпнұсқа жойылған кезде оған сілтеме сақталады. Нәтижесінде сәтсіздіктер орын алуы мүмкін және жүйе тұтастай бітеліп қалады.

Сілтемені қалай жоюға болады

Алдымен, файлдың шын мәнінде сілтеме екенін қалай тексеруге болатынын түсіндірейік. Бұл ls утилитасының көмегімен ыңғайлы түрде жасалады. Содан кейін біз жоюдың үш әдісін қарастырамыз, олардың әрқайсысының өзіндік сипаттамалары бар.

Біз бұл сілтеме екеніне сенімдіміз

ls арқылы файл туралы ақпаратты қарау ыңғайлы. Утилитаны пайдалану үшін -l опциясын және жолды көрсетіңіз. Мысал ретінде ~/symlinks/link_1 файлын алайық:

 $ ls -l ~/symlinks/link_1 

Linux жүйесіндегі сілтемелерді жою

Сілтемелер үшін бүкіл каталогты тексеруге болады:

 $ ls -l ~/symlin 

Linux жүйесіндегі сілтемелерді жою

Қажет емес файл оның атынан кейін сипаттамалық көрсеткімен белгіленеді.

Rm пайдалану

rm пәрменін Linux файлдық жүйесіндегі кез келген файлды, соның ішінде сілтемелерді жою үшін пайдалануға болады. Сондықтан бұл біздің тапсырмамызға сәйкес келеді. Бұл жерде сілтемені жою бастапқы файлға немесе каталогқа әсер етпейтінін атап өткен жөн.

Терминалда пәрменді іске қосыңыз:

 $ rm ~/symlinks/link_1 

Linux жүйесіндегі сілтемелерді жою

Сондай-ақ, процедура туралы толық ақпарат алу үшін пәрменге -v опциясын қосыңыз:

 $ rm -v ~/symlinks/link_1 

Linux жүйесіндегі сілтемелерді жою

Сонымен қатар, сілтеменің каталогтан жоғалып кеткенін тексеруге болады. Ол үшін бұрын сипатталған ls пәрменін пайдаланыңыз.

Linux жүйесіндегі сілтемелерді жою

Енді сіз Linux символдық сілтемесін қалай жою керектігін білесіз.

UNLINK пайдалану

unlink утилитасы Linux файлдық жүйесінен файлдарды жоюға арналған. Сілтемеге жолды көрсету жеткілікті:

 $ unlink ~/symlinks/link_1 

Linux жүйесіндегі сілтемелерді жою

Осы тапсырманың мақсаттары үшін rm және ажырату бірдей дерлік жұмыс істейді. Енді соңғы әдіске көшейік.

Find пайдалану

find пәрменін берілген каталогтағы сілтемелерді іздеу және жою үшін пайдалануға болады, яғни ls қосымша пайдалану қажет емес.

Linux жүйесіндегі сілтемелерді жою

Алдыңғы екі опциядан айырмашылығы, оның іздеу критерийлерін орнату сияқты жетілдірілген мүмкіндіктері бар. Бірақ синтаксис осы себепті қарапайым емес.

Іздеу үшін каталог пен бірнеше параметрлерді көрсету керек:

 $ find ~/symlinks/ -type l -print 

Linux жүйесіндегі сілтемелерді жою

-type l параметрі тек символдық сілтемелерді таңдау үшін қажет, толық атын көрсету үшін -print . Ал -maxdepth көмегімен кірістірілген каталогтарда іздеу тереңдігін орнатуға болады. 1 мәнін көрсетсеңіз, іздеу кірістірместен тек каталогтың өзінде болады:

 $ find ~/symlinks/ -maxdepth 1 -type l -print 

Linux жүйесіндегі сілтемелерді жою

Каталогта көптеген сілтемелер болғаннан кейін find пәрмені үшін іздеу үлгісін орнатуға болады. Мысал ретінде, соңғы өзгерту күні 30 күннен аспайтын жасырын сілтемелерді ғана тапқыңыз келетін жағдайды алайық:

 $ find ~/data/ -type l -name ".*" -mtime -30 -print 

Linux жүйесіндегі сілтемелерді жою

Екі критерий қосылды:

  • -name – аты бойынша іздеу.
  • -mtime – өзгерту уақыты бойынша.

Барлық табылған сілтемелерді көрсетілген үлгі бойынша жоюға болады. Ол үшін -print орнына -delete қолданылады:

 $ find ~/data/ -type l -name ".*" -mtime -30 -delete

Linux жүйесіндегі сілтемелерді жою

Нұсқаулардың соңында біз ешқайда әкелмейтін бұзылған сілтемелерді табуды және жоюды қарастырамыз, мысалы, бастапқы файлды немесе каталогты жойғаннан кейін. Бұл мақсат үшін -xtype l параметрі қолайлы. Бұл жағдайда шығару үшін -print қажет емес:

 $ find ~/broken_links/ -xtype l 

Linux жүйесіндегі сілтемелерді жою

Нәтижесінде барлық бұзылған сілтемелер терминалда көрсетіледі. Оларды жою үшін пәрменнің соңына -delete қосыңыз:

 $ find ~/broken_links/ -xtype l -delete 

Linux жүйесіндегі сілтемелерді жою

Бұл Linux жүйесінде сілтемені жою нұсқауларын аяқтайды.