Pour cela, il faut avoir un accès SSH.
1 - Vous connaissez le nom du fichier mais vous n'avez pas la moindre idée où il se trouve. Commencez par aller sur le répertoire root avec la commande :
cd /
Tappez enter, vous y êtes. Maitenant supposons que vous cherchez le fichier httpd.conf alors :
find . -name 'httpd.conf' -print
Le . signifie "commecez la recherche ici"
Le -name signifique qu'on recherche un fichier par son nom
le -print signifie que UNIX doit afficher les résultats de la recherche. Autrement, UNIX va trouver le fichier et ne pas le montrer

2 - Vous ne connaissez pas le nom du fichier, mais vous savez qu'il contient le mot bonjour et que c'est un fichier php. Alors dans ce cas :
Allsez toujours sur le répertoire root avec cd / et puis :
find . -name '*.php' -exec egrep 'bonjour' {} /dev/null \;
Sacrée commande, vous ne trouvez pas ?
Elle prend du temps par contre. Si vous avez une idée plus précise du répertoire où le fichier peut se trouver, allez dans le répertoire et lancez la commande. De toute façon, les deux commandes ci dessus commence la recherche dans le répertoire courrant et fouillent tous ces sous-répertoires.
Remarque :
--------------
Si votre serveur est utilisé en production et vous ne voulez pas le ralentir par des commandes trop lourdes, faites :
nice et suivez-le de votre commande. Exemple
nice find . -name '*.php' -exec egrep 'bonjour' {} /dev/null \;
Ceci fera que la commande sera exécutée de façon peu prioritaire et elle ne prendra que les ressources non utilisées pour s'exécuter. Attention, le temps sera forcément plus long.