Android

Hvordan fjerne (slette) symbolkoblinger i Linux

Hvordan fjerne iCloud fra Apple-produkter?

Hvordan fjerne iCloud fra Apple-produkter?

Innholdsfortegnelse:

Anonim

En symbolsk lenke, også kjent som en symlink, er en spesiell filtype som peker til en annen fil eller katalog. Det er noe som en snarvei i Windows. En symlink kan peke på en fil eller en katalog på det samme eller et annet filsystem eller partisjon.

I denne guiden vil vi vise deg hvordan du fjerner (sletter) symbolkoblinger i Linux / UNIX-systemer ved å bruke kommandoene rm , unlink og find .

Før du begynner

For å fjerne en symlink, må du ha skrivetillatelser i katalogen som inneholder symlinken. Ellers vil du få feilen "Operasjon ikke tillatt".

Når du fjerner en symlink, påvirkes ikke filen den peker på.

Bruk kommandoen ls -l å sjekke om en gitt fil er en symbolsk lenke, og for å finne filen eller katalogen som symbolsk lenke peker på.

ls -l /usr/bin/python

lrwxrwxrwx 1 root root 9 Apr 16 2018 /usr/bin/python -> python2.7

Det første tegnet “l”, indikerer at filen er en symlink. Symbolet "->" viser filen symlinken peker på.

Fjern symbolsk lenker med rm

rm kommandoen fjerner gitte filer og kataloger.

Hvis du vil slette en symlink, påkaller du rm kommandoen etterfulgt av symbolsk lenkenavn som et argument:

rm symlink_name

Ved suksess avsluttes kommandoen med null og viser ingen utgang.

Med rm kan du slette mer enn ett symbolsk link på en gang. For å gjøre det passerer navnene på symlinkene som argumenter, atskilt med mellomrom:

rm symlink1 symlink2

Bruk alternativet -i å bli bedt om å fjerne symlenken:

rm -i symlink_name

For å bekrefte type y og trykk Enter .

rm: remove symbolic link 'symlink_name'?

Hvis den symboliske lenken peker på en katalog, ikke legg til / etterfølgende skråstrek på slutten. Ellers får du en feil:

rm symlink_to_dir/

rm: cannot remove 'symlink_to_dir/': Is a directory

Hvis navnet på argumentet ender med / , antar rm kommandoen at filen er en katalog. Feilen skjer fordi rm ikke kan slette kataloger når den brukes uten alternativet -d eller -r .

For å være på den sikre siden, aldri -r alternativet når du fjerner symbolske lenker med rm . Hvis du for eksempel skriver:

rm -f symlink_to_dir/

Innholdet i målkatalogen blir slettet.

Fjern symbolsk lenker med unlink

unlink kommandoen sletter en gitt fil. I motsetning til rm , aksepterer unlink bare et enkelt argument.

Hvis du vil slette en symbolkobling, kjører du unlink kommandoen fulgt av symlink-navnet som et argument:

unlink symlink_name

Hvis kommandoen kjøres, viser den ingen utdata.

Ikke legg til / etterfølgende skråstrek på slutten av symlink-navnet fordi unlink ikke kan fjerne kataloger.

Finn og slett ødelagte symbolkoblinger

Kjør følgende kommando for å finne alle ødelagte symbolkoblinger under en gitt katalog:

find /path/to/directory -xtype l

/path/to/directory/symlink1 /path/to/directory/subdir/symlink2

Kommandoen viser alle ødelagte lenker under katalogen og underkatalogene.

find /path/to/directory -maxdepth 1 -xtype l

/path/to/directory/symlink1

Når du har funnet de ødelagte symlinkene, kan du enten fjerne dem manuelt med rm eller unlink eller bruke alternativet- -delete i -delete :

find /path/to/directory -xtype l -delete

Konklusjon

For å fjerne en symbolsk lenke, bruk enten rm eller unlink kommandoen etterfulgt av navnet på symlinken som et argument. Når du fjerner en symbolkobling som peker til en katalog, må du ikke legge en skråstrek til symlink-navnet.

rm koble fra finn terminal