web-dev-qa-db-fra.com

Comment trouver et lister tous les liens symboliques créés pour un fichier particulier?

J'avais créé de nombreux liens symboliques sur différents chemins pour un fichier ou un répertoire particulier. Je veux la liste complète des chemins de liens symboliques créés (emplacement).

Exemple:

J'ai créé des liens symboliques pour le répertoire ~/Pictures sur de nombreux répertoires. Comment lister tous les liens symboliques vers ce répertoire ~/Pictures?

Est-ce possible? Si oui, alors comment?

52
Avinash Raj

Voici un exemple:

find -L /dir/to/start -xtype l -samefile ~/Pictures

ou peut-être mieux:

find -L /dir/to/start -xtype l -samefile ~/Pictures 2>/dev/null

pour se débarrasser de certaines erreurs telles que Permission denied, Too many levels of symbolic links ou File system loop detected qui find les lève lorsqu'elles ne disposent pas des autorisations appropriées ou d'autres situations.

  • -L - Suivez les liens symboliques.

  • -xtype l - Le fichier est un lien symbolique

  • -samefile name - File fait référence au même inode que name. Lorsque -L est en vigueur, cela peut inclure des liens symboliques.

Notes:

  • Utilisez L minuscule dans -xtype l, pas le chiffre 1.
  • Sur macOS/Darwin, -xtype est -type.
41
Radu Rădeanu

Très simple, utilisez l'option -lname:

find / -lname /path/to/original/dir

De man find:

-lname pattern
       File is a symbolic link whose contents match Shell pattern pattern.  The
       metacharacters do not treat `/' or `.' specially.  If the -L option or the
       -follow option is in effect, this test returns false unless the symbolic link
       is broken.

Remarque: N'oubliez pas que les liens symboliques peuvent se trouver n'importe où, ce qui inclut un système distant (si vous partagez des fichiers), de sorte que vous ne pourrez peut-être pas tous les localiser.

7
Abdennour TOUMI

Essaye ça :

ls -i ~/

277566 Pictures

find . -follow -inum 277566 (recherche de répertoires avec le même numéro inode)

Il affichera tous les chemins de ses liens symboliques.

2
nux
0
B.Kocis