La commande
whereis est utilisée pour rechercher des fichiers binaires, du code source et des manuels d'aide. Whereis recherche uniquement dans plusieurs répertoires d'installation couramment utilisés et ne recherche pas tous les fichiers sur l'ensemble du système. Bien qu’il s’agisse d’une limitation de Whereis, c’est précisément pour cette raison que la vitesse de recherche de Whereis est très rapide. Il convient également de noter que Whereis ne recherchera pas les commandes intégrées au shell.
Par exemple, nous voulons trouver la commande ls :
whereis ls
Les résultats sont les suivants, où /bin/ls est le chemin de ls, et les deux autres sont les chemins du manuel d'aide.
ls: /bin/ls /usr/share/man/man1/ls.1.gz /usr/share/man/man1p/ls.1p.gz
Si nous copions ls dans le répertoire personnel et dans le répertoire /usr/bin/ls, exécutez à nouveau la commande Whereis :
cp /bin/ls ~ cp /bin/ls /usr/bin/ls whereis ls
Les résultats sont les suivants : Whereis ne recherche pas le répertoire personnel car le répertoire personnel est home. Le répertoire n'est pas un répertoire d'installation couramment utilisé.
ls: /bin/ls /usr/bin/ls /usr/share/man/man1/ls.1.gz /usr/share/man/man1p/ls.1p.gz
Utilisez Whereis pour trouver les commandes intégrées du shell cd :
whereis cd
Les résultats sont les suivants, seul le chemin d'accès au manuel d'aide est affiché. La commande
cd: /usr/share/man/man1/cd.1.gz /usr/share/man/man1p/cd.1p.gz
locate est un outil de recherche basé sur la base de données de fichiers (/var/lib/mlocate/mlocate.db). La base de données de fichiers est un miroir de l'ensemble du système de fichiers. Le mode de recherche de la commande Locate est par défaut une correspondance floue, ce qui signifie que tous les fichiers contenant des noms de fichiers seront trouvés, donc plus de résultats sont généralement renvoyés. Il convient de noter que la base de données de fichiers est généralement mise à jour une fois par jour, de sorte que certains fichiers qui viennent d'être créés ou supprimés peuvent ne pas être trouvés. Nous pouvons exécuter la commande updateb pour mettre à jour manuellement cette base de données. Étant donné que la recherche est basée sur la base de données de fichiers plutôt que sur le système de fichiers, la vitesse d'exécution de la localisation est également assez rapide.
Toujours en utilisant ls comme exemple pour rechercher :
locate ls
Nous obtiendrons beaucoup de résultats contenant ls. Afin de rendre les résultats de sortie plus précis, vous pouvez utiliser la commande -b, qui utilise le mode de correspondance exacte pour rechercher.
locate -b "\ls"
De cette façon, le résultat de sortie contient uniquement le chemin où se trouve la commande ls. La portée de recherche de
/bin/ls
Which commande est la variable d'environnement PATH, et seul le premier résultat est renvoyé par défaut, et la vitesse d'exécution est très rapide. Si nous recherchons un alias, la commande which mappera également le chemin réel correspondant à l'alias avant la recherche.
Par exemple, nous avons défini un alias nommé ll, et la commande de recherche est la suivante :
which ll
Le résultat est le suivant :
alias ll='ls -l --color=auto' /bin/ls
Si nous voulons afficher tous les résultats, ajoutez simplement la commande -a. La commande
which -a your_command
type est utilisée pour afficher le type d'une certaine commande, telle qu'un alias, un mot-clé, une fonction, une commande intégrée, un fichier, etc. Comme la commande Whereis, la commande type recherche uniquement dans la plage de plusieurs répertoires d'installation couramment utilisés.
Afficher le type de commande cd :
type cd cd is a shell builtin
Afficher le type d'un certain fichier binaire :
type sudo sudo is /usr/bin/sudo
Afficher l'alias :
type ls ls is aliased to `ls --color=auto'
Parmi les 5 commandes de recherche, la commande find est la commande la plus puissante et aussi la exécution La commande la plus lente. Différente des quatre autres commandes, la commande find est basée sur la recherche du système de fichiers, recherche nœud de fichier par nœud de fichier. La commande find peut même effectuer des opérations ultérieures sur les résultats de la recherche.
Utilisation de base de la commande find :
find [path] [option] [action]
Dans le répertoire personnel et ses sous-répertoires, recherchez les fichiers nommés aaa :
find ~ -name 'aaa'
Dans l'ensemble du système de fichiers, recherchez les fichiers avec des heures de modification dans les 24 heures :
find / -mtime 0
Sur le web répertoire de nginx et ses sous-répertoires, recherchez les fichiers dont l'utilisateur est nginx :
find /usr/share/nginx/html/ -user nginx
Dans le répertoire courant, recherchez les fichiers avec l'autorisation 744 :
find -perm -0744
Dans le répertoire courant, recherchez les fichiers nommés aaa et affichez ses détails :
find -name 'aaa' -exec ls -l {} \;
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!