locate et ses variantes ont tendance à être une méthode rapide.
# updatedb # run as root, possibly using sudo, e.g. sudo -b updatedb. If file is on the system for more than a day it should already be in the index and this can be skipped
$ locate -i book1
Si la localisation n'est pas disponible, vous pouvez utiliser à la findplace. Il a tendance à être beaucoup plus lent, mais aussi beaucoup plus précis.
Si vous avez une seule partition: (exécutez en tant que root si votre utilisateur n'a peut-être pas accès au fichier)
$ find / -xdev -iname 'book1*' -print # If the iname extension to find is available
$ find / -xdev -print | grep -F -i /book1 # if iname is not available
Si vous n'incluez pas les -xdev findrecherches sur les autres partitions, comme /procet /sys, qui ont tendance à inonder votre écran d'erreurs, surtout si vous n'êtes pas root. (Les erreurs peuvent être masquées en ajoutant 2> /dev/nullà la fin de la commande find (le commentaire doit être supprimé))
Si vous avez plusieurs partitions et que vous ne savez pas sur laquelle se trouve le fichier, vous pouvez obtenir une liste avec lsblk(sur les systèmes d'exploitation Linux, l'analyse de la dfsortie est une option sinon) et l'introduire dans find: (root à nouveau si vous je ne sais pas si vous pouvez accéder au fichier)
$ find $(lsblk -O MOUNTPOINT -n | grep -F /) -xdev -iname 'book1*' -print # GNU-based OSes
$ find $(df -P|awk '$1 ~ /^\/dev/ {print $NF}') -xdev | grep -F -i book1 # Non-GNU based OSes.
(C'est un peu fragile si l'un de vos points de montage contient des espaces) (les dfparamètres peuvent nécessiter un réglage. -P oblige GNU à dffournir une sortie POSIX standard. D'autres versions peuvent avoir d'autres paramètres ou en avoir besoin. Lisez votre page de manuel)
L' grep -Fexclut les autres choses retournées, comme les partitions de swap.
Dans la version non GNU, awk recherche des périphériques avec un montage commençant par /devpour obtenir de vrais systèmes de fichiers, puis imprime le dernier champ (le point de montage) de la dfsortie.
Cela suppose également un shell de type bourne ( kshet bashdevrait fonctionner. Si vous utilisez une cshvariante, démarrez un shell scriptable avant d'essayer)
Book1et qu'il se trouve dans un répertoire que vous pouvez lire, ilfind / -iname book1le trouvera. Êtes-vous sûr que c'est effectivement le casBook1, et nonBook1.xyz?