J'aimerais éviter tout problème futur avec les alias (fichiers vides créés avec le Finder, à ne pas confondre avec les liens symboliques) que j'aurais peut-être utilisés par le passé et qui pourraient rester dans le système. J'ai découvert beaucoup de problèmes avec ce type de fichier:
- sauvegarder (avec
rsync
) - migrer sur un autre système de fichiers (avec
cp
oursync
) - migrer sur un autre système (avec
rcp
,scp
oursync
)…
Maintenant, je veux soit me débarrasser de tous, soit au moins connaître l’ampleur du risque que j’ai encore avec les autres.
Comment puis-je trouver tous les fichiers de type alias dans un système de fichiers donné en utilisant la ligne de commande (script shell) en utilisant par exemple:
mdfind
find
filesystem
alias
daniel Azuelos
la source
la source
find
.mdfind
comme il est plus approprié d'afficher explicitement des alias oùfind
n'est pas. Tandis quefind
peut utiliser-xattrname
aveccom.apple.FinderInfo
oucom.apple.ResourceFork
, les deux attributs étendus donnés à un alias créé dans le Finder, il existe néanmoins de nombreux autres fichiers ayant ces mêmes attributs étendus, ce qui rend difficile la distinction entre un aliasfind
commander. Je ne dis pas qu'il n'y a pas moyen defind
, mais je n'en connais pas un qui me tombe par la tête.Réponses:
Pour trouver des alias avec
mdfind
, dans un terminal:mdfind kMDItemKind="Alias"
Ceci imprimera une liste d’alias avec le nom de chemin complet.
Remarque: Ce sont des alias créés dans le Finder, pas des liens symboliques créés avec le
ln
commande depuis un terminal ou un script.Utiliser
find
trouver des liens symboliques créés par, par exemple,ln
jettes un coup d'oeil à:man find
Exemple:
find / -type l
Cela va commencer dans le racine du Macintosh HD et parcourez l’ensemble du système de fichiers pour lequel vous êtes autorisé à lire et à afficher tous les liens symboliques créés par, par exemple,
ln
montrant le nom de chemin complet.Pour augmenter l'exemple de commande de base lu
man find
.la source