Android

Sådan fjernes (slettes) symbolsk links i Linux

Top 20 PowerPoint 2016 Tips and Tricks

Top 20 PowerPoint 2016 Tips and Tricks

Indholdsfortegnelse:

Anonim

Et symbolsk link, også kendt som en symlink, er en speciel filtype, der peger på en anden fil eller bibliotek. Det er noget som en genvej i Windows. En symlink kan pege på en fil eller et bibliotek på det samme eller et andet filsystem eller partition.

I denne vejledning viser vi dig, hvordan du fjerner (sletter) symbolsk links i Linux / UNIX-systemer ved hjælp af kommandoer rm , unlink og find .

Før du begynder

For at fjerne en symlink skal du have skrivetilladelser i det bibliotek, der indeholder symlinket. Ellers får du "Operation not tilladt" fejl.

Når du fjerner en symlink, påvirkes den fil, den peger på, ikke.

Brug kommandoen ls -l til at kontrollere, om en given fil er et symbolsk link, og for at finde den fil eller det bibliotek, som det symboliske link peger på.

ls -l /usr/bin/python

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

Det første tegn "l" angiver, at filen er en symlink. Symbolet “->” viser filen symlinket peger på.

Fjern symbolsk links med rm

Kommandoen rm fjerner de givne filer og mapper.

Hvis du vil slette en symlink, rm kommandoen rm efterfulgt af det symboliske linknavn som et argument:

rm symlink_name

Ved succes afsluttes kommandoen med nul og viser ingen output.

Med rm kan du slette mere end et symbolsk link på én gang. For at gøre det passerer navnene på symlinkene som argumenter, adskilt med mellemrum:

rm symlink1 symlink2

Brug indstillingen -i for at blive bedt om, før du fjerner symlinket:

rm -i symlink_name

For at bekræfte type y og trykke på Enter .

rm: remove symbolic link 'symlink_name'?

Hvis det symboliske link peger på et bibliotek, skal du ikke tilføje / efterfølgende skråstreg i slutningen. Ellers får du en fejl:

rm symlink_to_dir/

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

Hvis navnet på argumentet slutter med / , antager rm kommandoen, at filen er et bibliotek. Fejlen sker, fordi rm ikke kan slette mapper, når det bruges uden indstillingen -d eller -r .

For at være på den sikre side skal du aldrig -r vælge, når du fjerner symboliske links med rm . Hvis du f.eks. Skriver:

rm -f symlink_to_dir/

Indholdet af målmappen vil blive slettet.

Fjern symboliske links med unlink

unlink kommandoen sletter en given fil. I modsætning til rm accepterer unlink kun et enkelt argument.

For at slette et symbolsk link skal du køre unlink kommandoen efterfulgt af symlink-navnet som et argument:

unlink symlink_name

Hvis kommandoen udføres med succes, viser den ingen output.

Læg ikke linjen / efterfølgende skråstreg i slutningen af ​​symlink-navnet, fordi unlink ikke kan fjerne mapper.

Find og slet ødelagte symbolsk links

For at finde alle ødelagte symboliske links under et givet bibliotek skal du køre følgende kommando:

find /path/to/directory -xtype l

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

Kommandoen viser alle ødelagte links under biblioteket og dets undermapper.

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

/path/to/directory/symlink1

Når du har fundet de ødelagte symlinks, kan du enten fjerne dem manuelt med rm eller unlink eller bruge indstillingen -delete i søgekommandoen:

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

Konklusion

For at fjerne et symbolsk link skal du bruge kommandoen rm eller unlink efterfulgt af navnet på symlinket som et argument. Når du fjerner et symbolsk link, der peger på et bibliotek, må du ikke tilføje en bageste skråstreg til symlink-navnet.

rm unlink find terminal