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 find
place. 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
find
recherches sur les autres partitions, comme /proc
et /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 df
sortie 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 df
paramètres peuvent nécessiter un réglage. -P oblige GNU à df
fournir une sortie POSIX standard. D'autres versions peuvent avoir d'autres paramètres ou en avoir besoin. Lisez votre page de manuel)
L' grep -F
exclut 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 /dev
pour obtenir de vrais systèmes de fichiers, puis imprime le dernier champ (le point de montage) de la df
sortie.
Cela suppose également un shell de type bourne ( ksh
et bash
devrait fonctionner. Si vous utilisez une csh
variante, démarrez un shell scriptable avant d'essayer)
Book1
et qu'il se trouve dans un répertoire que vous pouvez lire, ilfind / -iname book1
le trouvera. Êtes-vous sûr que c'est effectivement le casBook1
, et nonBook1.xyz
?