Linux sistēmā saite ir īpašs fails, kas norāda uz citu failu vai direktoriju. Šādā veidā vienu failu var ievietot vairākās vietās vienlaicīgi. Kad sākotnējais fails tiek dzēsts, saite uz to tiek saglabāta. Tas var izraisīt avārijas un kopumā aizsprostot sistēmu.
Sākumā paskaidrosim metodi, kā pārbaudīt, vai fails patiešām ir saite. To var ērti izdarīt, izmantojot ls
utilītu. Pēc tam aplūkosim trīs dzēšanas metodes, no kurām katrai ir savas īpatnības.
Ar ls
palīdzību ir ērti apskatīt informāciju par failu. Lai izmantotu utilītu, dodiet tam opciju -l
un norādiet ceļu. Kā piemēru ņemsim failu ~/symlinks/link_1
:
$ ls -l ~/symlinks/link_1
Varat pārbaudīt visu katalogu, vai tajā ir saites:
$ ls -l ~/symlin
Failu, kas nav nepieciešams, pēc nosaukuma atzīmē ar raksturīgu bultiņu.
Komandu rm
var izmantot, lai dzēstu jebkuru failu Linux failu sistēmā, tostarp saites. Tas nozīmē, ka tā ir piemērota mūsu uzdevumam. Šeit ir svarīgi pieminēt, ka saites dzēšanas rezultātā netiks ietekmēts sākotnējais fails vai direktorija.
Terminālī izpildiet komandu:
$ rm ~/symlinks/link_1
Lai iegūtu detalizētu informāciju par procedūru, pievienojiet komandai opciju -v
:
$ rm -v ~/symlinks/link_1
Papildus varat pārbaudīt, vai saite ir pazudusi no direktorijas. Lai to izdarītu, izmantojiet iepriekš aprakstīto komandu ls
.
Tagad jūs zināt, kā dzēst Linux simbolisko saiti.
UNLINK
palīgprogramma ir paredzēta failu noņemšanai no Linux failu sistēmas. Tajā ir jānorāda tikai ceļš līdz saitei:
$ unlink ~/symlinks/link_1
Šī uzdevuma ietvaros rm un un unlink darbojas gandrīz identiski. Tagad pāriesim pie pēdējās metodes.
Izmantojot komandu find
, varat meklēt un dzēst saites noteiktā direktorijā. Tas nozīmē, ka nav nepieciešams papildus izmantot ls.
Atšķirībā no iepriekšējām divām iespējām tai ir diezgan paplašinātas funkcijas, piemēram, meklēšanas kritēriju iestatīšana. Taču arī šā iemesla dēļ sintakse nav tik vienkārša.
Lai veiktu meklēšanu, ir jānorāda direktorijs un daži parametri:
$ find ~/symlinks/ -type l -print
Parametrs -type l
ir nepieciešams, lai atlasītu tikai simboliskās saites, -print
, lai izvadītu pilnu nosaukumu. Un ar parametra -maxdepth
palīdzību jūs varat norādīt meklēšanas dziļumu pēc iegultiem direktorijiem. Ja norādīsiet 1, meklēšana tiks veikta tikai pašā direktorijā bez pielikumiem:
$ find ~/symlinks/ -maxdepth 1 -type l -print
Ja direktorijā ir daudz saišu, varat norādīt meklēšanas modeli komandai find
. Kā piemēru aplūkosim situāciju, kad vēlamies atrast tikai slēptās saites, kuru pēdējās izmaiņas datums nav senāks par 30 dienām:
$ find ~/data/ -type l -name ".*" -mtime -30 -print
Ir pievienoti divi kritēriji:
-name
- meklēšana pēc nosaukuma
.-mtime
- pēc modifikācijas laika.Visas atrastās saites var dzēst saskaņā ar norādīto paraugu. Šim nolūkam -print
ir aizstāts ar -delete
:
$ find ~/data/ -type l -name ".*" -mtime -30 -delete
Instrukcijas beigās nodarbosimies ar bojāto saišu meklēšanu un dzēšanu, kas nekur neved, piemēram, pēc sākotnējā faila vai direktorijas dzēšanas. Šim nolūkam ir piemērots parametrs -xtype l
. -print
nav nepieciešams izvadei:
$ find ~/broken_links/ -xtype l
Rezultātā visas bojātās saites tiks parādītas terminālī. Lai tās dzēstu, komandas beigās pievienojiet -delete
:
$ find ~/broken_links/ -xtype l -delete
Ar to ir pabeigtas norādes par saites dzēšanu Linux sistēmā.