Metody płatności Abuse

Usuwanie linków w systemie Linux

10.04.2022, 01:05

Link w systemie Linux to specjalny plik, który odnosi się do innego pliku lub katalogu. W ten sposób jeden plik może być umieszczony w kilku miejscach jednocześnie. Gdy oryginalny plik zostanie usunięty, link zostaje zachowany. Może to powodować awarie i ogólnie zapycha system.

Jak usunąć link

Na początek wyjaśnijmy metodę sprawdzania, czy plik jest rzeczywiście linkiem. Można to wygodnie zrobić za pomocą narzędzia ls. Następnie przyjrzyjmy się trzem metodom usuwania, z których każda ma swoje osobliwości.

Weryfikacja, czy jest to link

Z pomocą ls wygodnie jest zobaczyć informacje o pliku. Aby użyć tego narzędzia, należy nadać mu opcję -l i określić ścieżkę. Jako przykład weźmy plik ~/symlinks/link_1:

$ ls -l ~/symlinks/link_1

Usuwanie linków w systemie Linux

Możesz sprawdzić cały katalog pod kątem linków:

$ ls -l ~/symlin

Usuwanie linków w systemie Linux

Plik, który nie jest potrzebny, jest oznaczony charakterystyczną strzałką po jego nazwie.

Używanie polecenia rm

Polecenie rm może być użyte do usunięcia dowolnego pliku w systemie plików Linux, w tym linków. Oznacza to, że nadaje się ono do naszego zadania. Ważne jest, aby wspomnieć tutaj, że oryginalny plik lub katalog nie zostanie naruszony w wyniku usunięcia linku.

W terminalu uruchom polecenie:

$ rm ~/symlinks/link_1

Usuwanie linków w systemie Linux

Ponadto, aby uzyskać szczegółowe informacje o procedurze, dodaj opcję -v do polecenia:

$ rm -v ~/symlinks/link_1

Usuwanie linków w systemie Linux

Dodatkowo możesz sprawdzić, czy link zniknął z katalogu. Aby to zrobić, użyj wcześniej opisanego polecenia ls.

Usuwanie linków w systemie Linux

Teraz już wiesz, jak usunąć dowiązanie symboliczne w systemie Linux.

Używanie UNLINK

Narzędzie unlink jest przeznaczone do usuwania plików z systemu plików Linux. Wymaga jedynie określenia ścieżki do dowiązania:

$ unlink ~/symlinks/link_1

Usuwanie linków w systemie Linux

W zakresie wykonywanego zadania, rm i unlink działają niemal identycznie. Przejdźmy teraz do ostatniej metody.

Korzystanie z Find

Za pomocą polecenia find można wyszukiwać i usuwać linki w danym katalogu. Oznacza to, że nie trzeba dodatkowo używać ls.

Usuwanie linków w systemie Linux

W przeciwieństwie do poprzednich dwóch opcji, ma dość zaawansowane funkcje, na przykład ustawianie kryteriów wyszukiwania. Ale składnia nie jest tak prosta z tego powodu.

Aby wyszukać, musisz określić katalog i kilka parametrów:

$ find ~/symlinks/ -type l -print

Usuwanie linków w systemie Linux

Parametr -type l jest potrzebny do wybrania tylko dowiązań symbolicznych, -print do wypisania pełnej nazwy. Za pomocą parametru -maxdepth można określić głębokość wyszukiwania według zagnieżdżonych katalogów. Jeśli określisz 1, wyszukiwanie będzie wykonywane tylko w samym katalogu, bez załączników:

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

Usuwanie linków w systemie Linux

Gdy w katalogu znajduje się wiele linków, można określić wzorzec wyszukiwania dla polecenia find. Jako przykład weźmy sytuację, w której chcemy znaleźć tylko ukryte linki z datą ostatniej modyfikacji nie więcej niż 30 dni temu:

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

Usuwanie linków w systemie Linux

Dodano dwa kryteria:

  • -name - wyszukiwanie według nazwy.
  • -mtime - według czasu modyfikacji.

Wszystkie znalezione linki mogą zostać usunięte zgodnie z określonym wzorcem. W tym celu -print jest zastąpione przez -delete:

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

Usuwanie linków w systemie Linux

Na koniec instrukcji zajmijmy się wyszukiwaniem i usuwaniem niedziałających linków, które prowadzą donikąd, na przykład po usunięciu oryginalnego pliku lub katalogu. Parametr -xtype l jest odpowiedni do tego celu. -print nie jest wymagany dla wyjścia:

$ find ~/broken_links/ -xtype l

Usuwanie linków w systemie Linux

W rezultacie wszystkie niedziałające linki zostaną wyświetlone w terminalu. Aby je usunąć, należy dodać -delete na końcu polecenia:

$ find ~/broken_links/ -xtype l -delete

Usuwanie linków w systemie Linux

To kończy instrukcje dotyczące usuwania linków w systemie Linux.