"Linux" sistemoje nuoroda yra specialus failas, nukreipiantis į kitą failą ar katalogą. Tokiu būdu vieną failą vienu metu galima patalpinti keliose vietose. Ištrynus pradinį failą, nuoroda išlieka. Dėl to gali sutrikti darbas ir apskritai užsikimšti sistema.
Pirmiausia paaiškinkime, kaip patikrinti, ar failas iš tikrųjų yra nuoroda. Tai patogu atlikti naudojant ls
įrankį. Po to apžvelgsime tris šalinimo būdus, kurių kiekvienas turi savų ypatumų.
Naudojant ls
patogu matyti informaciją apie failą. Norėdami naudoti šią priemonę, suteikite jai parinktį -l
ir nurodykite kelią. Kaip pavyzdį paimkime failą ~/symlinks/link_1
:
$ ls -l ~/symlinks/link_1
Galite patikrinti visą katalogą, ar jame yra nuorodų:
$ ls -l ~/symlin
Nereikalingas failas po pavadinimo pažymimas charakteringa rodykle.
Komanda rm
galima ištrinti bet kurį "Linux" failų sistemos failą, įskaitant nuorodas. Vadinasi, ji tinka mūsų užduočiai atlikti. Čia svarbu paminėti, kad ištrynus nuorodą originalus failas ar katalogas nebus paveiktas.
Terminale paleiskite komandą:
$ rm ~/symlinks/link_1
Be to, norėdami gauti išsamią informaciją apie procedūrą, prie komandos pridėkite parinktį -v
:
$ rm -v ~/symlinks/link_1
Be to, galite patikrinti, ar nuoroda išnyko iš katalogo. Tam naudokite anksčiau aprašytą komandą ls
.
Dabar žinote, kaip pašalinti "Linux" simbolinę nuorodą.
UNLINK
programa skirta failams iš "Linux" failų sistemos pašalinti. Jai tereikia nurodyti nuorodų kelią:
$ unlink ~/symlinks/link_1
Atliekant užduotį, rm ir unlink veikia beveik identiškai. Dabar pereikime prie paskutinio metodo.
Naudodami komandą find
galite ieškoti ir ištrinti nuorodas tam tikrame kataloge. Tai reiškia, kad jums nereikia papildomai naudoti ls
.
Skirtingai nei ankstesnės dvi galimybės, ši komanda turi gana išplėstinių funkcijų, pavyzdžiui, paieškos kriterijų nustatymą. Tačiau ir dėl šios priežasties sintaksė nėra tokia paprasta.
Norėdami atlikti paiešką, turite nurodyti katalogą ir keletą parametrų:
$ find ~/symlinks/ -type l -print
Parametras -type l
reikalingas norint pasirinkti tik simbolines nuorodas, -print -
norint išvesti visą pavadinimą. O parametro -maxdepth
pagalba galite nurodyti paieškos gylį pagal įterptus katalogus. Jei nurodysite 1, paieška bus atliekama tik pačiame kataloge, be priedų:
$ find ~/symlinks/ -maxdepth 1 -type l -print
Kai kataloge yra daug nuorodų, galite nurodyti paieškos šabloną komandai find
. Kaip pavyzdį paimkime situaciją, kai norime rasti tik paslėptas nuorodas, kurių paskutinio pakeitimo data yra ne daugiau kaip prieš 30 dienų:
$ find ~/data/ -type l -name ".*" -mtime -30 -print
Pridėti du kriterijai:
-name
- paieška pagal pavadinimą
.-mtime
- ieškoti pagal pakeitimo laiką.Visas rastas nuorodas galima ištrinti pagal nurodytą šabloną. Šiuo tikslu -print
pakeista -delete
:
$ find ~/data/ -type l -name ".*" -mtime -30 -delete
Instrukcijos pabaigoje aptarkime neveikiančių nuorodų, kurios niekur neveda, pavyzdžiui, ištrynus pradinį failą ar katalogą, paiešką ir ištrynimą. Šiam tikslui tinka parametras -xtype l
. Išvesties parametras -print
nereikalingas:
$ find ~/broken_links/ -xtype l
Dėl to terminale bus rodomos visos nutrūkusios nuorodos. Norėdami jas pašalinti, komandos pabaigoje pridėkite -delete
:
$ find ~/broken_links/ -xtype l -delete
Taip baigiamos nuorodos šalinimo "Linux" sistemoje instrukcijos.