GNU/Linux >> Znalost Linux >  >> Linux

Existuje způsob, jak zkontrolovat, zda existují symbolické odkazy směřující do adresáře?

Ve skutečnosti neexistuje žádný přímý způsob, jak takové symbolické odkazy zkontrolovat. Zvažte, že možná máte souborový systém, který není neustále připojen (např. externí USB disk), který může obsahovat symbolické odkazy na jiný svazek v systému.

Můžete něco udělat s:

for a in `find / -type l`; do echo "$a -> `readlink $a`"; done | grep destfolder

Podotýkám, že FreeBSD je find nepodporuje -lname možnost, a proto jsem skončil u výše uvedeného.


Použil bych příkaz find.

find . -lname /particular/folder

To bude rekurzivně hledat v aktuálním adresáři symbolické odkazy na /particular/folder . Všimněte si, že najde pouze absolutní symbolické odkazy. Podobný příkaz lze použít k vyhledání všech symbolických odkazů ukazujících na objekty zvané "složka":

find . -lname '*folder'

Odtud byste museli odstranit všechny falešně pozitivní výsledky.


find . -type l -printf '%p -> %l\n'

Symbolické odkazy můžete auditovat pomocí symlinks program napsaný Markem Lordem -- prohledá celý souborový systém, normalizuje cesty symbolických odkazů do absolutní podoby a vytiskne je do standardního formátu.


Linux
  1. Linux Najít a odebrat všechny symbolické odkazy týkající se adresáře?

  2. Existuje způsob, jak zjistit dobu běhu posledního provedeného příkazu v shellu?

  3. Zkontrolujte, zda je adresář prázdný, pomocí C na Linuxu

  1. Pwd bez symbolických odkazů?

  2. Najít vyloučený adresář?

  3. Existuje nějaký způsob, jak zkontrolovat, které přenosové rychlosti jsou podporovány na sériovém zařízení?

  1. Jaký je nejlepší způsob, jak spočítat počet souborů v adresáři?

  2. Existují nějaké nevýhody používání Mount –bind jako náhrady za symbolické odkazy?

  3. Dhcpd:Jak zkontrolovat stav fondu Dhcp?