come troverei tutte le posizioni dei collegamenti simbolici che puntano a un particolare percorso o file?


2

Ho un file system in cui uno o più collegamenti simbolici esistono in un file. C'è un modo per passare attraverso ogni file e determinare dove sono tutti i link simbolici che puntano ad esso sul file system?

Il sistema operativo è Ubuntu 9.10 Linux


Sistema operativo?
DaveParillo

linux - ubuntu 9.10 per essere esatti
Roy Rico

Risposte:


3

Puoi usare buon vecchio find con il -lname interruttore:

find / -lname '/path/to/linked/file' 2> /dev/null

Per un approccio più complesso, è possibile utilizzare il numero di inode del file (recuperare da ls -i <file> ):

find / -follow -inum 123456 2> /dev/null

questo ha la limitazione che corrisponde solo a un link simbolico con quel nome file esatto (o modello). non prenderebbe un collegamento simbolico a un link simbolico a quel file. (quindi se symB punta a fileA e symC punta a symB, e si esegue questo comando cercando fileA, troverà symB ma non symC.)
quack quixote

Vero, ma sto solo seguendo i criteri che ci ha dato.
John T

basta dire. bella aggiunta comunque. :)
quack quixote
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.