GNU/Linux >> Tutoriels Linux >  >> Linux

Linux :Trouver tous les liens symboliques d'un fichier "original" donné ? (inverser 'readlink')

Utilisation de GNU find , cela trouvera les fichiers liés en dur ou en lien symbolique vers un fichier :

find -L /dir/to/start -samefile /tmp/orig.file

Je n'ai pas vu de commande pour cela et ce n'est pas une tâche facile, car le fichier cible ne contient aucune information sur les fichiers source qui y pointent.

Ceci est similaire aux liens "hard" mais au moins ceux-ci sont toujours sur le même système de fichiers afin que vous puissiez faire un find -inode pour les lister. Les liens symboliques sont plus problématiques car ils peuvent traverser des systèmes de fichiers.

Je pense que ce que vous allez devoir faire est essentiellement d'effectuer un ls -al sur chaque fichier de toute votre hiérarchie et utilisez grep pour rechercher -> /path/to/target/file .

Par exemple, en voici un que j'ai exécuté sur mon système (formaté pour la lisibilité - ces deux dernières lignes sont en fait sur une ligne dans la sortie réelle) :

pax$ find / -exec ls -ald {} ';' 2>/dev/null | grep '\-> /usr/share/applications'
lrwxrwxrwx 1 pax pax 23 2010-06-12 14:56 /home/pax/applications_usr_share
                                         -> /usr/share/applications

Inspiré par le commentaire de Gordon Davisson. Ceci est similaire à une autre réponse, mais j'ai obtenu les résultats souhaités en utilisant exec. J'avais besoin de quelque chose qui puisse trouver des liens symboliques sans savoir où se trouvait le fichier d'origine.

find / -type l -exec ls -al {} \; | grep -i "all_or_part_of_original_name"

Linux
  1. Linux – Comment trouver la date de création du fichier ?

  2. Linux Trouver et supprimer tous les liens symboliques relatifs à un répertoire ?

  3. Trouver tous les fichiers Python dans le système de fichiers Linux ?

  4. Toutes les commandes de compression/décompression Linux

  5. Trouver le fichier puis cd dans ce répertoire sous Linux

Autorisations Linux - Comment trouver les autorisations d'un fichier

Comment inverser les lignes d'un fichier par caractère sous Linux

Comment trouver des fichiers basés sur l'horodatage sous Linux

Comment trouver la ou les lignes les plus longues dans un fichier sous Linux

Comment trouver toutes les polices installées sous Linux

Comment trouver des liens symboliques brisés sous Linux