Android

Jak usunąć (usunąć) dowiązania symboliczne w systemie Linux

Командная строка Linux для новичков

Командная строка Linux для новичков

Spisu treści:

Anonim

Dowiązanie symboliczne, znane również jako dowiązanie symboliczne, to specjalny typ pliku, który wskazuje na inny plik lub katalog. Jest to coś w rodzaju skrótu w systemie Windows. Dowiązanie symboliczne może wskazywać plik lub katalog na tym samym lub innym systemie plików lub partycji.

W tym przewodniku pokażemy, jak usunąć (usunąć) dowiązania symboliczne w systemach Linux / UNIX za pomocą poleceń rm , unlink i find .

Zanim zaczniesz

Aby usunąć dowiązanie symboliczne, musisz mieć uprawnienia do zapisu w katalogu zawierającym dowiązanie symboliczne. W przeciwnym razie pojawi się błąd „Operacja niedozwolona”.

Usunięcie dowiązania symbolicznego nie wpływa na plik, na który wskazuje.

Użyj komendy ls -l aby sprawdzić, czy dany plik jest dowiązaniem symbolicznym, i znajdź plik lub katalog, do którego prowadzi dowiązanie symboliczne.

ls -l /usr/bin/python

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

Pierwszy znak „l” oznacza, że ​​plik jest dowiązaniem symbolicznym. Symbol „->” pokazuje plik, na który wskazuje dowiązanie symboliczne.

Usuń dowiązania symboliczne za pomocą rm

Polecenie rm usuwa podane pliki i katalogi.

Aby usunąć dowiązanie symboliczne, rm polecenie rm a następnie symboliczną nazwę dowiązania jako argument:

rm symlink_name

Po pomyślnym zakończeniu polecenie kończy się na zero i nie wyświetla danych wyjściowych.

Za pomocą rm możesz usunąć więcej niż jeden symboliczny link naraz. Aby to zrobić, podaj nazwy dowiązań symbolicznych jako argumenty oddzielone spacją:

rm symlink1 symlink2

Aby otrzymać monit przed usunięciem dowiązania symbolicznego, użyj opcji -i :

rm -i symlink_name

Aby potwierdzić, wpisz y i naciśnij klawisz Enter .

rm: remove symbolic link 'symlink_name'?

Jeśli dowiązanie symboliczne wskazuje na katalog, nie dołączaj ukośnika / trailing na końcu. W przeciwnym razie pojawi się błąd:

rm symlink_to_dir/

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

Jeśli nazwa argumentu kończy się na / , komenda rm zakłada, że ​​plik jest katalogiem. Błąd występuje, ponieważ w przypadku użycia bez opcji -d lub -r rm nie może usunąć katalogów.

Aby być bezpiecznym, nigdy nie -r opcji -r podczas usuwania dowiązań symbolicznych za pomocą rm . Na przykład, jeśli wpiszesz:

rm -f symlink_to_dir/

Zawartość katalogu docelowego zostanie usunięta.

Usuń unlink symboliczne za pomocą unlink

Polecenie unlink usuwa dany plik. W przeciwieństwie do rm , unlink akceptuje tylko jeden argument.

Aby usunąć dowiązanie symboliczne, uruchom polecenie unlink a następnie nazwę dowiązania symbolicznego jako argument:

unlink symlink_name

Jeśli polecenie zostanie wykonane pomyślnie, nie wyświetli żadnych danych wyjściowych.

Nie dołączaj ukośnika / trailing na końcu nazwy dowiązania symbolicznego, ponieważ unlink nie może usunąć katalogów.

Znajdź i usuń uszkodzone łącza symboliczne

Aby znaleźć wszystkie zepsute dowiązania symboliczne w danym katalogu, uruchom następującą komendę:

find /path/to/directory -xtype l

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

Polecenie wyświetli wszystkie uszkodzone łącza w katalogu i jego podkatalogach.

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

/path/to/directory/symlink1

Po znalezieniu zepsutych dowiązań symbolicznych możesz je ręcznie usunąć za pomocą polecenia rm lub -delete lub użyć opcji -delete polecenia find :

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

Wniosek

Aby usunąć dowiązanie symboliczne, użyj polecenia rm lub unlink a następnie nazwy dowiązania symbolicznego jako argumentu. Podczas usuwania dowiązania symbolicznego prowadzącego do katalogu nie dołączaj ukośnika do nazwy dowiązania symbolicznego.

rm odłączyć znajdź terminal