Je cours
ln /a/A /b/B
Je voudrais voir dans le dossier a
où le fichier A est pointé par ls
.
Je cours
ln /a/A /b/B
Je voudrais voir dans le dossier a
où le fichier A est pointé par ls
.
Ce fil de discussion a déjà été largement exploité, mais je pense que je peux encore y contribuer.
Vous pouvez trouver TOUTES des Hardlinks d'un fichier en utilisant cette commande :
sudo find / - inum `ls -i | grep <file-name> | cut -d' ' -f1`
<file-name>
avec le nom de votre fichier.En gros, ce qu'il fait, c'est chercher le nom du fichier ( grep
) dans le répertoire courant( ls
), en séparant l'inum( cut
). Ensuite, il transmet le résultat de l'inum(en utilisant ``) dans la fonction find
pour rechercher tous les fichiers du système de fichiers qui correspondent à l'inum exact.
Note : Cette commande utilise sudo car elle recherche TOUS les fichiers dans le répertoire racine( /
). Il peut être remplacé par le chemin d'accès à n'importe quel répertoire.
Les avantages de cette réponse par rapport à d'autres sont l'utilisation de commandes simples et claires, qui réduiraient aussi @zzr en une seule ligne de code.
J'avais juste besoin d'utiliser quelque chose comme ça...
alias ...='__ () { ls -ai $* | while read _i_ _u_ ; do find ../.. -inum $_i_ -printf "$_u_\t%p" ; echo ; done ; } ; __'
... donne une liste tabulée de tous les noms liés aux inodes que ls découvre avec les arguments donnés, à partir de l'emplacement relatif '../..' dans ce cas. Ce n'est pas totalement infaillible, c'est juste une esquisse qui répondait à mon besoin de trouver les liens durs dans certains répertoires que je démêlais ...
la plupart du temps, il n'y aura que 2 colonnes dans la sortie, le nom de l'entrée de 'ls', puis le chemin relatif de 'find' vers le même inode ... si 'find' trouve d'autres entrées pour le même inode, elles apparaîtront dans la 3ème ou 4ème ou nième colonne de la sortie.
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.