V dřívějším článku jsem vysvětlil, co je symbolický odkaz v Linuxu. Symbolické odkazy nebo symbolické odkazy nebo měkké odkazy se používají pro vytváření zástupců jiných souborů v Linuxu. Symbolické odkazy se v Linuxu hojně používají při propojování knihoven.
Po odstranění původního souboru, na který odkaz ukazuje, se odkaz stane visícím odkazem. Ponechat takové odkazy nemusí být dobrý nápad.
Nyní vyvstává otázka, jak najdete nefunkční symbolické odkazy v Linuxu? Některé distribuce zobrazují nefunkční odkazy v různých barvách, ale to není způsob, jak najít všechny takové nefunkční odkazy.
Hledání nefunkčních symbolických odkazů v Linuxu
V tomto tutoriálu vám ukážu několik způsobů, jak v Linuxu najít visící odkazy.
Metoda 1. Pomocí příkazu find vypište všechny nefunkční symbolické odkazy
Úžasný příkaz find lze také použít k nalezení nefunkčních měkkých odkazů. Novější verze tohoto příkazu poskytují vyhrazenou volbu pro tento úkol.
Chcete-li najít všechny visící odkazy v aktuálním adresáři a jeho podadresářích, můžete použít příkaz find takto:
find . -xtype l
Jeho výstup zobrazí seznam všech nefunkčních odkazů:
find . -xtype l
./target_link2
./newdir/new_dir/link_dir
Metoda 2:Použijte příkaz symbolické odkazy k nalezení poškozených symbolických odkazů
Můžete také použít vyhrazený příkaz s názvem symlinks to pro manipulaci s visícími odkazy.
Možná budete muset nainstalovat příkaz symbolické odkazy. Je k dispozici v Debianu. Pokud používáte Ubuntu, budete muset povolit úložiště Universe.
sudo apt install symlinks
Po instalaci jej můžete používat následujícím způsobem:
symlinks [options] path_to_directory
Pokud tedy musíte najít nefunkční odkazy v aktuálním adresáři, můžete to použít takto:
symlinks .
dangling: /home/abhishek/tutorials/target_link2 -> newdir/test_dir/myzip
Všimli jste si něčeho? Uvádí pouze jeden nefunkční odkaz, zatímco příkaz find měl dva nefunkční odkazy. Je to proto, že pokud chcete vyhledávat rekurzivně, budete muset zadat možnost:
symlinks -r directory
To není ono. Můžete se také rozhodnout odstranit všechny nefunkční odkazy pomocí volby -d příkazu symbolické odkazy.
symlinks -d .
dangling: /home/abhishek/tutorials/target_link2 -> newdir/test_dir/myzip
deleted: /home/abhishek/tutorials/target_link2 -> newdir/test_dir/myzip
Ve skutečnosti lze symbolické odkazy použít ke správné správě měkkých odkazů ve vašem systému. Může vás varovat před odkazy napříč systémy souborů, změnit chaotické odkazy na relativní nebo zkrátit dlouhé odkazy.
V Linuxu může být několik způsobů provedení úkolu. Hledání nefunkčních symbolických odkazů je stejné. Ukázal jsem vám dva způsoby, ale určitě existují i jiné. Pokud máte nějaký další oblíbený příkaz pro správu visících odkazů, podělte se o něj s námi v sekci komentářů.
V souvisejícím tématu si možná budete chtít přečíst o konceptu pevných odkazů v Linuxu.