Maksutavat Abuse

Linkkien poistaminen Linuxissa

10.04.2022, 01:05

Linuxissa linkki on erityinen tiedosto, joka viittaa toiseen tiedostoon tai hakemistoon. Näin yksi tiedosto voidaan sijoittaa useaan paikkaan samanaikaisesti. Kun alkuperäinen tiedosto poistetaan, linkki säilyy. Tämä voi johtaa kaatumisiin ja yleensä tukkii järjestelmän.

Linkin poistaminen

Aluksi selitetään menetelmä, jolla tarkistetaan, että tiedosto on todella linkki. Tämä tapahtuu kätevästi ls-apuohjelman avulla. Sen jälkeen tarkastellaan kolmea poistomenetelmää, joilla kullakin on omat erityispiirteensä.

Sen tarkistaminen, että kyseessä on linkki

Ls:n avulla on kätevää nähdä tietoa tiedostosta. Jos haluat käyttää apuohjelmaa, anna sille -l-vaihtoehto ja määritä polku. Otetaan esimerkkinä tiedosto ~/symlinks/link_1:

$ ls -l ~/symlinks/link_1

Linkkien poistaminen Linuxissa

Voit tarkistaa koko luettelon linkkien osalta:

$ ls -l ~/symlin

Linkkien poistaminen Linuxissa

Tiedosto, jota ei tarvita, on merkitty sen nimen perässä olevalla tyypillisellä nuolella.

Rm:n käyttäminen

Komennolla rm voidaan poistaa mikä tahansa tiedosto Linuxin tiedostojärjestelmästä, myös linkit. Eli se sopii tehtäväämme. Tässä yhteydessä on tärkeää mainita, että linkin poistaminen ei vaikuta alkuperäiseen tiedostoon tai hakemistoon.

Suorita terminaalissa komento:

$ rm ~/symlinks/link_1

Linkkien poistaminen Linuxissa

Jos haluat myös yksityiskohtaisia tietoja toimenpiteestä, lisää komentoon -v-vaihtoehto:

$ rm -v ~/symlinks/link_1

Linkkien poistaminen Linuxissa

Lisäksi voit tarkistaa, onko linkki kadonnut hakemistosta. Käytä tähän aiemmin kuvattua komentoa ls.

Linkkien poistaminen Linuxissa

Nyt tiedät, miten Linuxin symbolinen linkki poistetaan.

UNLINKin käyttäminen

Unlink-apuohjelma on suunniteltu poistamaan tiedostoja Linuxin tiedostojärjestelmästä. Sen tarvitsee vain määrittää linkin polku:

$ unlink ~/symlinks/link_1

Linkkien poistaminen Linuxissa

Käsiteltävänä olevan tehtävän puitteissa rm ja unlink toimivat lähes identtisesti. Siirrytään nyt viimeiseen menetelmään.

Findin käyttäminen

Find-komennon avulla voit etsiä ja poistaa linkkejä tietyssä hakemistossa. Tämä tarkoittaa, että sinun ei tarvitse käyttää ls:ää lisäksi.

Linkkien poistaminen Linuxissa

Toisin kuin kahdessa edellisessä vaihtoehdossa, siinä on melko kehittyneitä ominaisuuksia, esimerkiksi hakuehtojen asettaminen. Mutta syntaksi ei ole tästäkään syystä niin yksinkertainen.

Hakua varten sinun on määritettävä hakemisto ja muutama parametri:

$ find ~/symlinks/ -type l -print

Linkkien poistaminen Linuxissa

Parametri -type l tarvitaan, jos halutaan valita vain symboliset linkit, -print, jos halutaan tulostaa koko nimi. Ja -maxdepth-parametrin avulla voit määrittää haun syvyyden sisäkkäisten hakemistojen mukaan. Jos annat arvon 1, haku suoritetaan vain itse hakemistosta ilman liitetiedostoja:

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

Linkkien poistaminen Linuxissa

Kun hakemistossa on useita linkkejä, voit määrittää hakukuvion find-komentoa varten. Otetaan esimerkiksi tilanne, jossa halutaan löytää vain piilotetut linkit, joiden viimeisin muutospäivämäärä on enintään 30 päivää sitten:

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

Linkkien poistaminen Linuxissa

On lisätty kaksi kriteeriä:

  • -name - haku nimen perusteella.
  • -mtime - haku muutosajankohdan mukaan.

Kaikki löydetyt linkit voidaan poistaa määritetyn mallin mukaisesti. Tätä tarkoitusta varten -print on korvattu -delete-merkillä:

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

Linkkien poistaminen Linuxissa

Käsitellään ohjeen lopussa sellaisten rikkinäisten linkkien etsimistä ja poistamista, jotka eivät johda mihinkään, esimerkiksi alkuperäisen tiedoston tai hakemiston poistamisen jälkeen. Tähän tarkoitukseen sopii -xtype l-parametri. -print-parametria ei tarvita tulostukseen:

$ find ~/broken_links/ -xtype l

Linkkien poistaminen Linuxissa

Tuloksena kaikki rikkinäiset linkit näytetään terminaalissa. Jos haluat poistaa ne, lisää -delete komennon loppuun:

$ find ~/broken_links/ -xtype l -delete

Linkkien poistaminen Linuxissa

Näin saat ohjeet linkin poistamiseen Linuxissa valmiiksi.