J'essaie de localiser toutes les copies de example.filename
sur mon serveur FreeBSD. Quel est le meilleur moyen/le plus simple/le plus efficace de faire cela?
find / -name example.filename
locate filename
Beaucoup plus rapide que find
, si Vous exécutez le service de localisation, et il ne trouve que des fichiers existants à l'heure updatedb
Dernier couru (habituellement la nuit avant sous le contrôle d'un travail de cron).
Vous peut Run updatedb
à la main, mais cela est encore plus lent que le find
cloretus suggère et nécessite une racine. Je mettant parfois à jour la base de données à la main après avoir installé une bande de nouvelles choses.
Si vous avez installé (AKA Slalate) installée, alors
locate example.filename
localiser dirige un travail de cron chaque nuit qui réindexe tous les fichiers de votre machine. Ce n'est pas toujours à jour pour cette raison.
Parfois, vous voulez trouver des fichiers à un niveau de répertoire spécifique. Dans ce cas, il peut être pratique d'utiliser des caractères génériques Shell:
ls /data/*/example.filename
De toute évidence, cela ne fonctionne que si vous avez une structure de répertoire rigide.
locate
Comme les autres mentionnés, locate
est le moyen rapide de trouver un fichier. Cette commande utilise un index pré-compilé des noms de fichiers et de dossiers. Cette base de données de noms est recherchée, plutôt que de ramper via votre système de fichiers.
locate example.filename
Être insensible à la casse, ajoutez -i
.
locate -i eXAmPle.FileName
locate
Base de donnéesLa base de données utilisée par locate
doit être à jour. Après avoir effectué une installation ou un téléchargement pouvant contenir votre fichier souhaité, vous devez mettre à jour la base de données locate
.
La base de données locate
sera éventuellement mise à jour automatiquement par votre système FreeBSD. Il existe un ensemble hebdomadaire de tâches ménagères qui inclut cette tâche. Ces tâches sont énumérées dans le /etc/periodic/weekly/310.locate
script.
Le moyen le plus simple le plus sûr de forcer la mise à jour rapide de la base de données locate
est de forcer le jeu de tâches hebdomadaires à effectuer maintenant.
Sudo periodic weekly
Ou, vous pouvez même forcer toutes les tâches régulières à faire. Vous voudrez peut-être le faire immédiatement après la mise en place d'un nouveau système FreeBSD.
Sudo periodic daily weekly monthly
Si vous utilisez d'autres avenues pour mettre à jour la base de données locate
, vous pouvez recevoir un message d'être dangereux, révélant les noms de tous les fichiers de votre système à n'importe quel utilisateur du système FreeBSD. L'utilisation de l'itinéraire periodic
évite ce problème.