55 votes

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 souhaite obtenir la liste complète des chemins des liens symboliques créés (emplacement).

Exemple :

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

Est-ce possible ? Si oui, comment ?

47voto

Radu Rădeanu Points 156862

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 comme Permission denied , Too many levels of symbolic links ou File system loop detected dont find les jette quand il n'a pas les bonnes autorisations ou dans d'autres situations.

  • -L - Suivez les liens symboliques.

  • -xtype l - Le fichier est un lien symbolique

  • -samefile name - Le fichier fait référence au même inode que name . Quand -L est en vigueur, cela peut inclure les liens symboliques.

Notes :

  • Utilisez le L minuscule dans -xtype l et non le chiffre 1.
  • Sur macOS / Darwin, -xtype es -type .

8voto

Budda Points 5575

Très simple, option d'utilisation -lname :

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

En 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.

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

2voto

nux Points 34943

Essayez ceci :

ls -i ~/

277566 Pictures

find . -follow -inum 277566 (trouver des répertoires avec le même inode nombre )

Il affichera tous ses chemins de liens symboliques .

0voto

B.Kocis Points 101

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X