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 l' ~/Pictures
annuaire sur plusieurs annuaires. Comment lister tous les liens symboliques vers ce ~/Pictures
répertoire?
Est-ce possible? Si oui, alors comment?
command-line
symbolic-link
Avinash Raj
la source
la source
Réponses:
Voici un exemple:
ou peut-être mieux:
pour se débarrasser de certaines erreurs telles que
Permission denied
,Too many levels of symbolic links
ouFile system loop detected
qui lesfind
jette alors qu’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
- Fichier se réfère au même inode quename
. Quand-L
est en vigueur, cela peut inclure des liens symboliques.Remarques:
-xtype l
, pas le chiffre 1.-xtype
is-type
.la source
Très simple, option d'utilisation
-lname
:De
man find
:Remarque : rappelez-vous 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.
la source
../dir
il ne trouvera pas l'absolu,/path/to/original/dir
vous pouvez utiliser un modèle et éliminer les faux positifs-lname \*dir
Essaye ça :
find . -follow -inum 277566
(trouver des répertoires avec le même numéro d' inode )Il affichera tous les chemins de ses liens symboliques.
la source
J'aime ce one-liner le plus:
find . -maxdepth 1 -type l -exec readlink -f '{}' \;
réfs:
https://unix.stackexchange.com/questions/22128/how-to-get-full-path-of-original-file-of-a-soft-symbolic-link
https://unix.stackexchange.com/questions/21984/list-symlinks-in-current-directory
la source