La comanda whereis localitza l’executable, la pàgina de manual i el codi font d’una comanda. No recorre tot el disc: només mira en una llista de directoris estàndard (/usr/bin, /usr/sbin, /usr/share/man…), per això és instantània. Va bé per saber de cop on és un programa i si en tens el manual instal·lat.
Sintaxi
whereis [opcions] nom...
Pots passar-li diversos noms alhora. Forma part de util-linux, de manera que és present a pràcticament totes les distribucions.
Opcions més útils
| Opció | Què fa |
|---|---|
-b | Només busca executables (binaries) |
-m | Només busca pàgines de manual |
-s | Només busca codi font |
-u | Mostra només les comandes «inusuals»: les que no tenen exactament una entrada de cada tipus demanat |
-B dir... -f | Busca els executables només als directoris indicats (-f marca el final de la llista) |
-M dir... -f | El mateix, per a les pàgines de manual |
-l | Mostra la llista de directoris on busca |
Exemples
Executable i manual d’una comanda:
$ whereis ls
ls: /usr/bin/ls /usr/share/man/man1/ls.1.gz
Només l’executable:
$ whereis -b ls
ls: /usr/bin/ls
Només la pàgina de manual:
$ whereis -m ls
ls: /usr/share/man/man1/ls.1.gz
Diverses comandes alhora:
$ whereis bash tar
bash: /usr/bin/bash /usr/share/man/man1/bash.1.gz
tar: /usr/bin/tar /usr/share/man/man1/tar.1.gz
Codi font. Com que les distribucions no instal·len el codi font dels programes, normalment surt buit:
$ whereis -s bash
bash:
Si una comanda no està instal·lada, la línia surt buida:
$ whereis rar
rar:
Veure en quins directoris busca:
$ whereis -l | head -3
bin: /usr/bin
bin: /usr/sbin
bin: /usr/lib/aarch64-linux-gnu
whereis no busca per funció
whereis busca noms, no què fan els programes. whereis editor no et dona una llista d’editors: a Debian i Ubuntu troba /usr/bin/editor perquè existeix un enllaç amb aquest nom que apunta a l’editor per defecte (nano, vim…). Per buscar comandes per la seva descripció, fes servir apropos:
$ apropos editor
ed (1) - line-oriented text editor
nano (1) - Nano's ANOther text editor, inspired by Pico
...
Compte amb…
- No mira el teu
PATH: només coneix una llista fixa de directoris. Un script teu a~/bino un programa a/opt/programa/binnormalment no apareixerà. - No et diu quin s’executarà: si hi ha dues versions d’un programa,
whereisles pot mostrar totes dues, però no sap quina té prioritat. Per a això fes servirwhichotype. - Pot mostrar fitxers que no són el programa: per exemple, directoris de configuració o biblioteques amb el mateix nom (
whereis python3sol mostrar també/usr/lib/python3).
Comandes relacionades
which: quin executable delPATHs’executa.locate: cerca qualsevol fitxer pel nom.find: cerca en temps real amb molts criteris.- Comandes internes de bash:
type,commandi altres.