Quelle est la différence entre locate
et which
sous Linux?
Pourquoi quand j'utilise locate mentor
énumère-t-il tout le mentor mais quand j'ai utilisé which mentor
Cela dit "aucun mentor dans ..." - Qu'est-ce que cela signifie?
locate
et which
?locate
utilise une base de données précédemment construite pour localiser le fichier.
locate
lit une ou plusieurs bases de données préparées parupdatedb
(8) et écrit les noms de fichiers correspondant au moins l'un des modèles à la sortie standard, une par ligne.
Source localiser (1) - page homme Linux
updatedb
crée ou met à jour une base de données utilisée parlocate
(1). Si la base de données existe déjà, ses données sont réutilisées pour éviter les répertoires reliées qui n'ont pas changé.
updatedb
est généralement exécuté quotidiennement parcron
(8) pour mettre à jour la base de données par défaut (/var/lib/mlocate/mlocate.db
)
Source pdatedB (8) - Page Linux Man
which
recherche un fichier exécutable en la recherchant dans les répertoires de la variable de l'environnement PATH
.
which
prend un ou plusieurs arguments. Pour chacun de ses arguments, il imprimestdout
le chemin complet des exécutables qui auraient été exécutés lorsque cet argument avait été entré à l'invite de Shell. Cela fait cela en recherchant un exécutable ou un script dans les répertoires énumérés dans la variable d'environnementPATH
.
en utilisant le même algorithme que bash
(1).
Source qui (1) - page homme Linux
locate mentor
énumère le mentor, mais which mentor
dit "aucun mentor in ..."Qu'est-ce que cela signifie?
Vous avez des fichiers nommés mentor
qui se trouvent dans la base de données locate
.
Vous n'avez pas de fichier exécutable ou de script nommé mentor
dans votre PATH
.
which
est de localiser une commande (which
renvoie un nom de chemin des fichiers/liens qui seraient exécutés dans l'environnement actuel)
locate
est de trouver des fichiers par nom (locate
lit une ou plusieurs bases de données préparées par updatedb
et écrit des noms de fichiers correspondant au moins l'un des modèles de sortie autonome, une par ligne )